3-way matching is an accounts payable control that compares the purchase order, the goods receipt note and the supplier’s invoice before payment. The invoice is approved only if billed quantity does not exceed what was received and the price agrees with the order. Done by hand, the check gets skipped at month end, and rejected goods get paid.
In OneFinOps, the Payables Agent matches every bill to its order and receipt, and you only see the ones that do not agree.
Key takeaways
- Pay the lower of invoiced and received quantity, at the lower price.
- Tolerances (for example, 1% or ₹500 on price) stop tiny differences blocking payment.
- In India the GRN is your evidence of receipt for GST input tax credit.
How does 3-way matching work?
Each document comes from a different team, which is why the check works: procurement issues the purchase order (PO), stores records the goods receipt note (GRN), and the supplier sends the invoice.
- Read the invoice: PO number, lines, quantities, rates and tax.
- Find the PO and confirm it is open and for the same vendor and GSTIN.
- Find the GRNs against that PO. Partial deliveries mean there may be several.
- Match quantity: invoiced should not exceed accepted, net of anything already invoiced.
- Match price, tax and totals against the PO, within tolerance.
- Pass the invoice for payment, or send it to an exception queue with the reason.
For micro and small suppliers, the 45-day limit under section 15 of the MSMED Act runs from acceptance, so resolve their exceptions first. Our MSME interest calculator shows what a late one costs.
3-way matching example
A Coimbatore pump manufacturer orders 1,000 castings at ₹120 each (PO-2291, 18% GST). Stores accepts 950 and rejects 50 (GRN-7784). The supplier bills 1,000 at ₹122, ₹1,43,960 with GST.
The payable amount is 950 at ₹120, or ₹1,14,000 plus GST of ₹20,520, which is ₹1,34,520. Without the match, the company pays ₹9,440 more than it owes. The supplier issues a GST credit note for ₹8,000 plus ₹1,440 GST, and the invoice goes for payment.
2-way vs 3-way vs 4-way matching
| Type | Documents matched | Best for | Risk left open |
|---|---|---|---|
| 2-way | PO and invoice | Services, subscriptions, low-value recurring buys | Paying for goods never received |
| 3-way | PO, GRN and invoice | Physical goods, inventory, capital items | Paying for goods that fail quality |
| 4-way | PO, GRN, inspection report and invoice | Raw materials, pharma, food, precision parts | Low, at the highest effort |
How OneFinOps handles 3-way matching
The Payables Agent reads every incoming bill, matches each line to the purchase order and the goods receipt, holds duplicates, and adds clean bills to the next payment proposal.
It does not decide the hard cases alone. A price or quantity outside tolerance goes to the buyer who raised the order, and the payment run is released by the person who holds the mandate.
Unlike accounting software that only records the bill and leaves the checking to people, OneFinOps keeps the order, the receipt and the invoice in one record, so the match needs no export between tools.
See how the Payables Agent works
