Accounts-payable automation has a credibility gap. The demo reads a pristine, text-native invoice and lifts every field perfectly. The real inbox is scans, photos of paper, multi-column layouts, nested tables, and the occasional invoice that’s really just an image pretending to be a document. Automation that only handles the demo invoice hasn’t automated AP — it’s automated the easy 20% and left the painful 80% on someone’s desk.

So the design question isn’t “can it read an invoice?” It’s “what does it do with the one it can’t read cleanly?”

Read anything, extract structure

Extraction runs through a registry of document providers — layout-aware conversion, dedicated OCR with bounding boxes, and schema-driven field extraction — so the pipeline picks the right tool for a text-native PDF versus a skewed scan. You describe the fields you need (invoice number, totals, line items, vendor) and the extractor returns them as structure, with the layout preserved rather than mashed into a wall of text.

The measure of an AP pipeline isn’t the invoice it reads perfectly. It’s the one it isn’t sure about.

Validate before you trust

Extracted fields aren’t payments yet. They’re run through validation — do the line items sum to the total, is there a matching purchase order, do the rules the finance team defined hold? Bulk runs are handled as a pipeline: map incoming rows to a canonical schema, apply the rule set, and separate the clean from the questionable. In one such run, thousands of invoice rows are ingested, mapped, and validated against a dozen rules in a single pass.

Exceptions route themselves

Here’s the part the demo skips. Anything that fails validation or extracts with low confidence doesn’t get silently guessed and paid — it pauses and routes to a human, as a typed exception with the document, the extracted fields, and the reason it stopped. The workflow engine treats human approval as a first-class step, not a bolt-on: the run halts, waits for a decision, and resumes with a full audit trail. Clean invoices flow through untouched; only the genuinely ambiguous ones cost a human a minute.


Real AP automation isn’t measured by how many invoices it reads without help. It’s measured by how gracefully it handles the ones it shouldn’t handle alone — reading what it can, validating what it reads, and routing the rest to a person instead of a guess.

Key takeaways

  • A provider registry picks the right extractor for text-native PDFs versus messy scans.
  • Schema-driven extraction returns structured fields with layout preserved.
  • Validation checks sums, purchase-order matches and finance-defined rules before anything is trusted.
  • Low-confidence or failing invoices route to a human as typed exceptions, with a full audit trail.