Zepth Vector · Procurement

Three-Way Matching

Pay only for what actually arrived.

Last updated

Zepth Vector module

Three-Way Matching

AI agent built into the module
Cumulative line-level matchingCategory tolerance bandsCertification matching for servicesRetention-aware

$250,000

median fraud loss per case in construction — the fourth-highest of any industry

ACFE, Occupational Fraud 2024

38%

of construction fraud cases involve billing schemes — nearly double the all-industry rate

ACFE, Occupational Fraud 2024

A billing scheme depends on an invoice nobody verifies against a delivery record. That is the door matching closes.

0.8–2%

of disbursements lost to duplicate and erroneous payments — before anyone has done anything dishonest

Cross-industry benchmarks

$2.78

what best-in-class accounts payable pays to process an invoice — against $12.88 for everyone else

Ardent Partners, State of ePayables

With 3-day rather than 17-day cycles, and a 9% rather than 22% exception rate. Matching is not the thing that slows payment down. It is the control that makes fast payment safe.

Overview

Three-way matching reconciles three documents before any invoice gets paid: the purchase order — what you agreed to buy, at what rate; the delivery record — what actually arrived and was accepted; and the invoice — what the supplier wants paid.

Where the three disagree, the variance is caught before the money moves. Not in a recovery audit two years later, when the money is gone and all you can buy is an explanation.

Why three-way matching is critical

Construction is a high-risk environment for payment leakage, and the fraud data says so without much subtlety. In the ACFE’s global study, construction posts the fourth-highest median fraud loss of any industry at $250,000 per case — and billing schemes feature in 38% of construction fraud cases, nearly double the all-industry rate.

A billing scheme is not sophisticated. It is an invoice that nobody checked against a delivery record. That is the entire mechanism, and it works precisely as often as the check is skipped.

Then there is the innocent leakage, which is larger and less interesting and costs just as much: duplicate and erroneous payments running 0.8–2% of disbursements in cross-industry benchmarks, and invoice error rates such that only half to two-thirds of invoices match cleanly on the first pass at a typical organisation. Nobody was dishonest. The money left anyway.

And underneath all of it sits the physics of a construction site: without matched delivery records, invoiced quantities are unverifiable by definition. Not difficult to verify. Impossible.

The economics of doing it properly are documented too, and they cut against the intuition that controls slow things down. Best-in-class accounts payable processes an invoice for $2.78 against $12.88 for everyone else, in three days rather than seventeen, with a 9% exception rate rather than 22%. Matching is not bureaucracy. It is the control that makes fast payment safe.

The role of matching in project performance

  • Construction matching is cumulative, not document-to-document. One purchase order for 500 cubic metres of concrete is fulfilled by forty pours across several weeks, each with its own delivery ticket — and the monthly supplier invoice consolidates dozens of them. So the match has to run at cumulative line level: the sum of accepted receipts must not exceed the PO quantity, and the invoiced quantity must not exceed the receipted quantity. A naive one-invoice-one-delivery comparison does not merely fail here. It has nothing to compare.

  • Tolerance bands by category, not one global number. A percentage tolerance plus an absolute cap, set by commodity risk. Bulk aggregates deserve a looser quantity tolerance, because weighbridge variance and moisture content are physical realities rather than accounting failures. Fixed-price equipment deserves zero price tolerance, because there is nothing to vary. And over-tight tolerances produce their own failure mode, which is worse than the leak they were meant to stop: an exception rate above 20% turns accounts payable into exception management with occasional matching, blows through payment terms, and puts your suppliers on stop — at which point the control has become the problem.

  • Services match against certification, not receipts. A lump-sum or milestone scope has no goods receipt, so the matching document is the completion certificate: the engineer or project manager certifying the milestone, or the percentage complete. The triangle is unchanged — commitment, verified performance, invoice. Only the middle document is different, and a matching engine that cannot handle that will simply reject every subcontract invoice you have.

  • Retention needs native handling: match gross, pay net. The match validates the gross certified value. Retention is then deducted before payment and tracked in a ledger against its release triggers. A matching engine that does not understand retention flags every single retention deduction as a price variance — which means every subcontract invoice becomes an exception, and within a month nobody is reading the exceptions at all.

  • Discrepancies route by type, with owners and deadlines. Price exceptions to procurement. Quantity exceptions to the site or the storekeeper, who is the only person who knows what actually came off the truck. Quality to QA. Each with an owner and an SLA, because an exception with no owner is just a payment that has stopped. And the outcome menu should include the useful middle path that most systems omit: pay the matched portion, dispute the balance. Holding a whole invoice hostage over one contested line is how you turn a variance into a relationship.

What happens without matching

What you have instead is de facto two-way matching — purchase order and invoice, with no receipt verification. Which means you are paying on the supplier’s word. That is not a characterisation; it is the literal condition that the billing-scheme statistics describe.

Short deliveries surface at stock count, long after payment. The same delivery ticket appears on two invoices and both get paid, because nothing was cross-checking. Rate drift — the quiet 4% above PO rates that nobody notices in any single transaction — compounds across a hundred invoices into real money.

And none of it appears in the cost report. Because the cost report reflects what was paid, and what was paid was wrong.

How Zepth runs three-way matching

Matching runs automatically as invoices arrive: line-level, cumulative, tolerance-aware and retention-aware, against live purchase-order and delivery data rather than a monthly export that was true once.

Every variance is computed per line — quantity and rate separately, because they have different owners and different remedies — with a discrepancy workflow that routes each exception to the person who can actually resolve it, and keeps the audit trail while it does.

And the dashboard shows match health across the project: what is clean, what is stuck, and which suppliers are generating the exceptions. That last one is usually the most interesting number in the room.

The value

Why it matters

You pay for what arrived, at the rate you agreed — verified against the receipt rather than against the supplier’s assertion.

Duplicate payments and billing schemes lose the condition they depend on: an invoice nobody cross-checked.

Retention is handled natively — gross matched, net paid, ledger current — so subcontract invoices do not all become exceptions.

Fast payment becomes safe rather than reckless, which is the only way it is sustainable.

Capabilities

What you can do

01

Cumulative line-level matching

Sum of accepted receipts against PO quantity, invoiced quantity against receipted quantity — across forty deliveries and three invoices, at line level.

02

Category tolerance bands

Percentage plus absolute cap, set by commodity risk. Loose on weighbridge bulk, zero on fixed-price equipment.

03

Certification matching for services

The completion or progress certificate is the delivery document on a lump-sum scope. Same triangle, different middle.

04

Retention-aware

Match gross, deduct per contract, pay net, keep the ledger — instead of flagging every retention deduction as a false variance.

05

Typed exception routing

Price to procurement, quantity to the storekeeper, quality to QA — each with an owner and an SLA, plus pay-the-matched-portion as a real outcome.

06

Match-health dashboard

What is clean, what is stuck, and which suppliers generate the exceptions. Usually the most interesting number in the room.

The workflow

How it actually runs

  1. 1

    Get the foundations right first

    Disciplined purchase orders with current rates and quantities, and gate-level goods receipts recording accepted quantities rather than signed-for quantities. Matching cannot rescue bad inputs; it can only reveal them.

  2. 2

    Match at cumulative line level

    Each invoice line reconciled against cumulative accepted receipts and PO rates. Within tolerance, it is approved for payment. One PO, forty deliveries, three invoices — the arithmetic has to hold across all of them.

  3. 3

    Route the exceptions by type

    Price to procurement, quantity to the storekeeper, quality to QA. Each with an owner and an SLA. Outcomes: approve, credit note, short-pay the matched portion, or reject.

  4. 4

    Handle retention natively

    Match the gross certified value, deduct retention per the contract, pay the net, and update the ledger. Never let a retention deduction masquerade as a price variance.

  5. 5

    Read the analysis monthly

    First-time match rate, exception patterns by supplier, variance recovered. If the exception rate is above 20%, the tolerances are the problem — not the suppliers.

AI that does the work

How AI changes Three-Way Matching management.

Document extraction.

Invoice and delivery-note data lifted from the paperwork itself — line items, quantities, rates — with confidence scores, so the match runs on complete data rather than on whatever somebody had time to key in. Every extraction is reviewable before it commits.

Duplicate detection beyond exact matching.

The same delivery ticket referenced on two invoices. Near-duplicates — same amount, same date, a different reference number. The pro-forma that gets paid, and then the final invoice that gets paid again. These are exactly the patterns an exact-reference check cannot see, and exactly the ones that cost money.

Supplier-pattern intelligence.

Which suppliers habitually invoice ahead of delivery, drift above their PO rates, or generate quantity variances — surfaced as a pattern with the evidence attached, rather than as somebody’s anecdote in a meeting.

Exception triage.

Each variance explained in plain language with its likely cause — “the invoice includes delivery charges that are not on the PO” — and a recommended resolution, for the reviewer to accept or override. The reviewer still decides; they just stop starting from zero.

The engineer’s judgment stays in charge; the AI removes the latency and the blind spots.

Best practices

  • Match against accepted quantities, not signed-for quantities. A signature on a delivery note means somebody was standing there — not that the load was counted.
  • Set tolerances by commodity, and watch the exception rate. Above 20% and the tolerances are wrong, not the suppliers — and an AP team drowning in exceptions stops reading them entirely.
  • Match gross and pay net. A matching engine that treats every retention deduction as a price variance will turn every subcontract invoice into an exception within a month.
  • Pay the matched portion and dispute the balance. Holding an entire invoice hostage over one contested line converts a variance into a relationship problem, and you will lose that trade.

Dashboards & reporting

Match health across the project: first-time match rate, exceptions by type and by supplier, variance recovered, and ageing on everything stuck. The retention ledger runs alongside, gross against net. And the supplier view answers the question that saves the most money: which of them consistently invoice for more than they delivered.

Live dashboards
Drill-down & filters
Export to Excel / PDF
FAQ

Common questions

What is three-way matching?

Reconciling the purchase order, the delivery or receipt record, and the invoice before payment is released. Two-way matching — PO and invoice only — suits scopes with no physical receipt. Four-way adds a quality-acceptance record for engineered or inspection-critical items, where passing the inspection is part of what you are paying for.

Read the full answer
How does matching work with partial deliveries?

Cumulatively. Every delivery draws down the PO line through its receipt record, and invoices match against cumulative accepted quantities rather than against any single delivery. One PO, forty deliveries, three invoices — the arithmetic has to hold at line level across all of them, which is why a document-to-document comparison is useless in construction.

What tolerance bands should we set?

By category and by risk: a small percentage plus an absolute cap on prices, and commodity-appropriate quantity tolerances — looser for weighbridge bulk materials where variance is physical, zero for fixed-price equipment where it is not. And watch the exception rate: above 20% means the tolerances are the problem, not the suppliers.

How do you match services and subcontract work?

Against certification instead of a goods receipt. The milestone or progress certificate is the delivery document: commitment, certified performance, invoice — the same triangle with a different middle. A system that cannot do this will reject every subcontract invoice you have.

Does matching actually prevent fraud and duplicate payments?

It is the single most effective routine control available. Billing schemes — construction’s most common fraud pattern, at 38% of cases — depend on invoices that nobody verifies against a receipt. Duplicate payments, running 0.8–2% of disbursements in benchmarks, depend on nobody cross-checking. Matching closes both doors, and it closes them before the money moves rather than after.

Read the full answer
How does retention interact with matching?

Match the gross certified value, deduct retention per the contract, pay the net, and track the retention in a ledger against its release triggers. Matching engines that do not understand retention flag every deduction as a false price variance — and an exception queue full of false positives is an exception queue nobody reads.

Sources

  • ACFE — Occupational Fraud 2024: A Report to the Nations (construction median loss; billing-scheme share of cases)
  • Ardent Partners — State of ePayables (invoice processing cost, cycle time, exception rates)
  • APQC benchmarks — duplicate payments and first-time match rates
  • IOFM — invoice processing time and recovery-audit patterns
  • No neutral study quantifies construction’s invoiced-versus-delivered gap. We have not invented one — the fraud data and the mechanism carry the argument without it.

Zepth is the construction project delivery platform — it runs construction, procurement and asset management on one record, and does the work: reading the drawings, reviewing the submittals, matching the invoices and flagging the risks, with a human sign-off on anything consequential.

See it on your project.

A short, tailored walkthrough on your real workflow — no generic demo.