DOCUMENT TYPES

Invoice data extraction

By Sygnet Research. Written by Sygnet, sourced, checked before publication.

An invoice is a commercial document a supplier issues to bill a buyer for goods or services delivered. Finance and accounts payable teams process them daily, matching amounts against purchase orders and pushing approved data into ERP or accounting systems. Volumes range from a handful a week to thousands a day, and the format varies wildly between suppliers, which is exactly why manual entry stays slow and error-prone. Automated extraction turns a PDF or scanned page into structured output that can flow straight into payment and reconciliation workflows without a human retyping numbers.

Fields to extract

FieldFormat / exampleValidation check
Invoice numberINV-2024-00871Unique per supplier, no duplicates against prior submissions
Invoice date2024-03-14Not in the future, within a plausible fiscal window
Due date2024-04-13Falls after invoice date, matches stated payment terms
Supplier nameMeridian Fabrication SASMatches registered legal name
Supplier tax IDFR 84 552 117 034Checksum valid, format matches issuing country
Buyer nameNorvex Logistics LtdMatches internal vendor/customer master
Line items3x Steel bracket, €18.40 eachQuantity × unit price = line total
Subtotal€1,842.00Sum of line items equals subtotal
Tax rate and amount20% / €368.40Rate matches jurisdiction, amount = subtotal × rate
Total amount due€2,210.40Subtotal + tax = total, within rounding tolerance
CurrencyEURConsistent across all monetary fields
Payment termsNet 30Consistent with due date calculation
Bank details / IBANFR76 3000 6000 0112 3456 7890 189IBAN checksum, matches known supplier account
PO referencePO-55621Exists in purchasing system, not already fully invoiced

Why this document is hard to process

Invoices carry no fixed layout. Two suppliers selling the same product can produce documents that share almost nothing structurally: one uses a table with clear column headers, another lists items as free-flowing text with prices trailing off to the right margin. Multi-language invoices are common in cross-border trade, and a single document can mix a French header with English line items. Many invoices arrive as scans of printed originals, sometimes with a stamp, a handwritten annotation, or a fax artifact overlapping the text a system needs to read.

Multi-page invoices split totals and line items across pages, and a naive parser can double-count or miss the final summary page entirely. Credit notes, partial invoices, and proforma documents look similar enough to real invoices that misclassification is a real risk. Rounding conventions differ by country, and tax logic varies (VAT, sales tax, reverse charge), so a rule that works for one jurisdiction breaks for another.

Fraud adds another layer: altered bank details, duplicated invoice numbers, or fabricated supplier IDs are a known vector for payment fraud, and a system that only reads text without checking it against reference data will accept a forged document as readily as a genuine one. See our note on document fraud detection for how this plays out in practice, and the OCR vs VLM comparison for why layout-blind OCR struggles here.

How Sygnet processes it

Sygnet starts by classifying the incoming document (invoice, credit note, proforma) before extraction begins, since misrouting a credit note as an invoice corrupts downstream accounting. Schema inference adapts to each supplier's layout rather than relying on a rigid template, which matters given how much invoice formats vary. Every extracted field gets a confidence score, and every value carries field-level provenance: a bounding box pointing to the exact location on the page it came from, so a reviewer can check a number against the source in seconds rather than re-reading the whole document.

Validation rules run automatically: checksum checks on tax IDs and IBANs, arithmetic checks on line totals and tax amounts, date logic on due dates versus terms. Cross-document validation ties the invoice back to its purchase order and goods receipt where available, catching mismatches before they reach payment. Only fields that fall below a confidence threshold get routed to a human reviewer, which keeps review effort focused on the cases that actually need judgment rather than rubber-stamping everything.

Output is delivered as structured JSON via API, with a webhook on completion and idempotency keys so retries don't create duplicate payment records. For teams running high volumes of French invoices, our e-invoicing France page covers Factur-X, UBL, and Peppol formats specifically.

Validation rules worth applying

  • Verify tax ID checksums against the issuing country's algorithm, not just format
  • Recompute line totals (quantity × unit price) and flag mismatches beyond a small rounding tolerance
  • Confirm subtotal + tax = total, accounting for jurisdiction-specific rounding rules
  • Cross-check supplier IBAN against previously approved accounts; flag any change as a potential fraud signal
  • Reject or flag invoice numbers that duplicate a previously processed submission from the same supplier
  • Validate due date against stated payment terms (Net 30, Net 60) rather than trusting the printed date alone
  • Match PO reference against open purchase orders and confirm remaining quantity or budget
  • Look up supplier registration (SIREN/SIRET in France, VAT number elsewhere) against a public business registry

FAQ

Can extraction handle invoices in multiple languages within one document?

Yes, when the underlying model is trained for multilingual text rather than a single-language OCR engine. Mixed-language invoices (a French header with English product descriptions, for instance) are common in cross-border trade. The extraction layer needs to identify field meaning independent of language, which is where multimodal models tend to outperform rule-based OCR pipelines.

How does Sygnet catch fraudulent or altered invoices?

Through a combination of consistency checks (does the IBAN match the supplier's known account) and document-level signals like inconsistent fonts, unusual metadata, or arithmetic that doesn't add up. No system catches every fraud attempt, but flagging anomalies for human review before payment release closes off the most common attack vector: altered bank details on an otherwise legitimate-looking invoice.

What happens when confidence on a field is low?

The field is routed to a human reviewer along with its bounding box, so the reviewer sees exactly where on the document the value came from without hunting through pages. This is deliberate: automating 100% of fields regardless of confidence introduces silent errors, while human-in-the-loop review on the uncertain minority keeps error rates low without slowing down the bulk of straightforward invoices.

For a deeper look at how confidence and layout complexity affect accuracy across document types, see our analysis of OmniDocBench limitations for invoice processing, and the broader cost breakdown in our piece on manual invoice processing.

NEXT STEP

See it on your own documents

One email when we publish something worth your time.