Three-Way Matching Automation: How AI Handles PO, Invoice, and Goods Receipt
Tom van Wees
·
10 min read
Manual three-way matching dominates an AP controller's week. See how AI executes PO, invoice, and goods receipt matching directly inside Business Central, SAP, Exact, and AFAS.

Three-Way Matching Automation: How AI Handles PO, Invoice, and Goods Receipt
Every supplier invoice arriving at a mid-market manufacturer or distributor triggers the same three-way matching check. Did the invoice match the purchase order, and did the goods actually arrive in the quantity billed? For a busy finance team, that check happens hundreds of times a month. Each time, someone opens the ERP, pulls the PO, finds the goods receipt note, and reconciles the three by hand. When numbers do not tie out, the invoice sits in a queue, the supplier chases payment, and the AP controller burns the afternoon on emails instead of closing the period.
Three-way matching exists to prevent duplicate payments, fraud, and overbilling. Done manually, it dominates the AP controller's week. Done badly, it lets errors slip into the general ledger. For SMEs running Dynamics 365 Business Central, SAP Business One, Exact, or AFAS, manual three-way matching is one of the biggest hidden costs in accounts payable. However, the logic behind it is deterministic, not judgmental, which is why it belongs to automation.
At Lleverage, we build the AI layer that runs three-way matching directly inside your ERP. POs, goods receipts, and supplier invoices flow in from email, EDI, or PEPPOL. Each invoice gets matched on quantity, price, and tolerance, then posts as approved or flagged without a controller touching it. Book a demo to see it run against your own ERP data.
This guide covers what three-way matching is, how the process works end-to-end, where manual matching fails, and how AI-driven three-way matching automation eliminates the work without replacing your ERP.
What is three-way matching in accounts payable?
Three-way matching is the accounts payable control that compares three source documents before approving a supplier invoice: the purchase order, the goods receipt note, and the supplier invoice. All three must agree on vendor, item, quantity, and price within a defined tolerance. If they do, the invoice gets approved. If they do not, an exception fires and the AP controller investigates.
Each of the three documents serves a different purpose. Procurement issues the purchase order, capturing what was ordered, at what price, from which vendor. Warehouse staff raise the goods receipt note when the shipment physically arrives, confirming what was delivered and in what condition. The vendor sends the supplier invoice via email, PDF, EDI, or PEPPOL.
A three-way match confirms the business is charged only for goods it ordered and received. When any of the three disagree, one of four things happened: the order was short-shipped, the vendor overbilled, the price changed without a contract update, or the receipt has not posted yet. Each exception requires a different handler, which is why exception routing matters as much as the match itself.
How does the three-way matching process work step by step?
The three-way matching process runs in six sequential steps, from PO creation to posted payment approval. Most ERP systems support the structure. However, they do not automate the document capture or the tolerance-based exception handling that makes the control work at scale.
Here is the end-to-end flow:
Purchase order issued. Procurement raises a PO in the ERP for a specified quantity at a contracted unit price, then sends it to the vendor.
Goods received. Warehouse staff log the shipment against the PO on arrival, creating a goods receipt note with actual quantity, date, and condition.
Supplier invoice arrives. The invoice lands via email PDF, EDI transmission, or PEPPOL e-invoice, with line items referencing the PO number.
Data captured. AP staff digitize the invoice. Each line carries PO number, quantity, unit price, and totals.
Three-way match executed. The AP system compares invoice lines against PO lines and goods receipt lines on quantity, price, and vendor, within pre-set tolerance bands.
Approval or exception. If all three match within tolerance, the invoice posts for payment. If not, the system routes an exception to the AP controller, buyer, or warehouse, depending on the mismatch type.
Steps 4 and 5 cost manual teams the most time. Reading invoices, typing line data, and cross-checking against PO and goods receipt screens is repetitive and error-prone. Therefore, it is impossible to scale without adding headcount.
Why do mid-market companies struggle with manual three-way matching?
Mid-market manufacturers, distributors, and logistics companies struggle with manual three-way matching because invoice volume outgrows AP capacity faster than ERP configuration can catch up. A single AP controller can realistically handle only a few dozen invoices a day before accuracy and controls start to slip. However, when monthly volume runs into the thousands, the backlog compounds, early-payment discounts get missed, and the tightest controls are the first to be skipped.
Four specific failure modes show up repeatedly in SME finance teams:
Invoice data entry as the bottleneck. Reading PDF invoices and typing line-level data into the ERP takes several minutes per invoice. At realistic SME volumes, that accumulates into hundreds of hours of pure data entry every month.
Goods receipt posting lag. Warehouse staff often post receipts in daily or weekly batches, so invoices arrive before the ERP knows the goods did. As a result, AP chases false exceptions.
Tolerance rules set too tight or too loose. ERP tolerance settings are either so strict that everything flags, or so loose that errors pass through. In addition, tuning them per vendor or commodity is manual work nobody has time for.
Exception handling without clear ownership. A price mismatch belongs to procurement, a quantity mismatch to the warehouse, and a coding issue to finance. Without routing, every exception lands on the AP controller's desk.
As a result, mid-market AP teams either hire more people, outsource to a BPO, or accept that the control is partially skipped. None of those are sustainable. Three-way matching automation changes the economics by removing the data-entry step and routing exceptions to the right owner automatically.
What does three-way matching automation actually do?
Three-way matching automation uses AI to read supplier invoices, extract line-level data, match each line to the corresponding PO and goods receipt inside your ERP, and either approve the invoice or route the exception to the right person. Unlike template-based OCR, modern AI-driven matching handles the variation in supplier invoice formats without per-vendor configuration. As a result, AP teams get coverage across every vendor on day one.
The work an automation layer takes over:
Invoice capture from any channel. Email PDFs, EDI feeds, PEPPOL e-invoices, supplier portals. The AI extracts header and line data with PO references.
Line-level matching with tolerances. Each invoice line matches against the PO line and goods receipt line on quantity, price, and unit of measure, using tolerance bands you define in the ERP or in the automation layer.
Exception classification and routing. Price variance goes to procurement. Quantity variance goes to the warehouse. Missing goods receipt goes to a posting queue. Missing PO goes to AP.
Posting into the ERP. Matched invoices post as approved with full audit trail: which PO line, which receipt line, which tolerance rule, which approver.
Learning from approvals. When a controller overrides a flagged invoice, the automation captures the pattern and reduces false exceptions over time.
In practice, the outcome is an AP process where the majority of invoices post without human touch. Controller time shifts from typing to resolving real exceptions. Invoice processing automation built on this model works whether you run Business Central, SAP, Exact, or AFAS, because the integration layer sits on top of the ERP, not inside it.
Two-way vs three-way vs four-way matching: which control do you need?
Two-way, three-way, and four-way matching are progressively stricter AP controls. Two-way compares invoice to PO. Three-way adds the goods receipt. Four-way adds inspection or quality approval. The right level depends on spend category, risk, and whether goods physically arrive at a location you control.
The comparison below summarizes the differences for a typical SME manufacturer:
Control | Two-way | Three-way | Four-way |
|---|---|---|---|
Documents matched | PO + invoice | PO + invoice + GRN | PO + invoice + GRN + inspection |
Best for | Services, subscriptions | Physical goods, raw materials | Regulated, high-risk goods |
Fraud protection | Low | High | Highest |
Typical use case | SaaS, consulting fees | Components, stock | Pharma, aerospace |
Automation suitability | Yes | Yes | Yes |
For most SME manufacturers and distributors, three-way matching is the right default. It catches overbilling and short shipments without adding the operational overhead of a quality-inspection gate. Four-way is reserved for goods where regulatory traceability is mandatory. Two-way makes sense for services where no goods physically change hands.
How does AI-driven three-way matching fit inside Dynamics 365 Business Central and SAP?
AI three-way matching sits as a layer on top of your ERP. It reads POs and goods receipts through the ERP's API and posts matched invoices back into the AP module. In Business Central, it plugs into the Purchase Invoice table and respects the native tolerance groups. For SAP Business One, it posts through the A/P Invoice DI object. In Exact and AFAS, it uses the standard purchase invoice endpoints.
The ERP stays the system of record. However, the automation layer does three things the ERP cannot: capture unstructured invoice data from email and PEPPOL, match at line level across documents with variable formatting, and route exceptions based on mismatch type. Microsoft's own Payables Agent in Business Central handles basic matching for clean invoices. Yet it stops short on exception routing, non-BC document sources, and multi-ERP environments.
For a mid-market finance team, the result is concrete. Invoices that used to sit in a shared inbox for days now post within hours, with full AP automation audit trails back to the source PDF. Exception queues shrink because price variances route to the buyer and quantity variances route to the warehouse, instead of all landing on AP. For wholesale distributors processing high invoice volumes, the headcount impact is material on the AP side, freeing controllers to focus on cash flow and vendor management.
What tolerance rules should AP teams set for three-way matching?
Tolerance rules in three-way matching define how much variance between PO, invoice, and goods receipt is acceptable before the system flags an invoice. A well-tuned tolerance set lets most routine invoices match automatically. However, set too tight and everything flags; set too loose and errors slip through. In practice, the right tolerances vary by vendor, commodity, and business risk.
Commonly used starting bands that SME finance teams tune over time:
Quantity tolerance: a small percentage or one-unit variance, whichever is greater, for commodity goods. Zero tolerance for high-value or serialized items.
Price tolerance: a small percentage or a fixed low euro amount, whichever is greater, for most supplier invoices. Zero tolerance for contracted fixed-price items.
Total invoice tolerance: a capped percentage of PO total, to catch rounding differences and freight uplifts.
Vendor-specific overrides: known good vendors can have wider tolerance bands. New vendors and high-variance suppliers get tighter bands until a track record is established.
Treat these as a starting point, not a standard. Every AP team should pressure-test tolerances against its own spend profile and exception history.
AI-driven three-way matching takes tolerance tuning a step further by learning from controller overrides. For example, when an AP controller repeatedly approves a flagged invoice from the same vendor, the automation reduces the flag rate for that vendor or commodity combination automatically. As a result, static tolerance groups in the ERP give way to adaptive tolerance learning in the automation layer.
Frequently Asked Questions
What is the difference between two-way and three-way matching?
Two-way matching compares the supplier invoice to the purchase order on vendor, item, quantity, and price. Three-way matching adds the goods receipt note, confirming the goods actually arrived before the invoice is paid. Three-way protects against paying for short or missed shipments, which two-way cannot detect.
Can three-way matching be fully automated?
Yes. AI-driven three-way matching automation handles the bulk of supplier invoices without human touch, matching PO, invoice, and goods receipt lines at scale inside the ERP. However, a residual share are legitimate exceptions that need a human to resolve: pricing disputes, short shipments, or missing goods receipts.
Does three-way matching work with PEPPOL e-invoices?
Yes. PEPPOL e-invoices arrive in structured XML with line-level data, which is ideal for three-way matching. The automation layer parses the invoice, extracts PO references, and matches against the ERP's PO and goods receipt records the same way it does for email PDFs, without the data-entry step.
How long does three-way matching automation take to implement?
Implementation inside Business Central, SAP, Exact, or AFAS typically runs in weeks rather than months. Timelines depend on ERP customization, vendor master data quality, and tolerance rule complexity. The biggest driver is not the AI itself, but mapping existing AP approval workflows and setting exception routing rules by mismatch type.
What happens when the three-way match fails?
The system routes the invoice to an exception queue based on the mismatch type. Quantity mismatches go to the warehouse to confirm the goods receipt. Price mismatches go to procurement to verify the PO price. Missing POs go to AP to request a PO from the requester. Each exception has a clear owner and audit trail, so invoices do not sit in a shared inbox.
See three-way matching automation run against your own ERP
If your AP team runs three-way matching manually on high invoice volumes, the cost is real and measurable. Therefore, a quick benchmark pays back fast. Book a 30-minute walkthrough with Lleverage to see the automation run against your own Business Central, SAP, Exact, or AFAS data.