Finance operations

How to automate three-way invoice matching.

How to automate matching of purchase orders, goods receipts and supplier invoices: tolerances, exception routing and what to measure.

Three-way matching checks a supplier invoice against the purchase order and the goods receipt before you pay it. To automate it, clean up the data the match depends on, write explicit matching rules and tolerances, capture invoice data reliably, and route exceptions to the person who can fix the cause. Then measure why invoices fail to match and fix those causes upstream.

Step 1: Clean up the data the match depends on

Automation only works if the three records exist and agree. Check three things first:

  • Purchase orders are raised before invoices arrive, not after
  • Goods are receipted promptly in the system when they arrive
  • Supplier master data (names, tax IDs, bank details) is correct and de-duplicated

Late receipting is the most common reason a perfectly good invoice fails to match.

Step 2: Write your matching rules and tolerances

Decide what "matches" means, in writing:

  • Match on PO number and line, then item, quantity and unit price
  • Set price and quantity tolerances, for example a small percentage or a fixed amount per line
  • Decide how to handle freight, tax and partial deliveries

Tolerances too tight create noise. Too loose, and you pay for things you did not receive. Start conservative and loosen with evidence.

Step 3: Capture invoice data reliably

Invoices arrive as PDFs, scans and emails in many layouts. Whatever captures them must extract supplier, invoice number, date, PO number, lines, quantities, prices and totals, and check its own work: do the lines add up to the total, is the invoice number already in the system?

Duplicate checks belong here. A duplicate invoice caught before payment costs nothing to fix.

Step 4: Route exceptions to the right person

Send each exception to the person who can resolve its cause:

  • Price difference: the buyer who owns the PO
  • Missing receipt: the receiving location
  • Unknown supplier or bank change: the vendor master team, with verification

Route with the evidence attached, so the person can decide without hunting.

Step 5: Measure match rate and exception causes

Track the share of invoices matched without a person, time from invoice received to approved, and the top exception causes each month. Fix the top cause, then the next. The match rate follows.

Where AI agents fit

Agents are good at steps 3 and 4: reading invoices in any layout, checking them, matching them and preparing exceptions with the evidence attached. In our finance operations service, matched invoices are posted and every item, including exceptions, is recorded in the Evidence File. An invoice counts as a verified outcome when it is matched, posted and not reversed within 30 days.

Common questions.

What is three-way matching?

Three-way matching compares a supplier invoice with the purchase order and the goods receipt before payment. Quantity, price and item must agree within set tolerances, or the invoice is held as an exception.

What is a good touchless match rate?

It depends on how clean your purchase order and receiving data is. The better measure is your own trend: the share of invoices matched without a person, and the top reasons for exceptions each month.

What stops invoices from matching automatically?

Usually upstream data: missing or late goods receipts, purchase orders raised after the invoice, price changes not updated on the order, and suppliers invoicing partial deliveries against a single line.

Want this run for you.

Agentic MSP runs back-office work with governed AI agents and bills only for verified outcomes.