Financial Services

Extract tax forms to structured JSON

Tax forms like W-2s, 1099s, and 1040s contain earnings, withholdings, and income data in IRS-mandated formats. Scan quality and multi-form packages add extraction complexity. Sensible turns tax form data into structured JSON for income verification, compliance, and lending.

income verification | underwriting | tax prep workflows

Validated JSON

Schema-enforced output; every field matches your contract

Source coordinates

Every value links back to page + bounding box for audit

Per-document pricing

Predictable cost. No token-volatility surprises

Trusted by teams turning documents into production data

Why tax forms need more than basic OCR

Dense field grids, IRS box-number referencing, and multi-form packages demand extraction that is both flexible enough to read any layout and precise enough to never misalign a box value.

01

Box-Level Precision

A single misread digit in Box 1 changes a W-2's meaning entirely. Extraction is anchored to exact box positions, then validated against expected data types and ranges. Precision that raw OCR alone cannot deliver.

02

Multi-Form Packages

1040, Schedule C, W-2s, 1099s: tax returns arrive as packages. Each form within the package gets classified and extracted with its own configuration. No manual splitting required.

03

Copy Designation and Version Handling

Tax forms come in multiple copies (W-2 Copy A, B, C, D) with identical data but different layouts and shading. Copy A uses red dropout ink designed for machine reading that confuses standard OCR. The IRS also revises form layouts between tax years. Sensible handles both copy variants and revision years automatically.

Managed services

Don't want to build it? We'll write your configs from your samples.

Solutions engineers handle plan, build, deploy, and adjust on your behalf. You see clean JSON in your API response. Same engine as self-serve, just with the configuration work outsourced.

What's included

01Plan.Engineers review your samples and pick the right method

02Build.SenseML configs written from your samples

03Deploy.Same engine as self-serve, ready for production

04Adjust.We update configs when formats shift or new edge cases appear

05Integrate.Help with custom integration into your downstream systems

Fields we extract

Every tax form is different, so we build the config around your exact schema rather than a fixed list. These are the fields lending and tax teams request most; we map whatever else your verification pipeline needs.

01

W-2 fields

Employer name, EIN, employee name, SSN (masked), wages (Box 1), federal tax withheld (Box 2), Social Security wages, Medicare wages, state wages, state tax

02

1099 fields

Payer name, payer TIN, recipient name, recipient TIN, income type, amount reported, federal tax withheld, state tax withheld

03

1040 fields

Filing status, adjusted gross income, taxable income, total tax, refund/amount owed, dependents, income sources by schedule

config.json

SenseML

{ /* SenseML: tax form extraction (W-2 example) */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "employer_ein", "description": "employer identification number, EIN, employer's EIN" },
{ "id": "wages_box1", "description": "wages tips other compensation, box 1 wages, W-2 box 1" },
{ "id": "federal_tax_withheld", "description": "federal income tax withheld, box 2, FIT withheld" },
{ "id": "employee_ssn", "description": "employee SSN, social security number, SSN" }
// + more fields, mapped to your schema
]
}
}
]
}

Supported tax forms

Sensible supports all major IRS forms (W-2, 1099 variants, 1040, 1120, K-1) with pre-built configurations. Our hybrid approach handles layout changes between IRS revision years automatically.

Federal forms

W-2, 1099-MISC, 1099-NEC, 1099-INT, 1099-DIV, 1099-R, 1040, Schedule C, Schedule E, Schedule K-1

State and supplemental

State W-2 supplements, state income tax returns, W-9, 4506-T, tax transcripts

Common Questions

Answers about IRS form support, box-level precision, and cross-form validation.

Can Sensible handle tax forms from multiple years?

Yes. Sensible detects the tax year from the form and handles layout changes between IRS revision years. You can process returns from different years without changing your extraction configuration.

Which tax forms does Sensible support?

Sensible processes W-2s, 1099 variants (MISC, NEC, INT, DIV, R), 1040 returns, and their schedules, with pre-built configurations in the library to start from. Form coverage is defined in configuration, so additional forms and schedules get built as you need them rather than being capped at a fixed list.

Does Sensible validate tax form data?

Yes. Validation rules check that wage totals match across boxes, that EIN and SSN formats are correct, and that calculated fields reconcile with their components.

Does Sensible handle state tax forms?

Yes. Pre-built configurations focus on federal forms, but Sensible can be set up for any state tax form. The extraction logic is explicit in SenseML, so a state-specific layout gets configured directly rather than waiting on it to be supported.

Do you support webhooks?

Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.

Does Sensible support human review?

Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.

What security certifications does Sensible have?

Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.

How long is document data retained?

Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.

Is there a free trial?

Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.

How is pricing structured?

Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.

How do I integrate with Sensible?

Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.

What file formats does Sensible support?

Sensible processes PDFs (native or scanned), Microsoft Word (DOC, DOCX), spreadsheets (XLSX, XLS, CSV), single-page images (JPEG, PNG), multi-page images (TIFF), and email bodies with attachments.

How accurate is the extraction?

Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.

How fast is document processing?

Processing speed depends on document size, page count, OCR requirements, and which extraction methods are used. Simple single-page documents process in seconds. Larger or more complex documents that use LLM-based extraction take longer.

Start free

Turn your next tax form into JSON.

Free 14-day trial. No credit card required. Start extracting in minutes.