A three-way match is an accounts payable check that compares three documents before an invoice is paid: the purchase order, the goods receipt, and the supplier's invoice. If quantities, prices and terms agree within set tolerances, the invoice can proceed to payment. If not, it is held as an exception until someone resolves the difference.
Why does a three-way match matter once agents act?
Three-way matching is high-volume, rule-based and tedious, which makes it one of the most common jobs given to finance agents. The value is real: an agent checks every line on every invoice, where a busy team checks totals and samples. But the control is only as strong as its three sources, and an agent cannot tell a real goods receipt from a careless one unless the bounds say where the receipt must come from.
The receipt is the document that proves the business got what it is paying for. It must come from the business's own records, entered by the person who received the goods, not from the supplier's delivery note or the invoice itself. This is the kind of source rule that AI agents for finance need written into their bounds.
How does it work in practice?
- Find the order: the agent reads the PO number from the invoice and pulls the purchase order.
- Find the receipt: it pulls the goods receipt recorded against that order.
- Compare lines: quantity invoiced against quantity received, price invoiced against price ordered.
- Apply tolerances: small differences within the customer's limits, such as rounding, pass.
- Approve for payment or hold: matched invoices move on; exceptions are held with the reason.
The agent executes steps 1 to 5 as routine work. Exceptions go to a person. Recording each exception and its outcome builds a history that shows which suppliers and categories cause trouble; a layout is in the three-way match exception log template. The process end to end is in three-way matching with an AI agent.
What does that look like in an example?
A food manufacturer orders 1,000 kg of flour at 0.80 per kg. The warehouse records receipt of 950 kg. The supplier invoices 1,000 kg at 0.82. The agent finds two exceptions on one line: quantity (invoiced more than received) and price (above the order). The tolerance for price is 0.01 per kg, so neither passes. The agent holds the invoice and drafts a query to the buyer listing both differences and the amount at stake, 60 in total. It does not decide whether the price rise was agreed; the buyer checks with the supplier.
How is a three-way match different from a two-way match?
A two-way match compares only the invoice and the purchase order. It confirms the business is being charged what it agreed, but not that it received anything. A three-way match adds the receipt, which closes that gap. Two-way is common for services and low-value items where no receipt is recorded; three-way is the norm for physical goods. Some businesses add a fourth document, an inspection or quality record, for goods that must pass a check before acceptance.
Which related terms should you know?
- Tolerance: the allowed difference before a match fails, set by the business.
- Goods received note: the receiving record used as the third document.
- Matching exception: an invoice held because the documents disagree.
Whether an agent should match at all where orders are incomplete is covered in can an AI agent match invoices to purchase orders?
Questions people ask
Who should set the tolerances for a three-way match?
The financial controller, as policy. Tolerances are a decision about how much difference the business will pay without review. An agent applies them; it should never widen them to clear a backlog, and any change should be recorded with who made it.
What happens when the goods receipt is missing?
The invoice cannot pass a three-way match, so the agent holds it and asks the receiving team to confirm delivery. It should not treat the supplier's delivery note as a substitute, because that is the supplier's claim, not the business's record.