How to set up purchase orders that actually get reconciled
Three-way matching, tolerance rules and exception handling — the process discipline that turns your PO workflow from a paper trail into a control system.
Why most purchase orders are theatre
A purchase order (PO) is supposed to be a control document: an authorisation for a specific quantity of a specific item at a specific price, from a specific supplier, before the goods arrive. In practice, most F&B operations use POs as communication tools — they send a list to the supplier, the supplier delivers something, and the invoice is approved because there is no systematic way to check it against the original order.
The result is that you pay for what the supplier says you received, not necessarily what you ordered or what was actually delivered.
What three-way matching actually means
Three-way matching is the process of reconciling three documents against each other before an invoice is approved for payment:
1. The purchase order — what you authorised: item, quantity, agreed unit price.
2. The goods received note (GRN) — what was actually delivered: item, received quantity, condition.
3. The supplier invoice — what the supplier says you owe: item, quantity billed, price per unit.
A match occurs when all three documents agree on quantity and price within defined tolerances. A mismatch — any difference between the three — triggers an exception that must be resolved before payment.
Setting meaningful tolerance rules
Zero tolerance is the enemy of a functioning AP process. Suppliers occasionally short-deliver by one unit on a large order. Weights vary slightly on catch-weight items. Rounding differences appear on unit prices with many decimal places. Flagging every trivial variance creates noise that trains your team to approve exceptions without reading them.
Useful tolerance rules for F&B operations:
Quantity tolerance: ±2% for dry goods and packaged items. ±5% for catch-weight items (proteins, produce sold by weight). Over-deliveries above tolerance require a return or a retrospective PO amendment.
Price tolerance: ±1% for contracted items. ±3% for spot-price items (produce, seafood). Anything above these thresholds should require management approval before payment, not after.
Unit cost tolerance (invoice vs. PO): This is separate from price tolerance. If your PO was created at last month's agreed price and the supplier has applied a price increase, the invoice will fail the price check even if the delivery is correct. This needs a separate "price amendment" workflow, not a blanket approval.
The exception handling process
Exceptions are not failures — they are the point. A matching system that never generates exceptions has tolerances set too wide or rules that are not actually being checked. Here is a practical exception handling flow:
Short delivery: The GRN records the quantity actually received. The system generates a receiving variance. The invoice should only be approved for the quantity received, not the quantity ordered. If the supplier will deliver the balance later, a partial GRN closes the original PO line item; a new PO line handles the outstanding balance.
Price discrepancy: The invoice price does not match the PO price. Flag to purchasing. If it is a legitimate price increase that was not communicated in advance, the supplier needs to issue a corrected invoice or a credit note for the difference. Do not adjust the system to match the invoice — adjust the invoice to match the agreement.
Over-delivery: You receive more than you ordered. The system should prevent auto-approval. Either return the excess (and document the return for your stock records) or issue a supplementary PO to cover the additional quantity at an agreed price.
Quality rejection: Goods are received but fail quality inspection (wrong temperature, damaged packaging, incorrect specification). These should be documented as a rejection on the GRN, not as a receipt. The goods are returned and the invoice line is not approved. If a credit note is not issued promptly, escalate.
The approval matrix
Not every exception needs the same level of approval. A practical matrix:
- Within tolerance → auto-approve after matching confirmation
- 1–5% variance → supervisor approval (operations lead or head chef)
- 5–10% variance → department head approval (F&B manager)
- Above 10% or contract price breach → finance or owner approval
The matrix should be configured in your purchasing system and enforced automatically. Manual approval chains that live in email are not approval chains — they are documentation that no one checks.
Making it stick: the weekly reconciliation rhythm
Three-way matching produces a list of open exceptions. Those exceptions need to be resolved before the invoice is paid. Build a weekly reconciliation meeting into the calendar: purchasing lead + finance + receiving manager, 30 minutes, covering every exception older than three days.
This meeting serves two functions: it clears the backlog, and it surfaces patterns. If the same supplier consistently short-delivers on the same item category, that is a supplier performance issue to be addressed in the next contract review — not a variance to be approved around indefinitely.
What to expect when you start
If you are implementing three-way matching for the first time, expect a period of pain. Your suppliers are not used to having their invoices scrutinised line by line. Your team is not used to writing receiving notes that match a PO. Your purchasing process probably has gaps — POs raised after delivery, agreed prices not in the system, items ordered ad hoc that have no PO at all.
Work through the gaps systematically rather than trying to fix everything at once. Start with your top 10 suppliers by spend. Require PO-first for all deliveries from those suppliers. Expand the universe once the process is stable.
A clean three-way match process, running consistently, is one of the highest-leverage controls in food service operations. It does not require expensive software — but it does require discipline, and it requires someone accountable for the exceptions list every single week.
More posts
A practical food cost framework for Dubai restaurants
Why 28–32% food cost targeting matters, how to categorise variance, and the review cadence that separates profitable operators from the rest.
Why we chose ledger-based stock over running balances
Running balances break silently. Ledger-based stock — append-only moves with immutable unit costs — gives you an audit trail that survives price changes, reversals and multi-location complexity.
Enjoyed this post?
Get practical operations content in your inbox monthly.