The Two-Stage Pipeline
Every uploaded document passes through two AI stages before data reaches your session.
Stage 1: What Type of Document Is This?
The AI reads the document and assigns it to one of 16 categories:
| Category | Examples |
|---|---|
w2_wages | W-2 forms |
interest_income | 1099-INT, bank interest statements |
dividend_income | 1099-DIV, brokerage dividend summaries |
brokerage_transactions | 1099-B, trade confirmations |
nonemployee_compensation | 1099-NEC, freelance payment records |
platform_payments | 1099-K, payment platform summaries |
retirement_distributions | 1099-R, pension statements |
hsa_distributions | 1099-SA, HSA statements |
social_security | SSA-1099, Social Security statements |
government_payments | 1099-G, unemployment statements |
miscellaneous_income | 1099-MISC, jury duty pay, prizes |
mortgage_interest | 1098, mortgage interest statements |
tuition_payments | 1098-T, tuition bills |
student_loan_interest | 1098-E, loan servicer statements |
business_expense | Receipts, invoices, business documents |
personal_expense | Medical bills, charitable receipts, tax bills |
For standard IRS forms, Stage 1 identifies the OMB number printed on the form and classifies instantly. For non-IRS documents (receipts, invoices, statements), the AI analyzes the content to determine the category.
Stage 2: Which Form Line Does It Go To?
Once the category is known, Stage 2 consults the tax graph's HANDOFF_MAP to find the exact form and field.
Example: 1099-NEC upload
- Stage 1 classifies as
nonemployee_compensation - Stage 2 looks up the HANDOFF_MAP:
nonemployee_compensationmaps to Schedule C, Line 1 - A Schedule C slot is auto-created and the amount populates Line 1
Example: Mortgage interest statement
- Stage 1 classifies as
mortgage_interest - Stage 2 maps to Schedule A, Line 8a (home mortgage interest)
- The amount appears in Schedule A if itemized deductions are active
Credit Detection Flow
Some documents trigger credit suggestions in addition to their primary classification.
The AI looks for specific signals in the document content:
| Signal Detected | Credit Triggered | Form |
|---|---|---|
| Solar/wind/geothermal installation costs | Residential Clean Energy Credit | Form 5695 |
| Childcare provider, dependent care amounts | Child and Dependent Care Credit | Form 2441 |
| EV charger purchase/installation | Alternative Fuel Refueling Credit | Form 8911 |
| Electric vehicle purchase, VIN, battery info | Clean Vehicle Credit | Form 8936 |
| HSA contribution amounts | HSA Deduction | Form 8889 |
Credit-triggering documents display a badge on their document card in Step 2. The suggested form appears in Step 3 for you to confirm or dismiss.
Business vs. Personal Routing
After classification, documents take one of two paths depending on their category.
Business documents (categories: business_expense, nonemployee_compensation, platform_payments) route through the quarterly bookkeeping system. Income and expenses are tracked by quarter. At filing time, categorized totals hand off to the appropriate schedule.
Personal documents (categories: personal_expense, mortgage_interest, tuition_payments, and all IRS forms) map directly to their target tax form and field. No bookkeeping intermediary.
Info
The routing split prevents double-counting. A business receipt tracked in Q3 bookkeeping won't duplicate when Schedule C pulls the annual total at filing time.
Fixing Miscategorizations
If the AI gets a classification wrong, use the Change Category dropdown on the document card in Step 2.
- Find the document card in Step 2
- Click the current category label
- Select the correct category from the dropdown
- The document re-maps to the correct form line automatically
Tip
Changing a category also updates the credit detection. If a document was missed as a credit trigger, recategorizing it to the correct type will surface the credit suggestion.
Common scenarios where manual recategorization helps:
| Situation | What Happened | Fix |
|---|---|---|
| Business receipt classified as personal | AI didn't detect business context | Change to business_expense |
| 1099-MISC classified as miscellaneous but it's rental income | Ambiguous payer description | Change to rental category, re-maps to Schedule E |
| Receipt not detected as credit-triggering | Document didn't contain obvious keywords | Change to correct credit category |
