Finance and accounts payable
Extract Invoice Data for Accounts Payable Review
Invoice approval software turns an uploaded invoice into typed fields such as invoice number, supplier details, dates, line items, tax, currency, and totals. The toSchema workflow keeps the result for correction and approval before JSON or CSV export; it does not post transactions or approve payments.
Updated August 31, 2026
Capture the fields an AP reviewer needs
The current invoice contract separates document identity from commercial totals. It includes invoice number and type, issue and due dates, three-letter currency, vendor and customer details, line items, subtotal, tax total, and final total. Optional fields cover tax rates, payment terms, payment status, and data-quality warnings.
Typed output makes basic checks possible without flattening every invoice into unlabelled text. Dates use one format, monetary values stay numeric, and each line retains quantity, unit price, and total. A warning can identify a questionable field, but its confidence score is not proof that the value is correct.
- Compare the invoice number, vendor tax ID, issue date, and due date with the source.
- Recalculate line totals, subtotal, tax, and final total before posting.
- Keep currency and quantity units explicit instead of relying on account defaults.
- Treat missing purchase-order or receipt references as workflow exceptions.
Review extraction before accounting entry
Structured invoice data is a staging artifact, not an approval decision. An AP operator still needs to check supplier identity, duplicate risk, arithmetic, tax treatment, and whether the goods or services were authorized and received. Those controls depend on accounting and procurement records that are not contained in the invoice alone.
For scanned invoices, the Mistral Document AI layer first converts readable page content into text. The extraction step then maps that content to the invoice schema. Poor scans, handwriting, stamps, unusual tables, and overlapping annotations can all require source review.
Use JSON as the handoff boundary
JSON preserves nested vendor, customer, item, tax, and warning objects. That makes it suitable for inspection or a downstream transformation where the receiving team owns field mapping and business rules.
toSchema does not currently detect duplicate invoices, perform purchase-order or receipt matching, approve payments, or synchronize a result with an accounting platform. Keep those controls downstream and require a person to resolve exceptions before a financial record is created.
Illustrative example
Example invoice JSON
This fixture is validated by the invoice schema used by the current template. It demonstrates the output shape, not measured extraction accuracy.
Illustrative invoice
INV-2024-001 · Tech Solutions Inc. Issued 2024-02-01 · Due 2024-03-02 Subtotal USD 5,000 · Tax USD 1,150 · Total USD 6,150
Schema-valid invoice record
{
"invoiceNumber": "INV-2024-001",
"invoiceType": "Standard Invoice",
"invoiceName": "Monthly Software Services",
"invoiceDescription": "Software development and maintenance services for February 2024",
"issueDate": "2024-02-01",
"dueDate": "2024-03-02",
"totals": {
"subtotal": 5000,
"taxTotal": 1150,
"total": 6150
},
"currency": "USD",
"vendor": {
"name": "Tech Solutions Inc.",
"address": "123 Tech Street\nSilicon Valley, CA 94025",
"taxId": "US123456789"
},
"customer": {
"name": "Global Enterprises Ltd.",
"address": "456 Corporate Drive\nNew York, NY 10001",
"taxId": "US987654321",
"details": "Enterprise Customer"
},
"items": [
{
"description": "Senior Developer Services",
"quantity": 80,
"quantityUnit": "hours",
"unitPrice": 50,
"total": 4000,
"dateRange": "2024-02-01 to 2024-02-29"
},
{
"description": "Cloud Infrastructure Setup",
"quantity": 1,
"unitPrice": 1000,
"total": 1000,
"date": "2024-02-15"
}
],
"taxes": [
{
"vatRate": 23,
"vatAmount": 1150
}
],
"paymentTerms": "Net 30",
"paymentStatus": "pending"
}The example is the current invoice-contract fixture. Real values must be checked against the uploaded invoice.
Limitations
- Unreadable scans, handwriting, stamps, and irregular line-item tables can produce missing or uncertain fields.
- A confidence warning is a review signal, not verification of vendor identity, tax treatment, or payment status.
- Duplicate detection, three-way matching, payment approval, and accounting-system synchronization are not part of the current product.
Frequently asked questions
Which invoice fields can toSchema structure?
The current contract covers invoice identity, issue and due dates, currency, vendor and customer details, line items, totals, optional taxes, payment terms, payment status, and warnings. Fields absent from the source still require review.
Can it process a scanned invoice?
Yes, readable PDF and image scans can pass through Document AI before schema extraction. Image quality, rotation, handwriting, and complex tables affect what can be recovered, so the result should be compared with the source.
Does the result post or approve an invoice?
No. A reviewer can approve the structured record for export, but that is a data-quality decision rather than payment authorization. Duplicate checks, purchase-order matching, payment approval, and accounting entry remain in the operator’s downstream process.
Put it into practice