Mixed 1099 extraction: preserve the form type and box meaning

Every 1099 variant shares a common layout — payer on the left, recipient below, and numbered boxes on the right. Here is how to read it.

What a 1099 looks like

1099 — sample layoutannotated
Form type (NEC, MISC, INT, DIV, R, K…)
The suffix tells you what kind of income it reports. Always identify the variant first — the boxes differ.
Payer name, address & TIN
Who paid you and their taxpayer ID. This is the business, bank, or platform issuing the form.
Recipient name & TIN
You (or your business) and your SSN or EIN.
Box amounts
The income figures — the box number and label depend on the variant (for example, 1099-NEC nonemployee compensation is Box 1 on 2020-2025 forms and Box 1a on the 2026 form).
Federal & state tax withheld
Any backup or voluntary withholding already sent to the IRS or state.
Tax year & account number
The year the income applies to and an optional account identifier from the payer.

Illustrative layout for education. A real 1099 may vary by issuer.

Evaluate this workflow

For bookkeeping teams handling several 1099 variants

Group returned amounts by form type and year before mapping them to your ledger.

Check before you accept a record

  • Confirm form_type and tax_year before reading a box number.
  • Keep the returned box label and value together.
  • Compare corrected copies and originals before choosing a record.

An exception to hold for review

Box 1 does not mean the same thing on every 1099 variant. Hold an amount if the form type is unknown.

Run a small evaluation

  1. Identify the form variant and year.
  2. Inspect box labels, values, payer, and recipient.
  3. Map reviewed fields using a form-specific rule.

Record the number of files submitted, failed files, required-field corrections, and minutes spent reviewing each file. Those observations tell you whether this workflow fits your documents; a sample response does not measure extraction accuracy.

Example reviewed September 16, 2026 against the configured field names. Fictional values, partial field set, and a suggested human workflow; not a recorded extraction or a promise of automatic approval.

A measured synthetic extraction

On September 16, 2026 Pacific time, we sent one labeled text PDF for this document type to our production extraction service. It returned HTTP 200 in 6.83 seconds, including network time. This was a backend request, not a test of signup, payment or the complete upload interface.

1 selected field comparison differed after the production field mapping. Successful delivery does not establish extraction accuracy.

Inspect the field differences
[
  {
    "path": "tax_year",
    "expected": 2025,
    "actual": "2025",
    "actualMissing": false
  }
]

Expected values were fixed before the run. Comparison uses exact values and types, checks the expected object fields and requires exact array lengths. A numeric string differs from a number; missing and null values differ. These easy, clearly labeled synthetic pages do not represent scanned documents, complex official forms or customer accuracy. One observation cannot establish typical latency.

Field contract correction

We replayed the same recorded response after correcting field aliases, declared tax-number types and bank last-four handling. This is an offline replay, not another extraction request. 0 selected field comparisons still differ from the original expected sample. The original benchmark stays available; unsupported distinctions and source wording are not invented to make the comparison pass.

Inspect the corrected mapping results

Download the 15-page synthetic input packetDownload expected and returned fields

Illustrative structured output

These synthetic values explain the field layout; they are not a measured extraction result or an accuracy benchmark. Actual coverage depends on your document.

{
  "form_type": "1099-INT",
  "tax_year": 2025,
  "payer_name": "Example Bank (fictional)",
  "recipient_name": "Sample Recipient",
  "recipient_tin_last4": "0000",
  "box_amounts": {
    "1": {
      "label": "Interest income",
      "value": 125
    }
  },
  "state_info": []
}

Try the interactive sample without signupReview CSV, Excel, and JSON exportsSee the extraction API

Extract from your own 1099 — 3 free, no credit card

Want the 1099 extraction guide?

Get a free step-by-step guide to extracting and reviewing data from 1099s — plus tips for recurring workflows.

Free. No credit card. Unsubscribe anytime.

FAQ

What does a 1099 look like?

Every 1099 variant shares a common layout — payer on the left, recipient below, and numbered boxes on the right. Here is how to read it. The annotated example above shows each region and what it contains.

Can I use this 1099 sample as a template?

Use it to understand the layout and fields. When you need the actual data off a real 1099, upload it and get structured JSON/CSV back — no manual typing.

What are the most common types of 1099?

1099-NEC (contractor pay), 1099-MISC (miscellaneous), 1099-INT (interest), 1099-DIV (dividends), 1099-R (retirement), and 1099-K (payment apps/cards).

When are 1099s due?

Most 1099s must reach recipients by January 31. Filing deadlines to the IRS vary slightly by form and filing method.

This page shows an illustrative 1099 example for educational purposes and is not tax, legal, or financial advice.