3-Way Match
3-Way Match protects against overbilling by requiring the purchase order, goods receipt, and vendor bill to agree before payment.
When to use
Use it before paying any vendor bill for stocked goods. It is the control that makes sure you only pay for what was ordered, actually received, and billed at the agreed price.
Before you start
- Open
/procurement/matching(needs the three-way match read permission in your role). - Toggle
procurement.three_way_match(default off; on for new companies) enables matching. - Toggle
procurement.block_pay_on_match_exception(default off) blocks payment of a bill that fails the match. - Toggle
procurement.require_grn_before_bill(default off) forbids creating a bill before the goods are received.
Step by step
Open the match workbench
Go to Procurement → 3-Way Match (/procurement/matching) and run the match.
Review discrepancies
The system compares PO quantity/price, received quantity, and billed amount. Mismatches beyond tolerance are flagged. Only POs in your data scope are matched.
Resolve or hold
Approve a matched bill for payment, or hold a flagged bill and raise a Debit Note or Vendor Return where the discrepancy is genuine. Resolving an exception needs the approve permission for matching.

Reading the result
| Result | Meaning | Action |
|---|---|---|
| Matched | PO, GRN and bill agree within tolerance | Approve for payment |
| Exception | Quantity or price differs beyond tolerance | Resolve, hold, or adjust |
| Blocked | Exception with payment blocking on | Pay only after it is resolved |
A bill that fails 3-way match should not be paid until the quantity or price discrepancy is explained. Use a Debit Note for price/short-delivery adjustments and a Vendor Return for returned goods.
Tips & common mistakes
- Turn on payment blocking only after the team is used to resolving exceptions, or payments will queue up.
- Receive goods first; with GRN-before-bill on, a bill cannot even be created without a receipt.
- Bills for services do not use a GRN; they follow the Service Confirmation path.
- Short delivery: raise a Debit Note; rejected goods: raise a Vendor Return.