The problem
Tax preparers get buried every intake season re-keying client-submitted W-2s, 1099s, and prior-year returns by hand — and the bottleneck is worst exactly when volume peaks, January through April.
How Dokyumi solves it
Build one schema per form type — a W-2 schema, a 1099 schema, a 1040 schema — each with its own endpoint. Give clients a white-label upload portal (available on every plan, with more portals on Growth and Enterprise) so they submit documents directly instead of emailing PDFs back and forth.
Dokyumi returns structured JSON you can drop straight into your tax software's intake step, with a confidence score on every box or field.
Example schema and result
A real schema shape for tax prep documents, and the JSON you get back from one extraction.
Schema — GET /api/v1/schemas
{
"slug": "w2-parser",
"name": "W-2 Parser",
"description": "Extracts wage and withholding data from employee W-2 forms",
"ocr_mode": "standard",
"fields": [
{
"key": "employer_name",
"type": "string",
"required": true
},
{
"key": "employer_ein",
"type": "string",
"required": true
},
{
"key": "employee_name",
"type": "string",
"required": true
},
{
"key": "wages_box1",
"type": "currency",
"required": true
},
{
"key": "federal_tax_withheld_box2",
"type": "currency",
"required": false
},
{
"key": "ss_wages_box3",
"type": "currency",
"required": false
},
{
"key": "medicare_wages_box5",
"type": "currency",
"required": false
},
{
"key": "state",
"type": "string",
"required": false
}
]
}Result — POST /api/v1/extract
{
"id": "ext_tx6w1z",
"status": "completed",
"schema": "w2-parser",
"data": {
"employer_name": "Brightline Manufacturing Inc.",
"employer_ein": "84-1234567",
"employee_name": "R. Chen",
"wages_box1": 68450,
"federal_tax_withheld_box2": 8760,
"ss_wages_box3": 68450,
"medicare_wages_box5": 68450,
"state": "CA"
},
"confidence": {
"wages_box1": 0.99,
"employer_ein": 0.97,
"federal_tax_withheld_box2": 0.98
},
"meta": {
"processing_time_ms": 1050,
"page_count": 1,
"ocr_cached": false
}
}How it works
Build a schema per form type
W-2, 1099, and 1040 each get their own schema.
Send clients a branded portal link
Or accept uploads directly via the API.
Get structured JSON back
Every box or field, validated, with a confidence score.
Import into your tax software
Push via webhook or pull from the API during intake.
Tax Prep FAQ
Does this replace my tax prep software?+
Can clients upload documents themselves?+
What if a client only needs W-2 or 1099 parsing, not a custom schema?+
How does Dokyumi handle SSNs and other sensitive fields on tax forms?+
Can one schema handle every 1099 variant (NEC, MISC, INT, DIV)?+
Related use cases
Lending & Underwriting
Pull income and asset figures from pay stubs, bank statements, and tax returns without re-keying a single number.
Accounts Payable
Extract vendor, line-item, and total data from invoices and receipts — no template building, no AWS Textract setup.
Healthcare Billing
Pull claim numbers, billed/allowed amounts, and CPT codes off EOBs and medical bills instead of re-typing them.