Run a three-way match on purchase invoices
Each supplier invoice is compared with its purchase order and goods receipt before anyone approves it. Quantities, prices and totals that agree within your tolerance move on automatically. Everything else lands in a short review queue with the mismatch highlighted. Suited to finance teams keying invoices against POs in an ERP.
Function: Finance · Industry: Any industry
Run a three-way match on purchase invoices
6 steps
At a glance
- Trigger
- A supplier invoice that references a purchase order is received.
- Typical inputs
- Supplier invoices (PDF, email body or e-invoice file)
- Purchase orders with line items
- Goods receipts or service entry sheets
- Tolerance rules by supplier or category
- Systems it usually connects to
- NetSuite
- SAP
- Sage Intacct
- Outlook
- How the work splits
3 rules, 2 model, 1 person steps
How it runs, step by step
6 steps, each tagged by what does the work. Rules are fixed logic, a model reads or drafts, and a person decides.
- Rules Fixed logic in code
- Model AI reads or drafts, with a confidence score
- Person A named person decides
- 1
Extract invoice data
ModelA model reads the header and lines: supplier, PO number, quantities, unit prices, tax and totals, with a confidence score per field.
- 2
Find the PO and receipt
RulesCode looks up the purchase order and the goods receipt by PO number, then falls back to supplier plus amount when the reference is missing.
- 3
Compare line by line
RulesQuantity, price and total are compared against the PO and the received quantity, using the tolerances you configured for that supplier.
- 4
Suggest the cause
ModelWhen lines disagree, a model proposes the likely cause, such as a partial delivery or a price change on a renewed contract.
- 5
Decide on the exception
PersonA buyer or AP clerk approves the variance, asks the supplier for a credit note or holds the invoice until goods arrive.
- 6
Release for payment
RulesMatched invoices are posted to the ERP and released on the payment run that fits the due date.
Where people approve
The decisions that stay with your team, whatever the confidence score says.
- A buyer approves price variances outside tolerance.
- Receiving confirms any invoice that is billed ahead of delivery.
- Overrides of a failed match are logged with the approver's name.
KPIs to track
What to measure, before and after. Targets come from your own baseline.
- 01Match rate without manual review
- 02Age of invoices sitting in the exception queue
- 03Value of invoices paid with an unresolved variance (should be zero)
- 04Late payments caused by matching delays
Questions about this workflow
What if the invoice arrives before the goods receipt?
It waits. The match runs again when the receipt is posted, and the invoice is flagged to the buyer if it is still unmatched near its due date. We do not let the system pay against a missing receipt.
Does this replace the ERP's own matching?
It sits in front of it. Many ERPs only match once an invoice has been keyed in correctly. This step reads and keys the invoice, applies your tolerances and explains the exceptions, then writes into the ERP's normal approval flow.
Which steps use rules, a model and a person?
Rules: find the PO and receipt; compare line by line; release for payment. Model: extract invoice data; suggest the cause. Person: decide on the exception. Rules are fixed logic in code. A model reads or drafts and reports its confidence. A named person decides.
What do we need to start?
Typically: supplier invoices (PDF, email body or e-invoice file); purchase orders with line items; goods receipts or service entry sheets; tolerance rules by supplier or category. You also need read access to NetSuite, SAP, Sage Intacct and Outlook, or the equivalents you use. A workflow audit measures your volumes and past cases first, then gives a fixed price for the build, so you can decide with real numbers.
