Synthetic Form 940-B - Request for Verification of Credit Information Shown on Form 940 Data
Synthetic training data — no real PII, fully coherent identities
Generate synthetic Form 940-B credit verification requests — the IRS-to-state-agency letter that asks a state unemployment office to confirm the FUTA credit an employer claimed on Form 940. Correspondence-style layout with per-state experience-rate periods and a three-bucket contribution payment timeline.
52
Fields per document
2
Pages
Tax
Category
What this document is
Form 940-B, Request for Verification of Credit Information Shown on Form 940, is the letter the IRS sends to a state unemployment insurance agency when it needs that agency to confirm what an employer actually paid into the state fund. Unlike a return, it is a correspondence document: an identified employer, a calendar year under review, one or more state experience-rate periods with their assigned rates, and a breakdown of contributions by payment date. The state agency completes and returns it.
Why generate synthetically
Almost every public form dataset is a return. Correspondence documents — verification requests, notices, agency-to-agency letters — are a distinct visual and structural class that return-trained extractors handle badly, and they are almost never available as labeled training data because each one names a real employer. Synthetic Form 940-B gives you that class in volume, with ground truth, and with no employer identity to redact.
What makes synthetic data useful
Each synthetic 940-B is anchored to a coherent employer from the same simulated world that produces its Form 940 and Form 941 filings, so the taxable payroll on the verification request is consistent with the payroll on the return the IRS is questioning. State experience rates, rate-effective periods, and the contribution amounts derived from them are sampled together rather than independently, so the arithmetic a reviewer would actually check holds up.
Training challenges
The hard part of this form is not density — it is that the same five labels repeat down the page for each state period, so a model that relies on nearest-label association will happily attach the second period's experience rate to the first period's taxable payroll. Experience rates render as small decimal percentages (a median of 0.37) sitting directly beside five- and six-figure payroll amounts, which is a classic decimal-point and column-confusion failure. The contribution timeline splits a single conceptual amount across three date-bounded buckets — paid before Feb 1, paid Feb 1 through Feb 10, paid after Feb 10 — whose labels are long prose fragments rather than short captions, so the label-to-value link spans a wide horizontal gap.
Generate synthetic Form 940-B - Request for Verification of Credit Information Shown on Form 940 data
Start with 500 free credits. No credit card required.
Generate NowWho uses this data
State unemployment insurance agencies and the imaging vendors who process their inbound IRS correspondence, payroll tax service bureaus and PEOs that answer these verification requests on behalf of client employers, and employment-tax audit teams building extraction over historical FUTA credit disputes. It is also the cheapest way for a general IDP vendor to add a non-return correspondence class to a tax-document classifier that currently only knows returns.
Document complexity profile
52 fields across 2 pages: 32 text, 12 currency amounts, 4 date fields, and 4 numeric fields. 52 annotation relations, one per field, because every value on this form has exactly one printed label governing it. There are no conditional, arithmetic, or function-call bindings in the definition at all — the rarest binding profile in our catalog — because the values arrive already reconciled from the employer's payroll history rather than being computed at fill time. The difficulty is purely positional.
Key stats from our synthetic corpus
Quantitative characteristics of the Form 940-B - Request for Verification of Credit Information Shown on Form 940 documents our generator produces.
| Metric | Value | Detail |
|---|---|---|
| Median taxable payroll under review | $52,688.94 | Across 641 eligible synthetic identities, the median taxable payroll reported on the first state block is $52,688.94, with a p25–p75 range of $17,410.62 to $141,224.68 and a long tail reaching $8.76M. Small employers dominate, which is what a state agency's actual inbound queue looks like. |
| Median state experience rate | 0.37% | The median assigned experience rate is 0.37, ranging from 0.04 to 3.11. These sub-1 decimals sit inline with five-figure currency amounts, and getting a model to read 0.37 as a rate rather than a truncated dollar figure is the single most common extraction error on this form. |
| Median contributions paid to the state | $198.53 | Median total contributions paid to the state fund for the first block is $198.53 (p25 $60.34, p75 $638.46). The three payment-timing buckets break down to medians of $27.47 before February 1, $10.47 between February 1 and 10, and $148.94 after February 10 — a deliberately uneven split that mirrors how employers actually pay. |
| Calendar years under review | 2010–2024 | The calendar year being verified spreads roughly evenly across 2010 through 2024 at 6–8% per year. Verification requests routinely reach back years, so a corpus pinned to a single year would not train the year field usefully. |
| Population coverage | 64% | 641 of 1,000 simulated identities are employed with an employer and therefore eligible to appear on a Form 940-B, so a 1,000-identity generation run yields roughly 640 documents unless you request a payroll-weighted population. |
How this document co-occurs with others
Rates at which identities in our corpus that produce a Form 940-B - Request for Verification of Credit Information Shown on Form 940 also produce other documents.
| Correlation | Rate | Detail |
|---|---|---|
| The return being verified | 100% | Every employer eligible for a synthetic 940-B also files a synthetic Form 940. Generating both gives you the verification request and the return whose credit claim it questions, with consistent payroll figures across the pair. |
| Quarterly payroll filings | 100% | The same employers file quarterly Form 941s. Four quarters of 941 wages should reconcile against the annual payroll shown on the 940-B, which makes the trio a realistic multi-document reconciliation task. |
| Aggregate-filer allocation | 100% | Aggregate FUTA filers allocate the same wages across client EINs on Schedule R. Pairing the two shows a model the same underlying payroll in a correspondence layout and in a dense allocation grid. |
All stats above are corpus-derived: they were computed on a local synthetic corpus of 1,000 generated identities produced by SymageDocs' World Simulation Engine. No real employer payroll or state agency data was used. `make corpus-stats` regenerates the shipped corpus_stats.json for the site's analytics form set, which does not include this edition; reproduce these figures with `python -m symagedocs.corpus_analysis --corpus-size 1000 --form-id irs_f940b_standard_2024`.
Frequently asked questions
- What data format do synthetic Form 940-B documents include?
- Each generated identity produces a rendered PDF plus a structured JSON annotation file with bounding boxes, field types, and ground-truth values for all 52 fields across both pages. COCO, YOLO, FUNSD, and BIO/NER exports come from the same job.
- What fields does Form 940-B actually contain?
- Employer name and address, EIN, the calendar year under review, and the date of the request, followed by repeating per-state blocks. Each block carries the state where services were performed, the experience-rate period (from and to years), the assigned experience rate, taxable payroll, state taxable wages, total contributions paid to the state, and the three date-bucketed payment amounts. Two free-text remarks areas are present on the form and render blank in the default corpus, matching how the document arrives before an agency fills it in.
- How does labeling work for the repeating state blocks?
- Every field is annotated individually with its own bounding box and a field id that carries the block index — taxable_payroll_0 and taxable_payroll_1 are distinct labels, not one merged region. That means you can train row-aware extraction and evaluate whether a model kept period 1 and period 2 separate, which a flat key-value schema cannot measure.
- Can I use this data commercially?
- Yes. Every document is generated from statistical models, contains no real employer or agency data, and is licensed for commercial use including model training, benchmarking, and redistribution inside your own products.
- Does it pair with Form 940?
- Yes, and that is the point of generating it. Request the 940 and the 940-B for the same identity set and you get a verification request whose payroll figures correspond to the return that triggered it — the cross-document consistency check that a real reviewer performs.