Two-way match vs three-way match: what's the difference?

Two-way match checks invoice against PO. Three-way match adds receipt. Here is when each is the right control, and what both miss. Read the full guide.

Twitter LinkedIn WhatsApp
Ask AI: ChatGPT Claude Gemini Grok
Two-way match vs three-way match: what's the difference?

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. Two-way match and three-way match are both invoice controls, and confusing what they check is a common reason invoices clear that should not.

This page is about the difference between the two, when each is the right call, and what both leave open regardless of which one a company runs.

Executive Summary

Two-way match checks an invoice against a purchase order: quantity and unit price agree, pay it. Three-way match adds the receipt: nothing gets paid until someone confirms the goods or hours actually arrived. The difference sounds small and controls a large share of what leaks through AP.

A two-way match will pay a clean-looking invoice for a shipment that never landed, because nothing in the check asks whether it did.

The choice is not a maturity ladder where three-way is always better. Two-way match is the right control for low-risk, high-volume categories where a receipt step would slow the business more than it protects it. Three-way match earns its cost where quantity is disputable and dollars are large: freight, contract labor, contract services billed by hours or units delivered.

Neither match tests whether the PO itself reflects the current contract rate, and that gap is where a large share of margin drift lives regardless of which match a company runs.

1. What is the difference between two-way match and three-way match?

Two-way match compares the invoice to the purchase order only: does the quantity and unit price on the invoice agree with what was ordered. Three-way match adds a third document, the receipt or goods-received note, and compares all three: PO, invoice and receipt must agree before payment releases. The added step is confirmation that what was ordered actually arrived, in the quantity billed, before cash leaves the business.

A two-way match asks one question: does this invoice match what we agreed to buy. It never asks whether the goods showed up or the hours were worked. That is fine for many purchases and a real gap for others.

A three-way match asks a second question on top of the first: did we receive what this invoice says we are paying for. The receipt document, whether a warehouse goods-received note or a signed labor timesheet, is the evidence that closes that gap.

Both checks compare against the purchase order as the reference point. Neither checks the purchase order itself against the underlying vendor contract, which is a separate and often larger source of drift.

2. When is two-way match the right control to run?

Two-way match is the right choice for low-dollar, low-risk, high-volume spend where adding a receipt step costs more in AP labor and cycle time than it recovers in caught errors. Office supplies, small recurring subscriptions, and low-value MRO restocks are typical candidates. The honest case for two-way match is not that it is weaker; it is that a receipt check adds friction the category does not need.

Every receipt requirement has a labor cost: someone has to log that goods arrived, in what quantity, and reconcile that against the invoice when it lands. For a low-value line item that arrives correctly, that labor cost outweighs the benefit.

Two-way match still catches the errors it is built to catch: wrong unit price against the PO, wrong quantity billed against the PO, duplicate invoice numbers. It simply does not confirm the goods physically arrived.

The honest recommendation is not to run three-way match everywhere. A category with low unit value and low quantity variance is a category where two-way match is the correct, cost-effective control, not an unfinished one.

3. When does three-way match earn its cost?

Three-way match earns its cost where the billed quantity is genuinely disputable and the dollar exposure per invoice is large: freight shipments, contract labor hours, equipment rental days, and services billed by unit delivered. In these categories, a receipt or timesheet is the only record that confirms the vendor is billing for something that happened, rather than something ordered but never fulfilled.

Freight is a clear case. A carrier invoice can bill for a shipment weight or accessorial charge that never matches what left the dock, and only a receiving record catches that.

Contract labor is a second clear case. A staffing invoice bills hours; only a signed timesheet confirms the hours were worked, at the site, by the person billed.

In both categories, the dollar value per invoice runs high enough, and the quantity claim is disputable enough, that the added receipt step pays for its own labor cost across a year of invoices.

4. What does three-way match still fail to catch?

Three-way match confirms quantity and delivery. It does not confirm that the rate on the purchase order still matches the vendor's current contract terms. A stale price file, an expired surcharge that keeps billing past its sunset date, or a rebate tier the vendor never applies will all pass a three-way match cleanly, because the PO itself, not just the invoice, is wrong.

Three-way match tests agreement between three documents. It has no view of a fourth: the contract those documents are supposed to reflect.

If a rate card changes and nobody updates the PO template or price file, every invoice can match the PO exactly and still overbill against the contract. The match passes because the match was never designed to check the contract.

This is a structural limit, not an implementation gap. Fixing it means comparing the PO and invoice against the contract terms directly, which is a different control than either match performs. It is discussed at length on the three-way match gap page and in the discussion of n-way invoice matching.

5. Can a company run both two-way and three-way match at once?

Yes. Many AP departments apply different matching rules by category or dollar threshold rather than picking one control for the whole business. A common pattern sets a dollar threshold: invoices below it clear on two-way match, invoices above it or in flagged categories require the receipt step.

The decision is a policy choice made per category, not a single company-wide setting applied uniformly to every vendor.

Routing rules make this workable at scale. A company does not choose one match type; it sets a policy that assigns match type by category or dollar value, and lets the ERP apply it consistently across every invoice that arrives.

That routing has to be maintained over time. A vendor account that starts small and grows into a large contract labor relationship needs its rule revisited, or it stays on the lighter check well past the point that check remains adequate.

A. Threshold-based routing

Many ERPs let AP route invoices to two-way or three-way match rules based on a configured dollar threshold or vendor category flag. A low-value office supply invoice clears on two-way. A high-value freight invoice routes to three-way automatically.

This routing has to be maintained. A vendor that starts at low dollar values and grows into a large contract labor account needs its routing rule revisited, or it stays on the lighter check past the point that check is adequate.

B. Category-based rules

Some companies set the rule by category rather than dollar value: all freight and contract labor invoices require three-way match regardless of size, because the category itself carries the quantity dispute risk that two-way match cannot see.

Category rules are simpler to audit than threshold rules, since nobody has to check whether a given invoice happened to cross a dollar line.

6. Does either match check the invoice against the vendor contract?

No. Both two-way and three-way match compare the invoice to the purchase order and, in three-way match, to the receipt. Neither compares the invoice or the PO to the underlying vendor contract: the rate card, volume tier, rebate clause, or surcharge sunset date.

That comparison is a separate control, usually called contract compliance, and it catches a different class of error than either match is built for.

This is the point where a lot of AP confidence is misplaced. A finance leader who sees three-way match running across freight and labor invoices reasonably assumes billing accuracy is covered. It covers quantity and delivery accuracy. It does not cover rate accuracy against contract.

A surcharge that should have expired on a stated date, a rebate tier the vendor never applies, a price file that was never updated after a rate renegotiation: all of these pass both matches cleanly because the PO itself carries the stale or wrong number.

Closing this gap requires checking the PO and invoice against the contract document directly, which is what a contract compliance audit does. It is a different question than either match answers, and it is where a meaningful share of recoverable margin drift sits.

For the wider pattern this sits inside, start with the margin drift guide.

For the wider pattern this sits inside, start with the margin drift guide.

7. Frequently Asked Questions (People Also Ask)

Is three-way match always better than two-way match?

No. Three-way match adds a receipt-confirmation step that costs AP labor and time. For low-dollar, low-risk categories, that cost outweighs the benefit. The right control depends on the category's dollar exposure and how disputable the billed quantity is, not on which control sounds more thorough.

Does three-way match stop contract overbilling?

No. Three-way match confirms the invoice, PO and receipt agree with each other. It does not check whether the PO itself reflects the current contract rate. A stale rate card or an expired surcharge passes three-way match cleanly because none of the three documents being compared is the contract.

What documents does a three-way match compare?

The purchase order, the invoice, and a receipt document such as a goods-received note or a signed labor timesheet. Payment releases only when quantity and terms agree across all three. Two-way match compares only the first two, the invoice and the purchase order.

Can two-way match catch a duplicate invoice?

Yes. Two-way match checks the invoice against the purchase order for quantity, unit price and invoice number, and a duplicate invoice number is something that check is built to catch. What it cannot catch is whether the goods or hours behind the invoice actually arrived.

Which categories should require three-way match?

Categories where the billed quantity is genuinely disputable and the dollar value per invoice is high: freight, contract labor, equipment rental, and services billed by unit delivered. In each case a receipt or timesheet is the only record confirming the vendor is billing for something that actually happened.

How do companies decide the routing rule between the two match types?

Some set a dollar threshold: invoices above a configured amount route to three-way match automatically. Others set the rule by category, requiring three-way match for freight and labor regardless of invoice size. Either approach needs periodic review as vendor relationships and spend levels change.

Does an ERP's matching engine enforce rebate clauses or NTE caps?

No. Two-way and three-way match both compare documents already in the ERP: the PO, invoice and receipt. Rebate clauses, volume tiers and NTE caps typically live in the underlying vendor contract, which the match itself never opens or checks against.

If three-way match is already running on freight invoices, is contract compliance still worth checking separately?

Yes. Three-way match confirms the shipment happened and the quantity matches. It says nothing about whether the rate charged still matches the current contract, including any surcharge sunset dates or rebate tiers. That is a separate check against the contract document itself.

Executive Summary

Two-way match checks an invoice against a purchase order: quantity and unit price agree, pay it. Three-way match adds the receipt: nothing gets paid until someone confirms the goods or hours actually arrived. The difference sounds small and controls a large share of what leaks through AP. A two-way match will pay a clean-looking invoice for a shipment that never landed, because nothing in the check asks whether it did. The choice is not a maturity ladder where three-way is always better. Two-way match is the right control for low-risk, high-volume categories where a receipt step would slow the business more than it protects it. Three-way match earns its cost where quantity is disputable and dollars are large: freight, contract labor, contract services billed by hours or units delivered. Neither match tests whether the PO itself reflects the current contract rate, and that gap is where a large share of margin drift lives regardless of which match a company runs.

1. What is the difference between two-way match and three-way match?

Two-way match compares the invoice to the purchase order only: does the quantity and unit price on the invoice agree with what was ordered. Three-way match adds a third document, the receipt or goods-received note, and compares all three: PO, invoice and receipt must agree before payment releases. The added step is confirmation that what was ordered actually arrived, in the quantity billed, before cash leaves the business. A two-way match asks one question: does this invoice match what we agreed to buy. It never asks whether the goods showed up or the hours were worked. That is fine for many purchases and a real gap for others. A three-way match asks a second question on top of the first: did we receive what this invoice says we are paying for. The receipt document, whether a warehouse goods-received note or a signed labor timesheet, is the evidence that closes that gap. Both checks compare against the purchase order as the reference point. Neither checks the purchase order itself against the underlying vendor contract, which is a separate and often larger source of drift.

2. When is two-way match the right control to run?

Two-way match is the right choice for low-dollar, low-risk, high-volume spend where adding a receipt step costs more in AP labor and cycle time than it recovers in caught errors. Office supplies, small recurring subscriptions, and low-value MRO restocks are typical candidates. The honest case for two-way match is not that it is weaker; it is that a receipt check adds friction the category does not need. Every receipt requirement has a labor cost: someone has to log that goods arrived, in what quantity, and reconcile that against the invoice when it lands. For a low-value line item that arrives correctly, that labor cost outweighs the benefit. Two-way match still catches the errors it is built to catch: wrong unit price against the PO, wrong quantity billed against the PO, duplicate invoice numbers. It simply does not confirm the goods physically arrived. The honest recommendation is not to run three-way match everywhere. A category with low unit value and low quantity variance is a category where two-way match is the correct, cost-effective control, not an unfinished one.

3. When does three-way match earn its cost?

Three-way match earns its cost where the billed quantity is genuinely disputable and the dollar exposure per invoice is large: freight shipments, contract labor hours, equipment rental days, and services billed by unit delivered. In these categories, a receipt or timesheet is the only record that confirms the vendor is billing for something that happened, rather than something ordered but never fulfilled. Freight is a clear case. A carrier invoice can bill for a shipment weight or accessorial charge that never matches what left the dock, and only a receiving record catches that. Contract labor is a second clear case. A staffing invoice bills hours; only a signed timesheet confirms the hours were worked, at the site, by the person billed. In both categories, the dollar value per invoice runs high enough, and the quantity claim is disputable enough, that the added receipt step pays for its own labor cost across a year of invoices.

4. What does three-way match still fail to catch?

Three-way match confirms quantity and delivery. It does not confirm that the rate on the purchase order still matches the vendor's current contract terms. A stale price file, an expired surcharge that keeps billing past its sunset date, or a rebate tier the vendor never applies will all pass a three-way match cleanly, because the PO itself, not just the invoice, is wrong. Three-way match tests agreement between three documents. It has no view of a fourth: the contract those documents are supposed to reflect. If a rate card changes and nobody updates the PO template or [price file](/guides/price-file-governance-why-annual-uploads-create-twelve), every invoice can match the PO exactly and still overbill against the contract. The match passes because the match was never designed to check the contract. This is a structural limit, not an implementation gap. Fixing it means comparing the PO and invoice against the contract terms directly, which is a different control than either match performs. It is discussed at length on the [three-way match gap](/guides/the-three-way-match-gap-what-your-erp-structurally-cannot) page and in the discussion of [n-way invoice matching](/guides/n-way-invoice-matching-explained).

5. Can a company run both two-way and three-way match at once?

Yes. Many AP departments apply different matching rules by category or dollar threshold rather than picking one control for the whole business. A common pattern sets a dollar threshold: invoices below it clear on two-way match, invoices above it or in flagged categories require the receipt step. The decision is a policy choice made per category, not a single company-wide setting applied uniformly to every vendor. Routing rules make this workable at scale. A company does not choose one match type; it sets a policy that assigns match type by category or dollar value, and lets the ERP apply it consistently across every invoice that arrives. That routing has to be maintained over time. A vendor account that starts small and grows into a large contract labor relationship needs its rule revisited, or it stays on the lighter check well past the point that check remains adequate. ### A. Threshold-based routing Many ERPs let AP route invoices to two-way or three-way match rules based on a configured dollar threshold or vendor category flag. A low-value office supply invoice clears on two-way. A high-value freight invoice routes to three-way automatically. This routing has to be maintained. A vendor that starts at low dollar values and grows into a large contract labor account needs its routing rule revisited, or it stays on the lighter check past the point that check is adequate. ### B. Category-based rules Some companies set the rule by category rather than dollar value: all freight and contract labor invoices require three-way match regardless of size, because the category itself carries the quantity dispute risk that two-way match cannot see. Category rules are simpler to audit than threshold rules, since nobody has to check whether a given invoice happened to cross a dollar line.

6. Does either match check the invoice against the vendor contract?

No. Both two-way and three-way match compare the invoice to the purchase order and, in three-way match, to the receipt. Neither compares the invoice or the PO to the underlying vendor contract: the rate card, volume tier, rebate clause, or surcharge sunset date. That comparison is a separate control, usually called contract compliance, and it catches a different class of error than either match is built for. This is the point where a lot of AP confidence is misplaced. A finance leader who sees three-way match running across freight and labor invoices reasonably assumes billing accuracy is covered. It covers quantity and delivery accuracy. It does not cover rate accuracy against contract. A surcharge that should have expired on a stated date, a [rebate tier the vendor never applies](/guides/rebate-accrual-vs-actual-the-reconciliation-nobody-runs), a price file that was never updated after a rate renegotiation: all of these pass both matches cleanly because the PO itself carries the stale or wrong number. Closing this gap requires checking the PO and invoice against the contract document directly, which is what a [contract compliance audit](/answers/spend-analytics-vs-contract-compliance-audit) does. It is a different question than either match answers, and it is where a meaningful share of recoverable margin drift sits. For the wider pattern this sits inside, start with the margin drift guide. For the wider pattern this sits inside, start with the [margin drift](/guides/contract-compliance-controls-p2p) guide.

Questions & Answers

Is three-way match always better than two-way match?

No. Three-way match adds a receipt-confirmation step that costs AP labor and time. For low-dollar, low-risk categories, that cost outweighs the benefit. The right control depends on the category's dollar exposure and how disputable the billed quantity is, not on which control sounds more thorough.

Does three-way match stop contract overbilling?

No. Three-way match confirms the invoice, PO and receipt agree with each other. It does not check whether the PO itself reflects the current contract rate. A stale rate card or an expired surcharge passes three-way match cleanly because none of the three documents being compared is the contract.

What documents does a three-way match compare?

The purchase order, the invoice, and a receipt document such as a goods-received note or a signed labor timesheet. Payment releases only when quantity and terms agree across all three. Two-way match compares only the first two, the invoice and the purchase order.

Can two-way match catch a duplicate invoice?

Yes. Two-way match checks the invoice against the purchase order for quantity, unit price and invoice number, and a duplicate invoice number is something that check is built to catch. What it cannot catch is whether the goods or hours behind the invoice actually arrived.

Which categories should require three-way match?

Categories where the billed quantity is genuinely disputable and the dollar value per invoice is high: freight, contract labor, equipment rental, and services billed by unit delivered. In each case a receipt or timesheet is the only record confirming the vendor is billing for something that actually happened.

Margin Drift Resources