DocuClipper logo
Bank Statements

Converting Forms (W-2, 1099, Paystubs, Tax Forms)

Extract structured data from W-2s, 1099s, paystubs, and other US tax forms. Supported form types, the fields DocuClipper extracts per form, accuracy expectations, and common gotchas.

Last updated

DocuClipper extracts data from US tax and payroll forms (W-2s, 1099s, paystubs, and 1040-family returns) into structured rows you can review, edit, and export to Excel, CSV, or QuickBooks. This article covers exactly which forms are recognized, which fields come back per form, and what to expect on edge cases like scans and handwritten amounts.

Where to start a Forms job

  • Sidebar: click Add Documents, then Forms (W-2, 1099, Paystubs, Tax Forms) to open the upload page.
  • Inside a project: open the Forms tab of any project. If there are no forms yet, click Add Forms.
  • Direct link: /extract/form opens the upload page directly.

Step 1: Upload

  1. Drag and drop the PDFs onto the Upload Forms page, or click to pick files. You can batch-upload multiple forms in one job.
  2. Optionally set a Job name and Tags.
  3. If the PDF has extra pages (cover sheets, transmittal forms, etc.), use the built-in viewer to exclude or rotate them.
  4. Click Convert.

Step 2: Review and edit

Each recognized form becomes one row of extracted data.

  • Use the Documents dropdown to switch between uploaded PDFs.
  • When one PDF holds several forms, pick one in the Select Form dropdown. Every form in the PDF is listed there, so an IRS Wage and Income Transcript with hundreds of returns can be reviewed return by return.
  • Click into any cell to edit the extracted value. Changes save automatically.
  • The left panel shows the source PDF; the right shows the extracted fields. Click a field to highlight where DocuClipper pulled it from.
  • Add more forms to the same job by clicking Add Forms and repeating Step 1.
  • To come back to a Forms job later, open Converted Files and click View results on its row, or open the project's Forms tab if you converted it inside a project.

The Forms review screen with the source W-2 PDF on the left and the extracted field and value rows on the right

Step 3: Download

  1. Select which forms to include (all by default).
  2. Pick an Output format: Excel, CSV, or QBO.
  3. Click Download.

How the spreadsheet is laid out

For recognized tax forms (W-2, W-2c, W-2G, 1099-MISC, 1099-NEC, 1099-INT, 1099-DIV, 1099-R, and SSA-1099), the export is laid out like the form itself:

  • One row per form, one column per IRS box, in box order. The same box always lands in the same column, however the payer printed its label. So a 1099-MISC from one issuer and a 1099-MISC from another line up and can be summed.
  • Money boxes are real numbers, not text, so Excel can total a column directly.
  • One sheet per form type in Excel. A job holding both W-2s and 1099-NECs gets a W-2 sheet and a 1099-NEC sheet. In CSV the sections are stacked one after another.
  • Nothing is dropped. Anything DocuClipper read that does not belong to a known box goes to a separate Unmapped fields sheet, one row per field, so the form sheets stay a fixed width.
  • Tax year is left blank when the form does not print it. DocuClipper does not guess it from the IRS revision stamp, such as "(Rev. 4-2025)", because that is not the tax year.

Other documents processed as forms keep the simple layout: one row per document and one column per field DocuClipper found.

For format-specific details see Supported output formats.

Which forms are supported

DocuClipper classifies an upload by reading the IRS OMB control number and the form's title line off the page. Both signals come from the actual print, so DocuClipper recognizes the form regardless of the year, payer, or payroll-software variant, as long as those two markers are visible.

The classifier currently recognizes these US forms:

Wage and information returns

  • W-2 (Wage and Tax Statement, OMB 1545-0008)
  • W-2c (Corrected Wage and Tax Statement). Recognized by its title and its "Previously reported" / "Correct information" columns.
  • W-2G (Certain Gambling Winnings), on paper or listed on an IRS Wage and Income Transcript
  • 1099-NEC (Nonemployee Compensation)
  • 1099-MISC (Miscellaneous Information)
  • 1099-DIV (Dividends and Distributions)
  • 1099-INT (Interest Income)
  • 1099-B (Proceeds From Broker and Barter Exchange Transactions). A broker's consolidated 1099 is read lot by lot instead; see Consolidated 1099s from a broker.
  • 1099-G (Certain Government Payments)
  • 1099-R (Distributions From Pensions, Annuities, Retirement Plans)
  • 1099-Q (Payments From Qualified Education Programs)
  • 1099-SA (Distributions From an HSA, Archer MSA, or Medicare Advantage MSA)
  • 1099-K (Payment Card and Third Party Network Transactions)
  • 1099-C (Cancellation of Debt)
  • 1099-S (Proceeds From Real Estate Transactions)
  • 1099-DA (Digital Asset Proceeds From Broker Transactions)
  • 1098 (Mortgage Interest Statement)
  • 1098-E (Student Loan Interest Statement)
  • 1098-T (Tuition Statement)
  • 1095-C (Employer-Provided Health Insurance Offer and Coverage)
  • 5498 (IRA Contribution Information)
  • SSA-1099 (Social Security Benefit Statement). The SSA prints no OMB number on it, so DocuClipper recognizes it by its "Social Security Benefit Statement" heading. Each statement becomes its own row, so two statements in one PDF (a couple's, for example) stay separate.

Income tax returns

  • 1040 (US Individual Income Tax Return)
  • 1041 (Income Tax Return for Estates and Trusts)
  • 1065 (Return of Partnership Income)
  • 1120 (US Corporation Income Tax Return)
  • 1120-S (Income Tax Return for an S Corporation)
  • Schedule K-1 (Form 1065)
  • Schedule K-1 (Form 1120-S)
  • Form 4562 (Depreciation and Amortization) and Form 8995 / 8995-A (Qualified Business Income Deduction), the return attachments that print their own OMB number and so become rows of their own

Paystubs

Paystubs do not have an OMB number or a single canonical layout, so DocuClipper handles them through the generic key-value extractor rather than a dedicated classifier. In practice that works well for paystubs from major payroll providers (Gusto, ADP, Paychex, Workday, QuickBooks Payroll) because their layouts label fields cleanly: gross pay, net pay, federal withholding, state withholding, Social Security, Medicare, year-to-date totals. Boutique or hand-built paystubs may need manual review of the extracted row.

To check a paystub for tampering, open Fraud Detection on the project's Forms tab: it scores each paystub for PDF edits and unusual producing software, and checks that the extracted gross, deductions, net, year-to-date and withholding figures agree with each other. See Invoice and Pay Stub Fraud Detection.

If your form is not in the list above (a state-level form, a country-specific form, or a niche tax document), use the custom-extraction flow to draw your own fields and save a reusable template.

Fields extracted per form

For the high-volume forms, DocuClipper has a canonical field list and validates that each one came back populated. Below is the per-form field set; numbered references match the box numbers as printed on the IRS form.

W-2 (Wage and Tax Statement)

  • Employer EIN (Box b)
  • Employer name and address (Box c)
  • Employee SSN (Box a)
  • Employee name and address (Box e)
  • Wages, tips, other compensation (Box 1)
  • Federal income tax withheld (Box 2)
  • Social Security wages (Box 3)
  • Social Security tax withheld (Box 4)
  • Medicare wages and tips (Box 5)
  • Medicare tax withheld (Box 6)
  • State wages, tips, etc. (Box 16)
  • State income tax (Box 17)

State boxes 16 and 17 are correctly left empty for W-2s from no-wage-tax states (FL, TX, NV, WA, SD, WY, AK, NH, TN). Empty in those cases is not an extraction miss. That includes a W-2 with no state in Box 15 whose employee lives in one of those states, such as a federal employee paid through an out-of-state payroll office.

W-2c (Corrected Wage and Tax Statement)

A W-2c prints every box twice: once under Previously reported and once under Correct information. DocuClipper keeps both readings, so the export has two columns per box, for example Box 1 Wages, tips, other compensation - previously reported and Box 1 Wages, tips, other compensation - correct. The state and local boxes (15 to 20) come back per state or locality line, as (line 1) and (line 2).

  • Employer name and address (Box a), Employer EIN (Box b), Tax year / Form corrected (Box c)
  • Employee's correct SSN (Box d), previously reported SSN and name (Boxes f and g), name and address (Boxes h and i)
  • Boxes 1 to 20, previously reported and correct

Employers fill in only the boxes they are correcting, so most box pairs on a W-2c are empty. Empty is expected there.

W-2G (Certain Gambling Winnings)

  • Payer name and address, Payer's federal identification number
  • Winner name and address, Winner's TIN (Box 9)
  • Reportable winnings (Box 1), Date won (Box 2), Type of wager (Box 3)
  • Federal income tax withheld (Box 4)
  • State and local winnings and withholding (Boxes 13 to 18), when printed

On an IRS Wage and Income Transcript each W-2G is its own row on the W-2G sheet, so a transcript that lists hundreds of W-2Gs gives a column of winnings you can total.

Across the 1099 family, the recipient's number goes to Recipient TIN however the issuer labels it ("RECIPIENT'S TIN", "RECIPIENT'S taxpayer identification number", or a bare "Taxpayer ID Number"). Payer TIN only ever holds the number printed under the payer's own label.

1099-NEC (Nonemployee Compensation)

  • Payer name and address
  • Payer TIN
  • Recipient TIN
  • Recipient name and address
  • Nonemployee compensation (Box 1)
  • Federal income tax withheld (Box 4)
  • State tax withheld (Box 5)

1099-MISC (Miscellaneous Information)

  • Payer name and address, Payer TIN
  • Recipient name and address, Recipient TIN
  • Rents (Box 1)
  • Royalties (Box 2)
  • Other income (Box 3)
  • Federal income tax withheld (Box 4)

1099-DIV (Dividends and Distributions)

  • Payer name and address, Payer TIN
  • Recipient name and address, Recipient TIN
  • Total ordinary dividends (Box 1a)
  • Qualified dividends (Box 1b)
  • Total capital gain distributions (Box 2a)
  • Federal income tax withheld (Box 4)

1099-INT (Interest Income)

  • Payer name and address, Payer TIN
  • Recipient name and address, Recipient TIN
  • Interest income (Box 1)
  • Early withdrawal penalty (Box 2)
  • Federal income tax withheld (Box 4)

SSA-1099 (Social Security Benefit Statement)

  • Name (Box 1) and Social Security number (Box 2)
  • Benefits paid (Box 3) and benefits repaid to SSA (Box 4)
  • Net benefits (Box 5)
  • Voluntary federal income tax withheld (Box 6)
  • Address (Box 7) and claim number (Box 8)
  • Medicare Part B, Part C and Part D premiums deducted, when the statement lists them

Boxes the SSA leaves empty print as "NONE", and the export keeps that word. The tax year comes from the box labels ("Benefits Paid in 2025"), not from the form's revision date.

1099-R (Distributions From Pensions, Annuities, Retirement Plans)

  • Payer name and address, Payer TIN
  • Recipient name and address, Recipient TIN
  • Gross distribution (Box 1)
  • Taxable amount (Box 2a)
  • Federal income tax withheld (Box 4)
  • Distribution code(s) (Box 7)

1099-K (Payment Card and Third Party Network Transactions)

  • Filer name and address, Filer TIN
  • Payee name and address, Payee TIN
  • Gross amount of payment card/third party network transactions (Box 1a)
  • Number of payment transactions (Box 3)

1098 (Mortgage Interest Statement)

  • Recipient/lender name and address, Recipient/lender TIN
  • Payer/borrower name and address, Payer/borrower TIN
  • Mortgage interest received (Box 1)
  • Outstanding mortgage principal (Box 2)
  • Mortgage origination date (Box 3)

Schedule K-1 (Form 1065 and Form 1120-S)

  • Partnership or corporation EIN and name
  • Partner or shareholder TIN and name
  • Ending capital account (1065) or percentage of stock ownership (1120-S)

Ordinary business income (Box 1) is extracted when printed, but it is blank on many investment partnership K-1s, so an empty Box 1 is not treated as a miss.

Other 1099s, 1098s, 1040s

For 1099-B/G/Q/C/S/DA, 1098-E, 1098-T, 1095-C, 5498, 1040 (and its Form 4562 and 8995 attachments), 1041, 1065 and 1120/1120-S, DocuClipper recognizes the form type and extracts the labeled fields it finds via the generic key-value pass. There isn't a curated per-box checklist for these yet, so the exact column set you see in the export depends on which fields the source PDF labeled cleanly.

Forms printed with several copies per page

Most IRS forms print two to four copies on one page (Copy B, Copy C, Copy 2). DocuClipper reads every copy and keeps the value from whichever copy it could read, so a box that is legible on any copy comes back filled.

Accuracy expectations

  • Native (digital) PDFs straight from a payroll or tax-software provider extract with the highest accuracy. The text layer is exact; the only failure modes are unusual layouts.
  • Clean scans at 300 DPI or higher of an original printed form extract well. Most labeled boxes come back populated.
  • Phone photos and low-DPI scans are the largest source of misses. Fields with handwritten amounts, glare, or skew are the most common to drop.
  • Forms missing the OMB number (employer-generated W-2 lookalikes, broker-customized 1099-Bs) still classify correctly when the title line scans cleanly. If both the OMB and the title line are missing or garbled, DocuClipper falls back to a density-based classifier (counts how many of each form's expected labels it found). Density requires at least three matchers and a clear lead, otherwise the form is left as unknown.

Consolidated 1099s from a broker

A broker's consolidated 1099 (the Schwab Form 1099 Composite, the Fidelity or Merrill Tax Reporting Statement, the Morgan Stanley and E*TRADE 1099 Consolidated Tax Statement, and the consolidated 1099s from Robinhood, Vanguard, Raymond James, Ameriprise, LPL Financial, Altruist, Betterment, Webull and other Apex Clearing apps, plus Coinbase's Form 1099-DA) is not one form but a package of them, often with dozens of pages of 1099-B sales. When you upload one on the Forms page, DocuClipper reads it with its brokerage extractor instead:

  • Every Form 1099-B sale comes back lot by lot: date acquired, date sold, proceeds, cost basis, gain or loss, wash sale.
  • Every box of Forms 1099-DIV, 1099-INT and 1099-MISC comes back with its IRS box number, as printed on the package's summary page.
  • Both are checked against the totals the 1099 prints, so the result carries a Reconciled badge.

The results are on the project's Brokerage tab, next to your other brokerage documents. The Forms tab tells you which of your uploads were read this way, with a View brokerage results button that takes you there. When everything you uploaded was a consolidated 1099, the upload opens straight on the Brokerage tab. Outside a project, the job's results page has a Brokerage 1099s tab next to Tax forms.

The Forms tab of a project with a notice saying that a Fidelity consolidated 1099 was read as brokerage data, with a View brokerage results button, above the W-2 uploaded with it

A document is read as a consolidated 1099 when all of these hold:

  • It is a digital PDF downloaded from the broker, not a scan or a photo.
  • It is one of the packages listed above, and its 1099-B lots and income boxes add up to the totals the package prints.
  • It is the package and nothing else. A PDF that also holds a 1099-R, an SSA-1099, a 1098, a W-2 or scanned pages is read as forms, page by page, so none of those other forms are lost. Upload the broker's 1099 as its own file to get its lot detail.

Anything else, including a stand-alone 1099-DIV, 1099-INT, 1099-MISC or 1099-NEC from a payer, is read as a form as described above. The page count, and so what the upload costs, is the same either way. A consolidated 1099 uploaded on the bank statement page is recognized the same way. See Converting Brokerage Statements for how each broker's 1099 is read.

Multi-form PDFs

If a single PDF contains several forms (a stack of 1099s for the same payer, or a packaged tax return with W-2s plus 1099s plus a 1040), DocuClipper splits and classifies each form individually. Each one becomes its own row in the export. The split happens automatically on page boundaries.

The classifier is per-page, so a form that spans two pages (most 1040 schedules, some K-1s) is identified by whichever page contains the title and OMB markers, then merged with adjacent pages of the same form.

Output formats

  • Excel (.xlsx) is the default, laid out as described in How the spreadsheet is laid out: one sheet per form type, one row per form. Multi-form jobs are easy to filter and pivot in Excel.
  • CSV has the same shape as Excel without formatting.
  • QBO is supported for forms that map cleanly into a QuickBooks transaction shape (mainly 1099s as bills/expenses against the payer). For W-2s and 1040-family returns, prefer Excel/CSV; QuickBooks does not have a native import shape for those.

Common gotchas

  • Handwritten amounts. OCR for handwriting is hit-or-miss. If a customer or contractor handwrote box values on a printed form, expect to manually correct those cells. Typed values (laser-printed) extract reliably.
  • Black-and-white photocopies of carbon-copy forms lose the red-print boxes that delimit fields. The labels still extract, but boxes can bleed into each other; review the row before exporting.
  • Multi-employer or multi-state W-2s with multiple Box 16/17 rows: DocuClipper extracts the first state row. For multi-state W-2s, manually add the additional rows after extraction or split the PDF first.
  • 1099-NEC vs 1099-MISC vs 1099-R confusion can happen on poorly-scanned forms where the OMB number is unreadable. The classifier is conservative and will mark these unknown rather than guess. Re-scan at 300 DPI to fix.
  • State and country-specific forms (state W-2 equivalents, Canadian T4s, UK P60s) are not in the classifier. Use custom extraction instead.
  • W-9 forms are not extracted. W-9 is a request form, not a return form, so DocuClipper does not include it in the typed-form taxonomy.

For issues, email support@docuclipper.com.