Three-way matching in accounts payable is the control that checks a vendor invoice against two other documents before it is paid: the purchase order (what you agreed to buy, at what price) and the goods receipt note (what actually arrived). If all three agree on item, quantity and price within set tolerances, the invoice is approved for payment. If not, it is held until someone resolves the difference. For Indian businesses that buy from dozens or hundreds of suppliers, it is the single most effective way to stop overbilling, duplicate payments and payment for goods never received. This guide explains how three-way matching works, with worked examples, tolerance settings, exception handling and implementation tips.
The three documents in three-way matching
| Document | Created by | What it proves |
|---|---|---|
| Purchase order (PO) | Purchase team, after approval | What was ordered, agreed rate, taxes, delivery terms |
| Goods receipt note (GRN) | Stores or warehouse, on receipt | What physically arrived, quantity accepted and rejected, date |
| Vendor invoice (purchase bill) | Supplier; recorded by accounts | What the supplier is claiming, with tax details |
The control works because the three documents come from three different people or teams. The buyer cannot approve payment for goods that stores did not receive, and stores cannot change the agreed price.
Two-way vs three-way vs four-way matching
- Two-way matching: invoice vs PO. Checks price and quantity ordered but not receipt. Suitable for services or low-risk items where there is no physical receipt.
- Three-way matching: invoice vs PO vs GRN. The standard for goods.
- Four-way matching: adds a quality inspection report, so only accepted quantity after inspection is payable. Common in manufacturing, pharma and food, where incoming quality checks are mandatory.
How three-way matching works: step by step
- PO raised and approved: 1,000 kg of a polymer granule at ₹142 per kg plus GST, delivery within 10 days.
- Goods received: stores records a GRN for 980 kg (one bag damaged in transit and rejected).
- Invoice received: supplier bills 1,000 kg at ₹145 per kg.
- System compares line by line: quantity invoiced (1,000) vs quantity received (980); rate invoiced (₹145) vs PO rate (₹142).
- Exceptions raised: quantity variance of 20 kg and price variance of ₹3 per kg.
- Resolution: the buyer confirms the PO rate stands; the supplier issues a credit note, or accounts records the bill at the matched amount and raises a debit note.
- Payment: only the matched amount is released on the due date.
Worked example in rupees
| Item | PO | GRN | Invoice | Payable after match |
|---|---|---|---|---|
| Quantity (kg) | 1,000 | 980 | 1,000 | 980 |
| Rate (₹/kg) | 142 | n/a | 145 | 142 |
| Taxable value (₹) | 1,42,000 | n/a | 1,45,000 | 1,39,160 |
| GST at 18% (₹) | 25,560 | n/a | 26,100 | 25,049 |
| Total (₹) | 1,67,560 | n/a | 1,71,100 | 1,64,209 |
Without matching, the business would have paid ₹1,71,100. The difference of ₹6,891 on a single invoice looks small, but across 400 purchase invoices a month, a 2 to 4 percent leakage on a ₹2 crore monthly spend is ₹4 to ₹8 lakh a month. (The GST rate here is illustrative; apply the rate applicable to the actual HSN.)
The GST point matters too: input tax credit should be claimed on the tax that is actually payable after the debit or credit note, so matching protects your GST position as well as your cash.
Setting tolerances sensibly
Exact matching on every rupee creates too many exceptions, because of rounding, freight adjustments and minor weight variations. Tolerances define what difference is acceptable without human review.
| Tolerance type | Example setting | Comment |
|---|---|---|
| Price variance | 0.5% or ₹100 per line, whichever is lower | Absorbs rounding; anything higher needs buyer approval |
| Quantity variance (weighed goods) | Plus or minus 1% | Bulk materials, chemicals, metals |
| Quantity variance (counted goods) | Zero | Pieces and boxes should match exactly |
| Invoice total | ₹500 | Catches freight and packing charges not on the PO |
Set tolerances per item category, not globally. And never set a tolerance that allows overbilling to pass systematically, for example 2 percent on every invoice from a supplier who has learnt to bill 1.9 percent over.
Common exceptions and how to resolve them
Price variance
The supplier billed a higher rate than the PO. Causes include a price revision not updated in the PO, a wrong rate on the invoice, or freight included in the rate. Route to the buyer. If the higher price is valid, amend the PO with approval; otherwise get a credit note.
Quantity variance
The invoice quantity is more than received. Hold the excess. If goods are in transit (split delivery), keep the invoice open until the second GRN.
Invoice before GRN
Common when suppliers email invoices on dispatch. Record the invoice as "pending receipt" and let the system auto-match once the GRN is posted.
GRN without PO
Stores accepted goods without a PO, usually for urgent buys. This breaks the control. Require a retrospective PO with approval, and track how often it happens by department.
Partial deliveries and multiple invoices
One PO may have three GRNs and two invoices. The matching logic must work at PO line level with cumulative received and invoiced quantities, not invoice by invoice.
What three-way matching prevents
- Overbilling: rates higher than agreed.
- Paying for goods not received or rejected at inspection.
- Duplicate payments: the same invoice entered twice, because the second entry has no unmatched GRN quantity left.
- Fictitious vendors: an invoice without a PO and GRN cannot be approved through the normal path.
- Unapproved spend: purchases made outside the approval process show up as exceptions.
Three-way matching in Excel vs in an ERP
It is possible to run a basic matching process with registers: a PO register, a GRN register and an invoice register in Excel, matched by PO number. In practice this breaks once volumes grow, because partial deliveries, amendments and returns make lookups fragile, and the registers are updated by different people at different times.
In an ERP, the documents are linked by design: the GRN is created from the PO, and the purchase bill is created from the GRN. Variances are calculated automatically and the bill is blocked for payment until resolved. Fininvo's purchasing module includes purchase requisitions, purchase orders, GRN processing, three-way matching and approval workflows, and passes approved bills to accounts payable in the same system.
Implementation tips for Indian SMBs
- Enforce "no PO, no pay" for goods above a threshold, say ₹10,000, with clearly listed exceptions such as utilities and statutory payments.
- Train stores to record actual quantities, not the quantity on the delivery challan. This is the most common weak link.
- Record rejections on the GRN with reasons, so debit notes can be raised promptly.
- Keep rate contracts in the system for frequently bought items, so POs pick the agreed rate automatically.
- Review the exceptions report weekly: which suppliers cause most variances, and which buyers raise POs after the fact.
- Measure first-pass match rate, the share of invoices that match without intervention. A rising rate shows the process is maturing.
Three-way matching is one stage of the larger purchase cycle. For the full flow from requisition to payment, see the reorder level guide for how purchase triggers are set.
Metrics to track once matching is live
A matching process should be measured, or it slowly degrades into rubber-stamping. Four simple metrics, reviewed monthly, are enough for most SMBs:
| Metric | How to calculate | What it tells you |
|---|---|---|
| First-pass match rate | Invoices matched without intervention / total invoices | Quality of POs, GRNs and supplier billing |
| Exception ageing | Number and value of exceptions open beyond 7, 15 and 30 days | Whether exceptions are being resolved or parked |
| Recovered value | Credit notes and debit notes raised from exceptions | Money the control is actually saving |
| After-the-fact POs | POs created after the GRN or invoice date | Departments bypassing the purchase process |
Suppose a hypothetical Hosur engineering firm starts with a first-pass match rate of 55 percent. Most exceptions turn out to be rate differences on a handful of items whose prices change monthly. Moving those items to rate contracts with monthly price updates lifts the rate above 80 percent within a quarter, and the accounts team spends its time on genuine disputes instead of routine corrections.
MSME payments and matching delays
Matching must not become an excuse for paying suppliers late. Under the MSMED Act, payments to micro and small enterprises are due within the agreed period, capped at 45 days, and income-tax law disallows the deduction for amounts owed to such suppliers beyond the permitted time until they are actually paid (Section 43B(h) in the 1961 Act; check the corresponding provision of the Income-tax Act, 2025). If invoices from MSME vendors sit in an exceptions queue for weeks, you risk both interest liability and a tax disallowance. Prioritise MSME exceptions and track their ageing separately.
Frequently Asked Questions
What is three-way matching in simple words?
It is checking that what you ordered (purchase order), what you received (goods receipt note) and what you are billed for (invoice) agree before paying the supplier.
Is three-way matching required by law in India?
No law mandates it by name, but auditors evaluate internal financial controls over purchases, and three-way matching is a widely recognised control. It also supports correct input tax credit claims.
Does three-way matching apply to services?
Services have no physical receipt, so businesses either use two-way matching or record a service entry sheet or completion certificate that acts as the receipt document.
What tolerance should I set for price variances?
Many businesses allow a very small tolerance to absorb rounding, often under 1 percent with a rupee cap, and route anything larger to the buyer. Set tolerances by item category.
Who should resolve matching exceptions?
Price issues go to purchase, quantity and quality issues to stores or quality, and tax or calculation errors to accounts. Accounts should not resolve price disputes alone.
How Fininvo Helps
Fininvo links requisitions, POs, GRNs and purchase bills so matching happens on linked documents rather than registers. Explore purchasing, accounts payable and pricing.
Share this article
Ready to automate your business?
Start your 14-day free trial and experience the power of unified ERP, HR, and Payroll.
Start Free Trial