Synthetic SBA Form 2202 Schedule of Liabilities Data
Synthetic training data — no real PII, fully coherent identities
Generate synthetic SBA Form 2202 Schedules of Liabilities — a twelve-row debt table whose occupancy decays from every row filled to one document in eight. Variable-length table extraction with ground truth, for SBA and disaster-loan underwriting.
99
Fields per document
1
Page
Financial
Category
What this document is
SBA Form 2202 is the Schedule of Liabilities: a single ruled page on which an applicant lists every outstanding debt of the business — creditor, original amount, original date, current balance, payment status, maturity date, monthly payment and how the debt is secured. It accompanies 7(a), 504 and disaster loan applications, and it is the document that determines the debt-service coverage every underwriting decision turns on.
Why generate synthetically
This is a table, and tables are where document AI is weakest. The row count is not fixed: an applicant with four debts leaves eight rows empty, an applicant with twelve fills the page. Real-world corpora of this form are tiny and skewed toward whatever the collecting lender's borrowers happened to owe, so a model trained on them learns one occupancy pattern and mis-detects the rest. Generating the schedule lets you specify the occupancy distribution instead of inheriting it, and lets you do it without exposing a real business's creditor list.
What makes synthetic data useful
Every generated schedule is one simulated business's real debt position, with each row internally coherent: the current balance is consistent with the original amount and the elapsed time since origination, the payment amount is consistent with the balance, and the collateral description matches the kind of debt. Row occupancy decays realistically rather than uniformly — the first five rows are populated on every document, the sixth on 89%, and occupancy falls away to 12.5% by row twelve. Creditors are drawn from a realistic distribution of national and regional bank names rather than a single placeholder.
Training challenges
Three things make this page harder than it looks. Row occupancy varies per document, so a detector must find the last populated row rather than assume a fixed table height, and the empty ruled rows below it are an active false-positive trap. Every field on the page is typed as free text, including the amounts and the dates — there is no type hint to fall back on, so an extractor has to infer that a cell is currency from its content and its column, exactly as a human does. And the columns are semantically similar: original amount, current balance and payment amount are three currency-shaped values in adjacent columns, which is the single most common column-swap error in table extraction.
Generate synthetic SBA Form 2202 Schedule of Liabilities data
Start with 500 free credits. No credit card required.
Generate NowWho uses this data
SBA lenders and disaster-loan processors automating credit file intake, fintech small-business underwriting platforms computing debt-service coverage from uploaded schedules, loan-origination-system vendors, and document-AI teams benchmarking table-structure recognition on a real business form rather than on a synthetic grid.
Document complexity profile
99 fields on a single page, structured as a twelve-row by eight-column liability table plus three header and footer fields, with one label-to-value relation per field. Every field is typed as free text, so column semantics must be inferred rather than read off the schema. 13 arithmetic bindings and 37 function calls derive balances and payments from origination terms, at maximum expression depth 1.
Key stats from our synthetic corpus
Quantitative characteristics of the SBA Form 2202 Schedule of Liabilities documents our generator produces.
| Metric | Value | Detail |
|---|---|---|
| Row occupancy at row twelve | 12.5% | Occupancy decays monotonically: 100% for rows one through five, 89.4% at row six, 76.6% at seven, 64.1% at eight, 50.2% at nine, 36.7% at ten, 24.2% at eleven and 12.5% at twelve. A table detector that assumes a fixed row count is wrong on most documents in either direction. |
| Fields typed as free text | 100% | Every cell on the page — amounts, dates, creditor names and collateral descriptions alike — is a text field. The absence of type hints is deliberate: it matches what a scanned schedule gives an extractor and forces column semantics to be learned from content and position. |
| Liabilities marked Current | 100% | Every debt on every schedule carries a Current status. This is a stated limitation of the corpus rather than a modelling claim: it supplies no delinquent or past-due examples, so adverse-status classification cannot be trained from it. |
| Collateral type spread | 9 kinds | How-secured values spread across nine categories, led by business assets, vehicles and equipment at roughly 15 to 19% each, down through real estate, inventory, accounts receivable, personal guarantee and unsecured. Nine-way categorical classification in a narrow table column is a materially harder target than a binary checkbox. |
| Signer titles | 7 kinds | The signer title spreads near-evenly across Owner, Principal, Partner, CEO, President, Director and Managing Member at 12 to 15% each. Flat categorical distributions are the ones a model is most likely to collapse to the modal value, so they are worth scoring separately. |
How this document co-occurs with others
Rates at which identities in our corpus that produce a SBA Form 2202 Schedule of Liabilities also produce other documents.
| Correlation | Rate | Detail |
|---|---|---|
| Personal Financial Statement in the same file | 100% | Every applicant who files a 2202 also files SBA Form 413. The personal statement restates several of the same debts in a different layout, which makes the pair the canonical cross-document reconciliation test inside one loan application. |
| Corporate return backing the schedule | 100% | The businesses behind these schedules file corporate returns. Tying a liability schedule to the balance sheet on the return is how an underwriter validates that the applicant disclosed everything. |
| Receivables from the same business | 100% | The same simulated businesses issue invoices. A schedule of liabilities on one side and an accounts-receivable trail on the other is the minimum document set for automated working-capital analysis. |
| Owner's wage income | 100% | Every applicant in the eligible population also has a wage statement. Global debt service against documented personal income is the ratio that decides the application. |
Row occupancy and category distributions above are corpus-derived: they were computed over the 641 employment-eligible identities inside a local synthetic corpus of 1,000 identities generated by SymageDocs' World Simulation Engine at seed 20260421 — the shipped definition gates this form on employment, so the remaining identities generate no schedule. Field, type and relation counts and the all-text field typing come from the shipped SBA Form 2202 definition in the SymageDocs form library. No real applicant, business, or credit data was used at any stage.
Frequently asked questions
- What data format do synthetic SBA 2202 documents include?
- Each generated identity produces a rendered single-page PDF plus a structured JSON annotation file with bounding boxes, field types, and ground-truth values for all 99 fields — twelve debt rows of eight columns each plus the applicant name, schedule date and signer title — with one label-to-value relation per field. Row and column membership is recorded, so table-structure recognition can be scored rather than only cell extraction. COCO, YOLO, FUNSD, and BIO/NER exports come from the same job.
- How many rows are populated on a typical schedule?
- Between five and twelve, with a decaying distribution. Rows one through five are populated on every document, row six on 89.4%, row eight on 64.1%, row ten on 36.7% and row twelve on 12.5%. That curve is the reason the corpus is useful: it exercises the variable-length case across its whole range instead of clustering at one row count.
- Why is every field typed as text rather than currency?
- Because that is how the shipped definition models the page, and because it is the harder and more realistic setting. On a scanned schedule nothing tells an extractor that column four is currency except the content and the column header. Training against typed fields lets a model lean on a hint that a real scan does not provide.
- Do any of the debts show as delinquent?
- No. Every liability on every generated schedule carries a status of Current. If your use case is delinquency detection or adverse-status classification, this corpus supplies only the negative class, and you should treat that as a known limitation rather than assume coverage.
- Can I use this data commercially?
- Yes. Every business name, creditor, balance and date is synthetic, contains no real personal, business or credit data, and is licensed for commercial use including model training, benchmarking, and redistribution inside your own products.