Invoice matching is a good automation candidate because most of the volume is supposed to be boring. A supplier invoice should agree with a purchase order and, where relevant, the receipt. The valuable human work is resolving the differences. Yet many teams make a person inspect every match before they are allowed to find the mismatches.
This is a composite workflow built from the patterns we see in distribution and operations teams. The details vary by ERP and approval policy; the shape rarely does. We map the normal path, then spend most of the session on partial deliveries, freight, price changes, missing PO numbers and duplicate invoices because that is where the design is decided.
The workflow as it usually runs
- 1An invoice arrives in an accounts-payable inbox as a PDF or attachment.
- 2A coordinator identifies the supplier and searches for the purchase order.
- 3They compare quantities, unit prices, tax, freight and invoice total.
- 4They check the receipt when the order was delivered in parts.
- 5A clean match is entered into accounting or the ERP.
- 6A mismatch is emailed to purchasing, receiving or the supplier.
- 7The coordinator keeps a list of unresolved invoices and follows up.
- 8An approver signs off when policy requires it.
The eight opportunities
1. Capture the invoice and preserve the source
Save the original email and document against one work item before extracting anything. This creates the audit trail and prevents an attachment from disappearing into a forwarded thread. The trigger is ordinary email integration; the important design choice is the stable identifier used through the rest of the process.
2. Extract the fields with confidence per field
Supplier, invoice number, dates, PO number, line items, tax and totals can be read from varied layouts. This is where document AI is useful. Confidence belongs on each field, not only on the document, because a clear invoice number does not make a blurred unit price safe to post.
3. Identify the supplier and purchase order
Start with explicit identifiers, then supplier account, email domain and known references. A missing PO should become a named exception rather than a search across inboxes. Matching is mainly lookup logic; a model may help only when supplier references are inconsistent.
4. Retrieve the order and receipt automatically
Once the identifiers are known, the workflow should fetch the purchase order, amendments and goods receipts from the systems of record. A person opening those records is not applying judgement. They are acting as the integration between accounting and the ERP.
5. Compare lines using written tolerances
Quantity, unit price, tax and freight should be compared separately. The tolerance may differ by supplier, product or amount. These are rules, not AI. Writing them down often exposes policy that existed only as “what the senior coordinator normally accepts,” which has to be resolved before automation.
6. Detect duplicates before anything posts
Supplier plus invoice number is the first check, but not the last because numbers are mistyped and documents are resent. Add amount, date and PO similarity, then send possible duplicates to review with the matching record attached. The cost of this check is trivial beside paying twice and recovering it later.
7. Route exceptions with the evidence attached
A mismatch queue should say what differs, by how much, who owns the next decision and how long it has waited. Purchasing sees price issues, receiving sees quantity issues, and accounts payable sees policy issues. Nobody should receive “please look at this invoice” without the invoice, PO, receipt and calculated difference.
8. Post clean matches and record every decision
Exact matches and explicitly tolerated differences can post automatically if the accounting system supports it. The record should include source documents, extracted values, matched records, rule results and any human approval. That history is the product, not an optional log added after launch.
What we would build first
Start with capture, extraction, record retrieval and line comparison, then render the result for a person without posting. Run that shadow workflow on real invoices and compare its match decision with the team’s. Only after the disagreement categories are understood should clean matches post automatically.
The process problem technology cannot hide
If purchase orders are routinely created after the invoice arrives, or receipts are never recorded, matching automation will expose that gap rather than solve it. Fix the upstream record first.
Return to the seven distributor workflows and choose the next process to inspect.