Tax Preparation Automation: Source Documents to Software With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Tax Preparation Automation: Source Documents to Software With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Tax Preparation Automation: Source Documents to Software With AI.

Use AI to read each source document into a structured table, check the table with arithmetic rules, then import it into your tax software or key it from a clean sheet. Add a field-by-field tie-out of the totals to the documents before preparation starts. Extraction saves typing time; checking protects the return.

The task is narrower than "AI does the return". Whether the tool is a feature inside practice software, a service that sends a draft to your return software, or a general assistant filling a spreadsheet, the questions are the same: which boxes matter, how do you know a number is right, and what happens to scans and odd layouts? Start with a field map per form and per tax year, because box numbers move: on the 2026 forms, the 1099-NEC's compensation box is now box 1a and the 1099-R distribution code sits in box 7a.

Follow me on Instagram@sagnikteaches

Three routes from document to software

There are three practical ways to get data from a client's PDF into a return. Pick by volume and by what your software supports.

Connect on LinkedInSagnik Bhattacharya
RouteHow it worksBest forWatch for
Practice-platform extractionThe platform reads documents clients upload and sends data to your return software or a work listPractices already on that platform, steady volumeWhich return software it connects to, extra partner fees
Specialist extraction serviceA third party reads the documents and produces a draft return or workpapers for reviewLarger volumes, many 1040sPer-return pricing, accuracy on your clients' documents
General assistant plus spreadsheetYou upload documents to ChatGPT or Claude, get a table, check it, then import or key itLow volume, testing, odd documentsData security, manual import, inconsistency between runs

Canopy's Smart Prep is one example of the first two routes. Canopy's page describes AI that extracts, classifies and maps 1040 documents, works alongside return software such as Drake, CCH Axcess, ProConnect and UltraTax, and hands the draft to your team, who review and approve before anything is finalised. It names three partners, Filed, Byron and Juno, each needing its own subscription priced by partner and return volume. Canopy's own plans, per user per month billed annually, list at $74 (Standard), $109 (Plus) and $149 (Premium, listed as coming soon), with higher monthly prices if billed monthly. TaxDome now prices by active client rather than by seat ($1,500 a year covers 150 active clients and 20 seats) and sells its AI features, including AI document organisation, as a $200-a-month add-on; read the live page before you compare. SafeSend One sits at the collection end: its Next Gen Gather AI page describes AI that recognises, categorises and organises common client form types, and says the documents it collects flow into CCH Axcess Tax, ProSystem fx Tax, UltraTax CS, GoSystem Tax RS and Lacerte. That describes sorting and routing documents rather than keying box values, so ask exactly what lands in your return software. For a side-by-side of the two platforms, see Canopy versus TaxDome for tax-heavy practices.

Subscribe on YouTube@sagnikteaches

I haven't included tools I could not verify on the vendor's own page. If a vendor claims extraction accuracy, ask for the test conditions, and run your own test as described below.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

The field map: what to extract, form by form

Extraction fails less when you state the fields. Use a map like this as the schema in your prompt or the checklist in your vendor demo. Box numbers are for the standard forms; always verify against the current year's forms.

W-2

BoxFieldSanity check
a, b, cEmployee identifier, employer EIN, employer nameIdentifier format; EIN has 9 digits
1Wages, tips, other compensationUsually lower than box 5 if retirement deferrals exist
2Income tax withheldNot greater than box 1
3, 4Social security wages and tax withheldBox 4 about 6.2% of box 3
5, 6Second payroll-tax wages and tax withheldBox 6 about 1.45% of box 5 (higher with additional tax)
12Codes and amounts (for example retirement deferrals)Capture every code-amount pair, not just the first
13Checkboxes (statutory employee, retirement plan, third-party sick pay)Easy to miss on scans
15-17State, state wages, state tax withheldMultiple states possible; rows can repeat

1099 family

  • 1099-NEC: box 1a nonemployee compensation on the 2026 form (the 2026 revision adds box 1b for cash tips included in 1a), box 4 tax withheld, payer name and identifier. Key your map by tax year so an older form is not read with the new numbering.
  • 1099-INT: box 1 interest income, box 4 tax withheld, plus payer.
  • 1099-DIV: box 1a ordinary dividends, 1b qualified dividends (which cannot exceed 1a), 2a capital gain distributions, box 4 withholding.
  • 1099-R: box 1 gross distribution, 2a taxable amount, 4 withholding, and the distribution code, which the 2026 instructions move from box 7 to box 7a (the IRA/SEP/SIMPLE checkbox becomes 7b).
  • 1099-B and consolidated brokerage statements: proceeds, cost basis, dates and whether basis was reported. These run to many pages and are the highest-error area; treat as a separate workflow.

K-1 (partnership)

K-1s vary the most, and extraction tools struggle with the supplementary statements that follow the form. Capture at least: partnership name and identifier, box 1 ordinary business income or loss, box 2 net rental real estate income, box 4a guaranteed payments, box 5 interest, box 6a ordinary dividends, the capital account analysis in item L and any box 20 codes with their amounts. If a statement page says "see attached", extraction must include the attachment, or the return will be incomplete. Treat any K-1 as always needing a human read of the whole document.

A worked example: a 400-client practice in a busy fortnight

Illustrative numbers. A small practice has 400 individual clients. Across them, it receives about 1,300 source documents: say 520 W-2s, 430 interest and dividend forms, 150 other 1099s, 120 K-1s and 80 brokerage and retirement statements. Before automation, a preparer or assistant keys each document: about 3 minutes for a simple form, 6 for a K-1 or statement.

Document typeCountMinutes keyed nowMinutes to review extractionHours saved
W-252031.017.3
1099-INT, -DIV43031.014.3
Other 109915031.05.0
K-112065.02.0
Brokerage and retirement statements8065.01.3
Total1,30039.9

About 40 hours saved over the season, almost all on the simple forms, because K-1s and statements still need nearly the same time. That is the honest shape of this work: automation pays on volume of standard forms. At an internal cost of $40 an hour that is about $1,600 of staff time, against a tool whose price you must set beside it. If a partner service costs more per return than the time it saves, the arithmetic fails, so run it with your numbers. The wider pilot method is in running a pilot and measuring cost per return.

Preparing documents so extraction works

Many errors begin before the AI sees a page. Set intake rules for the client portal or the inbox.

  • One document, one file, or clearly split. Combined PDFs with 20 forms need splitting; extraction tools do this unevenly. Ask clients to upload each form separately, or run a splitting step first.
  • Flat, upright scans. A phone photo taken at an angle in poor light is the main cause of misread digits. Ask for a scan app or the original PDF from the payer's website.
  • Prefer originals over scans. A PDF downloaded from the payer has text underneath; a scan is a picture. Digital originals are far more reliable.
  • Passwords. Many payer PDFs are password protected; remove the protection before extraction and note you did.
  • Corrected forms. A form marked "CORRECTED" replaces the version the payer issued earlier. Ask the tool to flag it, and keep only the latest.
  • Duplicates. Clients upload the same W-2 twice, from email and from a portal. Dedupe by payer identifier, tax year and box 1.

The routine for chasing what is missing is separate and worth building alongside: an AI tax organiser that chases missing documents, and sorting incoming documents with AI covers the filing step before extraction.

A prompt and a sample output for a general assistant

If you use a general assistant on a business plan for low volume, state the schema, forbid guessing and require a confidence note. Do not include taxpayer identifiers: ask the tool to leave them as the last four digits, or redact before upload.

You are extracting data from one W-2 image. Return JSON only with these
keys: tax_year, employer_name, employer_ein_last4, box1, box2, box3,
box4, box5, box6, box12 (list of {code, amount}), box13 (list of checked
boxes), state_rows (list of {state, state_wages, state_tax}), unreadable
(list of box names). Rules: never guess a digit; if a value is not clearly
legible, set it to null and add the box to unreadable. Do not calculate.
Do not include the employee identifier.
{"tax_year": 2025, "employer_name": "Example Garden Supplies LLC",
 "employer_ein_last4": "6218", "box1": 48250.00, "box2": 5120.00,
 "box3": 52000.00, "box4": 3224.00, "box5": 52000.00, "box6": 754.00,
 "box12": [{"code": "D", "amount": 3750.00}], "box13": ["retirement plan"],
 "state_rows": [{"state": "XX", "state_wages": 48250.00, "state_tax": 1650.00}],
 "unreadable": []}

That sample is illustrative. Now run the checks: box 4 should be about 6.2% of box 3: 6.2% of 52,000 is 3,224, which matches. Box 6 should be about 1.45% of box 5: 1.45% of 52,000 is 754, which matches. Box 5 equals box 3 here, as expected below the social security wage base. Box 1 is lower than box 3 by exactly the 3,750 code D deferral in box 12, which is how a 401(k) deferral behaves: it comes out of box 1 but stays in box 3. The state wages equal box 1, as expected. If box 4 had read 3,424 the arithmetic check would flag a swapped digit instantly, which is why arithmetic checks are the cheapest accuracy control you have.

The checks that catch extraction errors

Run in this order. Each costs little and catches a different kind of error.

  1. Completeness. Every uploaded document has a row, and every row has a document. Count both and compare.
  2. Format. Identifier lengths, a valid tax year, numeric fields numeric, no negative withholdings.
  3. Arithmetic rules. The W-2 ratios above, qualified dividends not above ordinary dividends, taxable amount not above gross distribution, withholding not above income.
  4. Control totals. For each client, sum the extracted wages and compare with the sum you read from the documents or last year's return as a reasonableness check. Large unexplained swings go to a person.
  5. Spot reads. Pull a random 10 per cent of documents, read the original against the extracted row and record each error by field. Pull a larger sample in the first weeks.
  6. Prior-year comparison. A client with the same employer last year and no wages this year deserves a question.

Measuring accuracy on your own documents

Before relying on a tool, make a test pack of 50 real documents, anonymised or handled under your security rules: 20 clean W-2s, 10 interest and dividend forms, 10 phone photos, 5 K-1s and 5 odd ones. Key the fields yourself or have a colleague do so to create the answer sheet. Run the tool, compare field by field, and record the error rate per form type and per box. An illustrative result: 98% of clean W-2 fields exact, 90% on phone photos, 70% on K-1 fields. Those numbers would tell you to automate clean W-2s now and keep K-1s manual. Rerun the test whenever the vendor ships a major update and again at the start of each season.

Field-by-field tie-out before preparation starts

A tie-out means each number in the software traces to a number on a document. Do it before preparation, not only at review. Build a sheet with one line per source document and these columns: client, document type, payer, tax year, extracted box values, imported to software (yes or no), and a reviewer's initial. After import, compare the software's totals with the sheet: total wages, total income tax withheld, total interest, total dividends, total business income from K-1s. Any difference is a missed or doubled import. The longer routine is in tax workpaper prep with AI: tie the return back to source documents, and the review that follows it is in AI tax return prep: extract, review, sign off.

Five failures to expect

The swapped digit. A scanned W-2 reads 52,300 as 52,800. The 6.2% check on box 4 fails and the preparer catches it. Without the check it would have flowed into the return.

The missed box 12 code. A W-2 has three box 12 entries; the tool captures the first. Retirement deferrals are understated. Fix: require every code-amount pair and test with a multi-code sample.

The K-1 with a supplemental statement. The tool reads page one and ignores the statement of other items. Fix: always review K-1s with the whole PDF open.

The duplicated form. A client sends the same 1099-INT twice, and the interest is doubled. Fix: dedupe on payer identifier, year and amount before import.

The corrected form. The original and corrected 1099-DIV both import. Fix: flag the "corrected" box and keep only the latest.

Handling the awkward documents

Every season produces a handful of documents that break the routine. Decide in advance how each is handled, so that no one improvises under deadline.

Brokerage consolidated statements. These run to 30 pages or more and mix dividends, interest, proceeds and adjustments. Split the job: extract the summary totals for dividends and interest into the main sheet, and handle the transaction list as a separate import where your software accepts a file. If the tool returns a table of trades, check three things: the count of trades equals the count on the statement, total proceeds match the summary page, and total cost basis matches. A mismatch of even a few dollars usually means a missed or doubled row, and that is easy to fix at this stage and very hard to find later.

Handwritten or marked-up forms. A client has circled a number or added a note on a 1099. Extraction will read the printed value; the handwriting is context only a person can use. Route any page with handwriting to a person without extraction.

Foreign-language or unusual layouts. If a form is not a standard layout, do not rely on the field map. Treat it as manual, and note it on the tie-out sheet so the reviewer knows no tool saw it.

Large uploads in the last week. Clients send forty documents in one email on the deadline. Create a triage rule: classify first, extract the standard forms in a batch, and put the rest in a person's queue. A batch of 200 forms processed overnight by the practice platform is worth more than three people keying until midnight, but only if the checks above are already built.

What to ask a vendor before you sign

  • Which forms and boxes does extraction cover, and which are listed as unsupported?
  • Which return software does it write into, and what does it write: values, a draft return or a workpaper?
  • Is the pricing per user, per return or per document, and what is the cost at 400 returns? At 800?
  • How are errors shown to the preparer: confidence flags, highlighted fields, or nothing?
  • What is the support route when extraction fails in the last week of the season?
  • Can you export your data and the extraction log if you leave?

Security and the engagement relationship

Taxpayer identifiers and income figures are among the most sensitive data you hold. Before using any extraction tool, read its data terms: where documents are processed, how long they are kept, whether they train models, who can access them, and whether it is covered by your information security policy and your engagement letter. Business plans from ChatGPT and Claude say they don't train on business content by default, but that doesn't replace your own policy. Where you can, send only the document to a tool inside your practice platform. If you need to test a general assistant, use redacted or synthetic documents. Tell clients in your engagement letter that you use software, including AI-assisted software, to process documents, and that a person reviews every return.

Keep records of what was extracted, what was changed and who approved it. When a client asks about a figure, you should be able to show the document, the extracted value and the reviewer's initials. If you want help working through the options for your own practice, that is something my AI implementation consultation covers, through the contact page.

A four-week rollout

  1. Week 1: Build the 50-document test pack and the answer sheet. Write the intake rules and the data policy.
  2. Week 2: Run the tool on the test pack; record error rates per form and per box; decide which forms to automate.
  3. Week 3: Pilot on 20 real returns with full tie-out and 100 per cent review. Time each stage.
  4. Week 4: Compare minutes and errors against manual entry; keep, change or stop. Reduce review to sampling only on form types with a proven low error rate, and keep K-1s and brokerage statements fully reviewed.

Whatever you choose, leave the professional judgement where it belongs. The software reads boxes. You decide whether the return is right.

Questions tax practices ask about automated data entry

Is AI extraction accurate enough to skip checking?

No. Even good extraction makes occasional errors such as a swapped digit, the wrong box or a misread scan. Plan for review of every return, and use totals and cross-box checks to catch mistakes quickly. Measure the error rate on your own documents before trusting any tool.

Should I paste client forms into ChatGPT or Claude?

Not into consumer plans. Taxpayer identifiers and income figures need a tool covered by your engagement terms and security policy. Use a business plan with terms you have read, redact numbers where you can, or prefer an extraction feature inside your practice software.

Which documents are easiest to automate?

Clean, digital W-2s and 1099-INT, -DIV and -NEC forms are the easiest because layouts are standard. K-1s, brokerage statements with many pages and photographed paper forms are harder and need more review.

Can AI import directly into my tax software?

Some practice tools extract data and pass it to tax software, while others only give you a spreadsheet you import or key in. Ask your vendor exactly which return software it connects to and what it writes into the return, then test with a copy of a real return.

Further reads

Sources: Canopy Smart Prep and pricing pages, TaxDome pricing page, SafeSend Next Gen Gather AI page, the official General Instructions for Forms W-2 and W-3 (2026), Instructions for Forms 1099-INT, 1099-DIV, 1099-MISC/1099-NEC and 1099-R, and Partner's Instructions for Schedule K-1 (Form 1065), read 4 November 2026. Tools not verified on the vendor's own page are not named.

Want a document-to-return routine your team trusts?

On a 1:1 call we can map how client documents reach you now, choose the extraction step worth automating first, and set the checks that keep it accurate.

Book a 1:1 call with me