Financial Services
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.
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






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
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
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
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
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
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
]
}
}
]
}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.
W-2, 1099-MISC, 1099-NEC, 1099-INT, 1099-DIV, 1099-R, 1040, Schedule C, Schedule E, Schedule K-1
State W-2 supplements, state income tax returns, W-9, 4506-T, tax transcripts
Answers about IRS form support, box-level precision, and cross-form validation.
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.
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.
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.
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.
Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.
Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.
Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.
Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.
Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.
Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.
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.
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.
Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.
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
Free 14-day trial. No credit card required. Start extracting in minutes.