The problem
AP teams lose hours every week re-keying vendor names, invoice numbers, line items, and totals from PDFs and scans into accounting software. It's repetitive, error-prone, and it gets worse — not better — as invoice volume grows.
Generic OCR tools make this harder, not easier: they hand back a wall of raw text or loose key-value pairs, and you still have to write the code that turns that into "total = 4,125.60."
How Dokyumi solves it
Define an invoice schema once — vendor name, invoice number, dates, PO number, line items, total — or let AI infer it from a sample invoice. Dokyumi generates a dedicated API endpoint scoped to that schema.
Point your intake at it: forward invoices from an inbox rule, drop them in a watched folder, or call the endpoint directly from your AP tool. Every submission comes back as validated JSON with a confidence score per field, ready to post into your ledger.
Example schema and result
A real schema shape for accounts payable documents, and the JSON you get back from one extraction.
Schema — GET /api/v1/schemas
{
"slug": "ap-invoice-parser",
"name": "AP Invoice Parser",
"description": "Extracts vendor, line items, and totals from vendor invoices and receipts",
"ocr_mode": "standard",
"fields": [
{
"key": "vendor_name",
"type": "string",
"required": true
},
{
"key": "invoice_number",
"type": "string",
"required": true
},
{
"key": "invoice_date",
"type": "date",
"required": true
},
{
"key": "due_date",
"type": "date",
"required": false
},
{
"key": "po_number",
"type": "string",
"required": false
},
{
"key": "subtotal",
"type": "currency",
"required": false
},
{
"key": "tax_amount",
"type": "currency",
"required": false
},
{
"key": "total",
"type": "currency",
"required": true
},
{
"key": "line_items",
"type": "array",
"required": false
}
]
}Result — POST /api/v1/extract
{
"id": "ext_ap8k2n",
"status": "completed",
"schema": "ap-invoice-parser",
"data": {
"vendor_name": "Acme Supply Co.",
"invoice_number": "INV-88213",
"invoice_date": "2026-06-02",
"due_date": "2026-07-02",
"po_number": "PO-40021",
"subtotal": 3820,
"tax_amount": 305.6,
"total": 4125.6,
"line_items": "[ 3 items ]"
},
"confidence": {
"vendor_name": 0.99,
"invoice_number": 0.98,
"total": 0.99,
"po_number": 0.94
},
"meta": {
"processing_time_ms": 1180,
"page_count": 1,
"ocr_cached": false
}
}How it works
Define your AP schema
Describe an invoice/receipt schema once, or let AI infer it from a sample document you upload.
Point your intake at the endpoint
Email-forward, watched upload folder, or call the API directly from your AP software.
Get validated JSON back
Vendor, line items, totals, and PO numbers — each with a per-field confidence score.
Push into your ledger
Use the API response or a webhook to post the extraction into your accounting system.
Accounts Payable FAQ
Does Dokyumi match invoices to purchase orders?+
Does it integrate directly with QuickBooks, NetSuite, or Bill.com?+
Can it handle invoices from hundreds of different vendors?+
What if an invoice is missing a field, like a PO number?+
Does resubmitting the same invoice cost extra?+
Related use cases
Lending & Underwriting
Pull income and asset figures from pay stubs, bank statements, and tax returns without re-keying a single number.
Insurance
Pull named insured, policy numbers, coverage limits, and claim details from dec pages, ACORD forms, and claims paperwork.
Real Estate & Leasing
Pull lease terms, applicant income, and insurance details out of leases, applications, and dec pages — no per-property template work.