Skip to content

Three-way match

Three-way match software that holds payment until the invoice agrees.

Recording an invoice compares it, line by line, with the purchase order's prices and the receipt's accepted quantities. A padded price fails on value, a short delivery fails on quantity, and payment can only be raised against a matched invoice.

What is three-way match software?

Three-way match software checks each supplier invoice against two other records before it is paid: the purchase order, which sets the agreed price, and the goods receipt, which shows what was accepted. An invoice that charges more than the agreed price, or for more than was accepted, is held as an exception until someone resolves it.

How it works

Three-way match, step by step.

  1. 01

    Record the invoice

    Accounts payable records the supplier's invoice against its purchase order.

  2. 02

    Check prices against the PO

    Each invoice line is compared with the price locked on the PO. A higher price fails on value.

  3. 03

    Check quantities against the receipt

    Each line is compared with the quantity accepted at receiving. Billing for more fails on quantity, and rejected quantities are excluded automatically.

  4. 04

    A verdict for the invoice

    The invoice is marked as a match or a mismatch, so finance can see which invoices to take up with the supplier.

  5. 05

    Pay only what matches

    Payment can only be raised against a matched invoice. The rule is enforced in the database, beneath every screen.

Supplier invoices with their three-way match verdicts, one marked as a mismatch.

How does three-way match software work?

Three-way match software compares three documents for the same purchase: the purchase order, the goods receipt and the supplier's invoice. If the invoice price agrees with the PO and its quantity agrees with what was accepted, it can be paid.

Bollard runs the check when the invoice is recorded, line by line. Checking the total alone can hide problems: a price rise on one line can be offset by a short charge on another, and the total still looks right. A line-level check catches each one separately.

Why do invoices fail a three-way match?

Most failures come down to price or quantity. Either the supplier billed above the agreed price, or it billed for more than was delivered and accepted.

These invoice exceptions are common. Ardent Partners' State of ePayables 2025 found that 18.4% of supplier invoices hit an exception and cannot be paid as they arrive. Some are honest mistakes. Others are creeping prices, such as produce invoices drifting above contract in multi-unit dining, which a line-level match catches before payment.

  • Price above the PO: a padded or out-of-date unit price fails on value
  • Short delivery: billing the full order when part arrived fails on quantity
  • Rejected goods billed: items turned away at the dock are excluded from the accepted quantity

Two-way vs three-way match: what is the difference?

A two-way match checks the invoice against the purchase order only. A three-way match adds the goods receipt, so it also confirms that the goods arrived and were accepted.

Two-way matching catches price errors but cannot tell whether the delivery happened. That gap is how organisations end up paying for goods that never came or were sent back. In Bollard the receipt is always available to the match, because receiving records accepted quantities against the PO at the dock.

Why enforce the match in the database?

Enforcing the match in the database means the system itself refuses payment against an unmatched invoice, whichever screen or user tries it. A warning on screen can be clicked past at month-end. A rule in the database holds when the team is busy.

Exceptions handled by hand are expensive. The same Ardent Partners report puts the average cost of processing one invoice at $9.84, with best-in-class AP teams spending 79% less. Catching mismatches automatically, at the line where they occur, leaves AP with a short list of real problems to resolve with suppliers.

How does the match connect receiving to payment?

Three-way match is the sixth of seven steps, between receiving and payment, and it is the last check before money leaves.

The steps before are the purchase order and the goods receipt. The PO supplies the agreed price, locked when the order was raised from the winning quote. The receipt supplies the accepted quantity, recorded per line at the dock.

The step after is payment. Only a matched invoice can have a payment raised against it, and the verdict and the payment both go on the append-only audit trail.

Can you do three-way matching in a spreadsheet or an ERP?

You can, with limits. In a spreadsheet the comparison is manual, and in a typical ERP payment is usually blocked once the module is configured. Bollard blocks payment in the database until the invoice matches, from the first live site.

Manual matching means someone lines up the PO, the delivery docket and the invoice by eye, with prices re-typed at each step. It works until volume rises or the person who knows the suppliers is on leave. An ERP can do the check well, but the agreed price often sits in a separate module and setup takes months. Bollard has the first site live in about two weeks.

Questions

Common questions.

What is a three-way match in accounts payable?

In accounts payable, a three-way match is the check that a supplier invoice agrees with the purchase order and the goods receipt before it is paid. The PO confirms the items and price were agreed, the receipt confirms they arrived and were accepted, and the invoice is paid only when all three agree.

What happens when an invoice fails the match?

It is marked as a mismatch, and payment cannot be raised against it. Finance can see whether it failed on value or quantity and take it up with the supplier, usually by asking for a corrected invoice or a credit note. Once the invoice agrees with the PO and the receipt, it can be paid.

Does three-way matching work with partial deliveries?

Yes. The match uses the quantities accepted so far, so an invoice for a full order against a partial delivery fails on quantity. The purchase order keeps its open balance, and when the rest of the goods arrive and are accepted, the accepted quantity the invoice is checked against rises with them.

Are rejected goods excluded from the match?

Yes, automatically. Receiving records rejected quantities per line at the dock, and the match compares the invoice with accepted quantities only. If a supplier bills for a damaged case that was turned away, that line fails on quantity, and the organisation does not pay for stock it refused.

Who is responsible for three-way matching?

Accounts payable usually runs it, but it depends on everyone upstream. Purchasing has to lock the right price on the PO, and the store has to record accepted and rejected quantities accurately. In Bollard each of those records is captured at its own step, so AP checks against records made by the people who saw the order and the goods.

Is a three-way match needed for every invoice?

Not always. Many organisations use it for goods bought on a purchase order and treat utilities or subscriptions differently, since nothing physical is received. For purchases that go through Bollard's request-to-payment loop, payment can only be raised against a matched invoice, so those purchases are always held to the match.

See Bollard set up for your operation.

Tell us how you buy and store today. We'll walk you through Bollard configured with your sites, roles and approval rules.

Book a demo
support@safock.com