
Each one of us who runs accounts payable has seen how long the “exception” queue can get. Invoices get put on hold because we need to find a receipt.
You could receive two copies of the same invoice (and hence pay twice). So what’s 3-way matching? And can we use AI to make it better?
3 way-matching in accounts payable allows us to compare each invoice to the associated purchase order and goods receipt.
Using AI will allow us to automate that process - reading the file, running the comparison, and passing exceptions to their owners.
Which is why this guide covers 3-way matching in accounts payable, how the match works, and how to add AI in your ERP to help with this.
What Is 3-Way Matching in Accounts Payable?
Three-way matching is an AP control that involves checking the invoice against three documents before the payment can go through.
This way, the company ends up paying for those items it ordered and received at an agreed price.
The purchase order (PO) represents what the company has approved, the goods receipt note (GRN) indicates what the company has received, while the supplier's invoice shows what the supplier wants to be paid. This implies that every document provides a different piece of information that is owned by its owner.
The whole matching process is not done by one team. That explains the reason why it is very difficult to trace any exception.
Not every buy needs the same level of control. Two-way matching checks the PO against the invoice, while Three-way matching adds a check on the goods receipt.
Meaning, two-way fits services and low-value spend, while three-way fits goods where the count matters.
Four-way matching adds an inspection or acceptance record. Use it for goods that must pass a check before the firm takes them on. The right method depends on the risk of the buy, not on one firm-wide rule.
In the grand scheme, our advice is to set the method by spend type and look it over once a year.
A four-way check on low-value spend adds unnecessary items for verification to the queue. Skipping a receipt check on high-value goods saves time. But by doing this, you leave a gap that the audit team will spot.
Three-way matching refers to a control where we have to cross-check our invoice with three other 3 documents before making the payment:

Tolerances specify what percentage of discrepancy that you will allow for various parts of your invoices before they are blocked from being processed (e.g., “I will accept up to 2% difference between my unit price and yours” or “I’m willing to pay $5 more per line than you quote”).
Note: These are sample figures, not sector norms or set approval rules.
On the whole, 3-way matching for accounts payable runs into issues or errors in the same few places. An exception is a gap the system finds, while a hold is the flag that blocks payment.
Each exception below has a root cause that often sits upstream of AP. So the owner counts as much as the fix.
In the grand scheme, upstream data and hand-off gaps cap your match rate. If receiving posts GRNs late, or supplier and item records don’t line up, even perfect reading of invoices still throws up exceptions.
An AI invoice and GRN reconciliation case study shows this at work. The platform pulled data out of PDFs, scans, and structured files.
In doing so, it flagged quantity gaps, price mismatches, missing line items, and supplier errors for review by exception.
Manually handling 2-way or 3-way matching for accounts payable works while volume is low and files are tidy. At scale, neither holds up. The cracks show up fast. In the grand scheme, here is where hand matching gives way:
For a wider view, read our guide to AI in accounts payable.
With this, AI turns accounts payable automation from fixed rules into sound judgment. Older RPA bots and template OCR follow fixed scripts.

They stop the moment a layout changes. Intelligent document processing (IDP) built on large language models (LLMs) reads context.
Meaning, 3-way matching for accounts payable using AI can handle unit-of-measure gaps, part shipments, and line items that don’t line up.
3-way matching for accounts payable using AI does four jobs:
The ERP still owns tolerances, holds, and approvals. The AI does the reading and the checking.
The AI never decides what a fair variance is, since that stays a business risk call set inside the ERP.
Instead, it applies your rules faster and more fairly than a worn-out queue of staff can. And it explains why an invoice stopped. In doing so, the next person starts with context, not a blank screen.
Template OCR reads set spots on a page. This works until a supplier changes a layout. Then someone has to rebuild the template.
On the whole, LLM-powered invoice data extraction reads the page structure instead. So it copes with new supplier formats, long line-item lists, tax, freight, and layouts it has never seen.
Good matching stacks a few methods. Exact matching handles PO numbers and item codes.
Tolerance-based matching handles price and quantity variance checks. On the whole, fuzzy matching ties supplier names back to the ERP vendor master. Line-item matching links each invoice line to a PO line.
Each field also gets a confidence score. Recent research on tuned confidence describes a smart setup. In doing so, high-confidence fields pass on their own, while the error rate of that group stays under a set cap, such as 10%. An invoice clears on its own only when all of these hold:
Matching pays off only if exceptions reach someone who can fix them. The AI should name the exception type, like a missing GRN.
With this, it should send the item to receiving, not to an AP clerk who can’t fix it. Dropping it on the wrong desk only slows things down.
ERPs back this too. Oracle Fusion Cloud has a Hold Resolution Routing workflow with set wait times and alerts. On the whole, SAP offers Flexible Workflow for Supplier Invoices. A sound setup has four parts:
Here, using AI can suggest, route, and remind. Meaning, a person with the right access makes the call. The record shows who made it and why.
Master data, like supplier IDs and open PO schedules, lives in the ERP. A tool that works from old exports can sign off on invoices against closed, used-up, or cancelled POs. In doing so, the tool has to query the ERP live.
Each platform runs the match its own way - but even with each platform there is still manual work left for informed professionals. That matters because an add-on tool has to write back to these exact setups, not to a plain stand-in.
SAP checks invoices through Logistics Invoice Verification (MIRO). With this, tolerance keys, such as PP for price variance, block an invoice when a limit is passed.
Approved users free it up through MRBR. Flexible Workflow for Supplier Invoices routes the approvals.
Oracle supports two-way, three-way, and four-way matching. In the grand scheme, you set the tolerance limits that trigger a hold.
Holds live in the AP_HOLDS_ALL table. Matching holds create one row per invoice-shipment match. Hold Resolution Routing sends each hold on to the right person. Meaning, each hold has a clear owner.
NetSuite offers a 3-Way Match Vendor Bill Approval workflow. The workflow routes bills to a team lead when limits are passed. You can set quantity and amount tolerances.
On the whole, you can also switch off exception rules that don’t apply. The docs list partly received item receipts as a limit.
Across all three, people still release blocks, sign off on price changes, and key in missing receipts.
Track the current process for at least one full close cycle before go-live. With this, you get a clean baseline. Then track the same numbers after launch.
Outside yardsticks help, within limits. APQC puts the midpoint cost per AP invoice at $6.00. On the whole, top firms spend about $0.38 per $1,000 of sales.
Although there is no published industry benchmark for this, we suggest you create the right one based on peers and what seems ideal based on your operations.
Tools can’t fix a broken buying process. If receiving keeps missing GRNs, the AI will do just what it was built to do. Meaning, the result is a faster flood of alerts. These are the common limits when automating 3-way matching for accounts payable:
Human judgment and sound receiving habits still carry the control in these scenarios.
On the whole, the Entrans team works side by side with finance ops and ERP teams to build LLM extraction across file formats, match invoices with POs and GRNs, and route flagged gaps to review queues.
Learn more about 3-way matching for accounts payable using AI or other AI-driven automation solutions, or why not book a free 30-minute call?
Two-way matching checks the PO against the invoice. Three-way matching adds the goods receipt note, to prove the goods showed up. Meaning, two-way suits services, while three-way suits goods where the count matters.
Four-way matching adds an inspection or acceptance record to the PO, GRN, and invoice. This proves the goods passed a check before payment. Use it for goods that need inspection and sign-off.
On the whole, you need the purchase order, the goods receipt note, and the supplier invoice. Buyers make the PO, receiving makes the GRN, and the supplier sends the invoice. The ERP then checks supplier, item, quantity, and price across all three.
The ERP flags an exception and often puts a hold on payment. In doing so, the ERP sends the invoice to its owner, such as receiving for a missing GRN or the buying team for a price variance. Payment goes out once the issue is fixed or an approved person signs off on the variance.
Yes, though the ERP keeps control. 3-way matching using AI is possible where it reads invoices, checks them against POs and GRNs, and routes exceptions to the right owner. With this, tolerances, holds, and payment approvals stay inside the ERP.
Yes. SAP S/4HANA checks invoices through Logistics Invoice Verification (MIRO), allowing 3-way matching for accounts payable. Tolerance keys, such as PP for price variance, block an invoice, and approved users free it up through MRBR.


