Key takeaways
- A three-way match compares the PO (what was ordered and at what price), the goods receipt (what arrived) and the invoice (what the supplier bills), and pays only when they agree within set limits.
- Most failed matches come from ordinary causes, such as unit of measure, partial deliveries, freight and price changes not yet on the PO, rather than from fraud.
- Tolerances work best as a percentage and an absolute amount together, and each exception type needs a named owner with a deadline tied to the payment due date or discount date.
- Automation can read the documents, apply the rules and route the exceptions, but approving payment above tolerance, accepting a price variance and changing bank details stay with people.
- Start with one supplier group, test on 50 to 100 real invoices, run beside the manual process, and measure overpayments and duplicates caught before payment, not invoices processed.
Many overpayments are visible on paper before the money leaves. The supplier bills 600 cases, receiving logged 540, and nobody compares the two until the supplier statement fails to reconcile at month end. Checking an invoice against the order and the receipt is repetitive work that people do last, under pressure. It is also work software can do first, once the rules and the owners are agreed. This guide is written for accounts payable teams at companies of roughly 20 to 200 people, and the legal references are US ones.
What does three-way match involve?
Three-way match is an accounts payable control that compares three documents for the same purchase before an invoice is approved:
- Purchase order (PO): what the buyer ordered, at what price, quantity and terms.
- Goods receipt (GRN or receiving report): what physically arrived and when.
- Supplier invoice: what the supplier now asks to be paid.
If the three agree, within limits you set, the invoice is cleared for payment. If not, it is held and someone investigates. The control is often called three-way matching, and it has two close relatives, two-way match and four-way match, compared in the next section.
Two-way vs three-way vs four-way match
The three match types differ in how many documents are compared before an invoice is cleared for payment.
| Two-way match | Three-way match | Four-way match | |
|---|---|---|---|
| Documents compared | PO and invoice | PO, goods receipt and invoice | PO, goods receipt, invoice and an inspection or acceptance record |
| Best for | Services, subscriptions and utilities, where there is no physical receipt | Stocked goods and materials, where the quantity received matters | Goods that must pass inspection before payment, such as materials released only after a quality check |
| Example | A monthly software subscription invoice checked against the PO | 600 cases ordered, 540 received and 600 billed | Raw materials received, inspected and accepted before the invoice is paid |
| What it adds | Catches price and item differences | Also catches short or partial deliveries and billing ahead of delivery | Also catches goods that arrived but failed inspection |
Carrier freight bills follow different contracts and a legal dispute clock, which freight invoice audit covers.
Do US rules require a three-way match?
US federal agencies are required to support invoice payments with receiving documentation, and private companies set their own matching policy.
The US federal government writes this control into its payment rules. 5 CFR 1315.9 says agencies must ensure payment documentation is established to support payment of invoices, including a proper invoice (with vendor name, invoice date, description, price and quantity) and information from receiving reports, delivery tickets and evaluated receipts, such as quantities received and the dates goods were delivered and accepted (5 CFR 1315.9). FAR 32.905 says payment "will be based on receipt of a proper invoice and satisfactory contract performance" and that invoice payments must be supported by a receiving report or other documentation authorizing payment (FAR 32.905). Those rules bind federal agencies, so a private company's matching policy and tolerances are its own to set.
Which fields have to agree?
A match is a set of field checks, not one comparison. These are the ones that catch most real problems.
| Field | Compared across | What a mismatch usually means |
|---|---|---|
| Supplier ID and name | PO, invoice, vendor master | An unapproved entity, or a duplicate vendor record |
| PO number and line | PO, receipt, invoice | A missing or mistyped reference, or billing against the wrong line |
| Item or SKU | PO, receipt, invoice | A substitution, or a supplier part number that is not mapped to your item |
| Unit of measure | PO, receipt, invoice | Case versus each, or a pack size change, so quantity and price both look wrong |
| Quantity | PO ordered, receipt received, invoice billed | A short or partial delivery, or billing ahead of delivery |
| Unit price and extended amount | PO, invoice | A price increase not on the PO, a missing discount or a rounding error |
| Freight, tax and surcharges | PO terms, invoice | Freight billed on prepaid terms, a wrong tax rate, or an unagreed fuel surcharge |
| Payment terms and discount | PO or contract, invoice | Shorter terms than agreed, or an early payment discount dropped |
| Currency | PO, invoice | The wrong currency or exchange rate |
| Invoice number, date and amount | Invoice, earlier invoices from the supplier | A duplicate or resubmitted invoice |
| Remit-to address and bank details | Invoice, vendor master | A changed payment destination, which needs verification before anything is paid |
The FAR also lists unit of measure, unit price, extended price, the order and line item number, and any discount for prompt payment terms as parts of a proper invoice (FAR 32.905).
How do price and quantity tolerances work in three-way match?
Price and quantity tolerances turn an all-or-nothing comparison into a usable control, because they let small, expected differences pass without a person and stop the rest. Set them as a percentage and as an absolute amount together. Dynamics 365 Finance, for example, lets you base price matching on a percentage, an amount, or both (Microsoft Learn). Each fails alone: 2% of a $40,000 line is $800, which is too much to pass unseen, while a flat amount alone floods the queue with pennies on high-volume items.
Set separate limits for quantity, price and charges such as freight, and treat direction differently: an invoice below the PO price rarely needs a person, while one above it often does. Some conditions are hard stops with no tolerance: an unknown supplier, a duplicate invoice number, a goods line with no receipt, or changed bank details.
Which cases break a simple match?
Partial receipts. A PO for 600 cases may arrive in three deliveries. Each invoice has to match what was received so far, not the full order.
Invoice before receipt. The invoice often arrives before the goods are logged. Hold it until the receipt posts rather than rejecting it, and set a time limit after which a person checks whether the goods actually arrived.
Services with no receipt. There is nothing to receive, so use a two-way match plus approval by the budget owner who confirms the work was done.
Blanket POs and releases. One PO covers many deliveries over time, so the match has to work against the remaining balance and the release, not the PO total.
Price changes not yet on the PO. A supplier raises a price by letter and the PO still shows the old one. The invoice fails the match for a legitimate reason, and the fix is updating the PO after the buyer agrees.
Where do three-way match documents and data come from?
The PO lives in your ERP, whether that is NetSuite, SAP, Microsoft Dynamics 365 or Oracle. So does the goods receipt, under different names: an item receipt in NetSuite, a product receipt in Dynamics 365, or a goods receipt posted in SAP, where the value waits in the GR/IR clearing account until the invoice is posted (SAP Help).
An advance ship notice (ASN, EDI 856) tells you what the supplier says is on the way, but it is not proof of receipt. Only the receiving record shows what actually arrived.
Invoices arrive in every format: EDI 810, PDF by email, a supplier portal or a scanned paper copy. SPS Commerce notes that the EDI 810 carries the PO number and that buyers can reconcile it against orders and shipments to verify invoice amounts (SPS Commerce). Structured invoices are the easiest to match. The others must be read first, as covered in AI document processing for invoices, contracts and forms.
What can automation and AI do with a match?
In a three-way match, automation prepares the case and people approve the payment. A workflow reads each invoice into the same fields as the PO and receipt, links it to the right PO and line, and calculates the variances. It applies your tolerances by supplier, category or item. Invoices that match within tolerance continue to your ERP's normal posting and approval path. Invoices that arrive before receipt wait. Everything else becomes a routed exception, listing both values, the variance and the source page.
AI is most useful in the reading and the linking: extracting line items from a PDF, recognizing that "CS", "case" and "12/ct" describe the same pack, and proposing the likely PO when the reference is missing. The comparison and the tolerance arithmetic are ordinary logic. Keeping the two apart makes the results easier to audit.
Microsoft's Dynamics 365 Finance guidance shows the shape of a good exception flow: an invoice with a quantity difference can be saved and matched later to a different receipt, and one with a price outside tolerance can be held until it is approved or a correction arrives (Microsoft Learn). Automation's job in a three-way match is to get each case to the right person with the evidence attached.
Who should receive each three-way match exception?
Name the owner for each exception type before building anything, and attach a deadline tied to a real date.
- AP specialist: invoice data problems, missing PO references and duplicates. Resolve before the next payment run and before any early payment discount date.
- Buyer or purchasing: price variances against the PO. Decide before the payment due date: approve and update the PO, or request a credit memo.
- Receiving or warehouse: receipts that are missing or short. Confirm within the agreed number of working hours, and well before month-end close so accruals are right.
- Requester or budget owner: confirmation that services were performed. Respond before the payment due date and before month-end cut-off.
- Vendor master team: any change to remit-to address or bank details. Verify with the supplier through a known contact before anything is paid to the new details.
- Controller: tolerance overrides, exceptions that have aged past terms and the tolerance policy itself. Review weekly, and before each close.
Escalate on the clock: an exception that sits past the discount date or due date has already cost money.
What should stay with people in a three-way match?
A match prepares a payment decision. It should not make the ones that carry financial responsibility.
Approving payment above tolerance. Paying more than the PO supports is a judgment about the relationship, the goods and the cost.
Accepting a price variance. Only a buyer or budget owner with authority can decide that a higher price is justified, and then the PO should be updated.
Changing supplier bank details. Bank detail changes are a common route for payment fraud. Verification and approval stay with people, and the person who approves payments should not be the one who can change the vendor master.
Write-offs and supplier disputes. Settling a disputed amount, a short delivery or a pricing disagreement is a commercial decision that involves the relationship.
Setting tolerance policy. Finance leadership decides how much variance the business will accept unseen.
Illustrative example: Consider a regional food distributor whose supplier terms are 2/10 net 30. For one PO, the supplier invoices 600 cases at $18.90. The PO price is $18.40, and receiving logged 540 cases, one pallet short. A workflow ties the invoice to the PO and receipt, and finds two exceptions on one invoice. The quantity variance (60 cases) goes to receiving, and the price variance ($0.50 per case, about 2.7%, against tolerances of 1% and $25 per line) goes to the buyer. The invoice is held, not rejected. Receiving confirms the pallet was short shipped, and the buyer confirms no price increase was agreed. The supplier sends a corrected invoice for 540 cases at $18.40, or $9,936 instead of $11,340, before the day 10 discount date, and AP pays that, avoiding $1,404 of overpayment.
How do you know three-way match automation is working?
The useful measures show money kept and errors stopped, not invoices touched.
Overpayments and duplicates caught before payment is the share of billing errors stopped ahead of the payment run, compared with those found later by a statement reconciliation or an audit.
Early payment discounts lost to unresolved exceptions shows whether the queue is costing you money.
Exceptions aged past terms shows whether routing and deadlines work, and which owner or supplier is the bottleneck.
Tolerance overrides and false alarms tracks how often the controller overrides a hold, and how many exceptions are closed with no change. Both point to tolerances set too tight or too loose.
Pull a baseline from the last few months before you start.
How do you start automating three-way match?
- Choose one supplier group with enough volume to measure, such as your suppliers of stocked goods that invoice against POs.
- Agree the hard stops and the tolerances with AP, purchasing and receiving, using your recent approved variances as the starting point.
- Collect 50 to 100 real invoices with their POs and receipts, including the messy ones, and test reading and matching accuracy before connecting anything live.
- Run the workflow beside the manual process for a defined period and compare what each catches.
- Add routing, owners and deadlines once the findings are trustworthy, and name who handles each exception type.
- Extend to the next supplier group or to services only when the first is stable. How to rank candidates is covered in Which business processes to automate first.
How Kastling approaches three-way match automation
Kastling treats invoice matching as a workflow to understand before anything is built, as part of the AI Integration & Automation service. It starts with a free discovery call. A separately scoped paid audit is common next, reviewing how invoices, POs and receipts reach your team, where your ERP holds each one, and where exceptions cost money or discounts today.
The workflow connects to the ERP, receiving and invoice sources you already use. Tolerances are agreed with the people who handle exceptions, each exception goes to a named owner, and payment approval, price variances and bank detail changes stay with your team. We agree up front how success will be measured and test the workflow on your real invoices before it runs live.
Automation priority scorer
List up to five processes and see them ranked for automation, with a score, the hours each takes today and the reason for its place.
Questions
Does every invoice need a three-way match?
No. Services, subscriptions and utilities have no goods receipt, so they usually go through a two-way match or a budget owner’s approval. You can also set a value threshold below which a lighter check is enough. Spend your matching effort where the money and the risk are, and write the rule down so it is applied the same way every time.
How do we choose tolerance levels?
Start from your own history rather than a rule of thumb. Look at the last few months of invoices that were approved despite a variance, and see where a person would have waved them through anyway. Set the percentage and the amount from that, then review them quarterly with AP and purchasing, because tolerances that are too tight bury the team in exceptions.
Our ERP already has three-way match. What does automation add?
Native matching usually works well when invoices arrive as clean EDI with a valid PO number. Automation adds value around it: reading PDF and emailed invoices, finding the right PO when the reference is missing or mistyped, normalizing units of measure, and routing each exception with the evidence attached. The ERP stays the system of record.
What if suppliers send invoices without a PO number?
It is one of the most common causes of delay. A workflow can propose the likely PO from the supplier, the item descriptions and the amounts, but a person should confirm the proposal until you have measured how often it is right. Also tell suppliers what a valid invoice must carry, since fewer missing references is the cheapest fix.
Can AI approve and pay invoices on its own?
It can post invoices that match within the tolerances your policy sets, as a workflow rule your team owns. It should not approve payment above tolerance, accept a price variance or change supplier bank details. Those decisions need a named person with authority, and your payment approvals should stay inside your ERP’s own controls.
Sources
- Legal Information Institute: 5 CFR 1315.9, Required documentation
- Acquisition.gov: FAR 32.905, Payment documentation and process
- Microsoft Learn: Work with accounts payable invoice matching in Dynamics 365 Finance
- Microsoft Learn: Two-way price totals matching (Dynamics 365 Finance)
- Microsoft Learn: Charges matching (Dynamics 365 Finance)
- SAP Help Portal: GR/IR Clearing Account
- SPS Commerce: EDI 810 invoice