1,500 Supplier Invoices a Month, Matched Automatically

1,500
supplier invoices per month
12/13
invoices reconciled exactly in first production run
0.96
avg confidence on automatic PO-line matches
<1 sec
PDF processing per invoice
The challenge: 1,500 invoices a month, keyed by hand
This Canadian distributor supplies industrial and occupational safety products nationwide, buying from major manufacturers on purchase orders and reselling. Roughly 1,500 supplier invoices arrive by email every month, each needing the same treatment: open the PDF, key the header and every line into the ERP, look up the purchase order, verify quantities and prices line by line, and post it.
Industry benchmarks put fully manual invoice processing at $9 to $15 per invoice — and this AP workload had all the complications that make it worse. Suppliers use their own SKU codes that don't match internal ones (inconsistently, even within a single supplier). Invoices bill in cases where the PO ordered eaches. Partial shipments and backorders mean an invoice rarely maps one-to-one onto its PO. Every one of those wrinkles meant slow, error-prone keying.
What we built: inbox-to-ERP invoice automation with AI extraction
We built an AP automation pipeline that picks up supplier invoice emails, uses AI to extract every header field and line item from the PDF, resolves the vendor and purchase order against the live ERP, matches invoice lines to PO lines automatically, and hands staff a review screen where only exceptions need attention — approved invoices export straight to the ERP.
The pipeline runs in two decoupled stages. Stage one extracts: a custom PDF processor converts each invoice to structured text in milliseconds, then an LLM pulls out vendor, invoice number, dates, currency, totals and the complete line-item array with strict schema-validated output. Stage two matches: each invoice line is paired with its PO line deterministically first — SKU and price logic that handles unit-of-measure differences — with an AI fallback only for the leftovers.
Staff see a split-screen review: parsed fields on the left, the source PDF pinned on the right, live PO data from the ERP inline. They correct anything, re-trigger matching, and approve — and clean, fully-matched invoices need barely a glance.
- A hard accuracy gate on every invoice — extracted line totals are reconciled against the printed subtotal before anything proceeds. In the first production run this gate caught the AI misreading an extended total as a unit price — a $23,908 error on a $4,391 invoice — and routed it to review automatically.
- Per-supplier AI instructions — admins can write supplier-specific extraction and matching guidance in plain language — no regex, no code — because supplier quirks are the rule, not the exception.
- Self-improving matching — when the AI fallback resolves a supplier's SKU pattern, it's flagged as a candidate rule — so AI-resolved matches become instant deterministic ones over time.
- Confidence-based routing — the AI reports its own confidence per invoice; low-confidence or unreconciled invoices go to the review queue, clean ones stay in the fast lane.
The environment: Azure, Entra ID and a live ERP integration
The platform runs on Microsoft Azure — Container Apps for the web app, scheduled container jobs for the pipelines, Blob Storage for invoice PDFs, and managed identities with no stored keys — with staff signing in through Microsoft Entra ID, domain-locked to the company. The ERP integration talks to Infor CloudSuite Distribution through its official API.
Vendor and PO resolution happens against the production ERP in real time: the extracted PO reference is looked up through the ERP's API gateway, which confirms the canonical vendor before the invoice is even fully parsed. The invoice's own claim about who sent it is deliberately never trusted — the PO round-trip is the source of truth.
Deployment is push-to-main through GitHub Actions with federated credentials into Azure — no long-lived secrets anywhere in the chain. Error handling is designed to plug into Microsoft Power Automate for notification workflows, keeping exception alerts inside the tools the team already uses.
The result: staff review exceptions, not invoices
In validation against real production invoices, 12 of 13 extractions reconciled to the cent on the first pass — and the thirteenth was the one the accuracy gate was built for. Line matching resolved the majority of lines automatically at 0.96 average confidence, with every unmatched line carrying a recorded reason for the reviewer instead of a blank.
At ~1,500 invoices a month, moving from full manual keying toward touchless processing changes AP's economics: industry data puts automated processing at roughly a third of manual cost per invoice. Just as importantly, it changes what the AP team does — from data entry to exception handling and supplier management.
Frequently Asked Questions
Can AI really extract data from supplier invoices accurately?
Yes — with verification built in. In this deployment, 12 of 13 real production invoices extracted and reconciled exactly on the first run. The key is never trusting extraction blindly: every invoice passes a mathematical reconciliation gate (do the extracted lines sum to the printed total?) before it can proceed, so the rare misread is caught automatically rather than posted to the ERP.
What is touchless invoice processing?
Touchless processing means an invoice flows from arrival to ERP-ready without a human touching it: AI extracts the data, the system resolves the vendor and PO, lines match automatically, and validation passes. Humans only see exceptions — mismatched totals, unmatched lines, low AI confidence. Clean invoices from well-behaved suppliers reach near-touchless quickly; messy ones improve as per-supplier rules accumulate.
How does AI handle supplier SKUs that don't match our part numbers?
Deterministic logic handles the predictable cases — SKU containment, unit-of-measure conversion, price-based matching. For the genuinely inconsistent cases, admins write plain-language instructions per supplier ('this vendor prefixes our SKU with their line code'), and the AI applies them. When the AI figures out a new pattern, it's proposed back as a saved rule.
Does this replace our ERP's invoice entry?
No — it feeds it. The platform sits between the AP inbox and the ERP: it does the reading, matching and validation, then produces clean import records for the ERP to post. Your ERP remains the system of record; the platform removes the keying and checking work in front of it.
What does an invoice cost you to process?
If your AP team is keying supplier invoices by hand, tell us your volumes, your ERP and how standard your suppliers' invoices are. We'll tell you how much of the process AI can take over — and where the exceptions will come from.