Skip to main content
How-To · 9 min read

PO-GRN-Invoice Three-Way Matching in India: The 60-75% AP Exception Problem

Three-way matching India sits at the heart of every manufacturing AP function — and at Indian factories, exception rates of 60-75% are normal without a structured matching engine. This guide covers the tolerance band framework, the variance taxonomy, and a worked example for a ₹50 lakh monthly procurement run.

Terra Insight
Terra Insight Reconciliation Infrastructure

Content authored by practitioners with experience at Amazon India, Intuit QuickBooks, and the Tata Group. Meet the team →

Published 11 May 2026
Domain expertise
TDS Reconciliation GST Input Credit Platform Settlements NACH Batch Matching Bank Reconciliation Form 26AS Matching ERP Integrations Enterprise Finance Ops
Knowledge Card
Problem

An Indian manufacturer's three-way match between PO, GRN and vendor invoice fails on 60-75% of incoming invoices because of price tolerance breaches, partial GRN drift, GST inclusive/exclusive confusion, and vendor-master errors — pushing the AP team into a perpetual exception backlog and delaying MSME payments past the Section 43B(h) 45-day window.

How It's Resolved

Apply per-item-category tolerance bands (price 0-5%, quantity 0-3%, GST 0%) at PO-GRN-invoice junction; classify failures into six variance codes (UNDER_INVOICED, OVER_INVOICED, PARTIAL_QTY, GST_MISMATCH, VENDOR_PAN_MISMATCH, RATE_VARIANCE) with routing rules per code; layer Section 393(1)(k) year-to-date threshold tracking per vendor PAN; flag MSME vendors for 45-day clock from GRN date.

Configuration

Item-category-wise tolerance band table, vendor master with PAN/GSTIN/MSME flag, Section 393 code mapping (1002 contractor, 1012 purchase above ₹50L), GST-inclusion default per PO type, GRN-to-invoice matching window in days, and exception ageing buckets (0-30, 31-60, 60-90, 90+ days).

Output

A daily AP close where matched invoices route to payment, exceptions route to the queue by variance code, MSME 43B(h) deadlines surface before they breach, Section 393(1)(k) threshold crossings trigger TDS deduction on the next invoice automatically, and the monthly exception rate trends toward sub-15%.

A finance head at a steel fabrication unit in Faridabad runs the April AP report: 1,847 vendor invoices booked, 1,289 entered the exception queue at some point, exception rate 69.8%. The cost is not just delayed vendor payments — it is also missed MSME 43B(h) deadlines, deferred ITC claims that drift past the September following the financial year, and Section 393(1)(k) TDS not deducted on three vendors where the year-to-date purchase crossed ₹50 lakh six weeks ago. Three-way matching India done right is the single highest-leverage AP control at an Indian factory; done wrong, it is the source of every downstream tax and treasury problem.

What three-way matching is

Three-way matching is the procurement-to-payment control that compares three documents at the point a vendor invoice is processed:

  1. The purchase order — the commercial agreement, capturing agreed item, quantity, rate, GST treatment, payment terms and delivery schedule
  2. The goods receipt note — the physical receipt at the factory gate, after quality check, capturing actual quantity received, rejected, accepted, and on hold
  3. The vendor invoice — the legal demand for payment, capturing invoiced item, quantity, rate, GST charged, and any other line items (packing, freight, scrap)

A clean three-way match means PO quantity is approximately equal to GRN-accepted quantity is approximately equal to invoiced quantity (within tolerance), PO rate is approximately equal to invoice rate (within tolerance), the vendor PAN and GSTIN match the master, and the GST treatment (inclusive or exclusive) is consistent across PO and invoice. Where any leg fails the comparison, the invoice routes to an exception queue rather than to the payment run.

Why Indian manufacturing exception rates run 60-75%

Four failure modes dominate every Indian factory’s exception queue.

1. Price tolerance breaches without a documented band

A vendor invoices steel at ₹128.50 per kg against a PO of ₹125.00 per kg — a 2.8% variance. Is that within tolerance or outside? Most spreadsheet-driven AP teams do not have a documented tolerance band per item category. Either every variance becomes an exception (overloading the queue), or the AP clerk approves with discretion (creating audit findings). The fix is a per-item-category band: typically 0-3% on raw materials with stable prices, 0-5% on commodity-linked items (steel, copper, polymer where the index can move between PO and invoice), and 0% on engineered components.

2. Partial delivery and GRN drift

A PO for 1,000 kg of bearing-grade steel is dispatched in two lots of 500 kg each, but the vendor invoices the full 1,000 kg before the second lot’s quality clearance is complete. The first GRN shows 500 kg accepted; the second is in quality hold for 7 days. Matching the invoice now against GRN shows a 500 kg shortfall — a PARTIAL_QTY exception. Matching after QC closes will clear it. The structural fix is a documented GRN-to-invoice matching window (commonly 7-15 days) and a hold-then-release rule, not a hard rejection.

3. GST inclusion variance

The PO is drawn with rate ₹125/kg “plus applicable taxes”. The invoice is raised at ₹125/kg inclusive of 18% GST — meaning the goods value is ₹105.93/kg and the GST is ₹19.07/kg. Same rupee total, completely different ITC claim and Section 17(5) exposure. This is a definitional dispute that has to be resolved at PO terms drafting, not at invoice booking. Until it is, every such invoice will throw a GST_MISMATCH exception.

4. Vendor master mismatches

The invoice carries PAN AABCS1234L against a vendor master entry of AABCS1234M (one-character typo, made during vendor onboarding 18 months ago). Or the GSTIN on the invoice is the vendor’s new state registration, but the PO was raised against the old state’s GSTIN. Either creates a VENDOR_PAN_MISMATCH or vendor-GSTIN-mismatch exception. The fix is a vendor master cleanup project before three-way matching can be reliable.

The tolerance band framework

A workable tolerance framework for an Indian manufacturer is built around three dimensions:

DimensionTypical bandNotes
Price tolerance0% to 5%2-3% for raw materials, 0% for engineered/precision items, 5% for commodity-indexed items
Quantity tolerance0% to 3%Higher band only for bulk commodities; engineered items at 0%
GST tolerance0%GST variance is always a hard exception — affects ITC directly
Vendor PAN/GSTINExact matchNo tolerance; mismatch is a hard stop
Section 393(1)(k) thresholdYTD purchase trackerTrigger TDS deduction at ₹50 lakh aggregate crossing per PAN

The tolerance band must be encoded per item category in the matching engine, not as a global setting. A 5% band on a steel-scrap purchase is reasonable; the same 5% band on a precision-machined bearing is dangerous.

The variance taxonomy

Every failed three-way match should be classified into exactly one variance code, with a documented resolution path for each. The standard six-code taxonomy is:

Variance codeTriggerResolution path
UNDER_INVOICEDInvoice value lower than PO value within tolerance bandAuto-accept; flag for vendor follow-up
OVER_INVOICEDInvoice value higher than PO outside tolerance bandPurchase head approval or vendor credit note
PARTIAL_QTYInvoiced quantity exceeds GRN-accepted quantityHold for matching window; release on next GRN
GST_MISMATCHGST inclusion/exclusion or rate differs PO vs invoicePO terms clarification or vendor revision
VENDOR_PAN_MISMATCHPAN/GSTIN on invoice differs from vendor masterVendor master correction before payment
RATE_VARIANCEUnit rate on invoice outside PO tolerance bandPurchase head approval with documented reason

The discipline is that every exception has exactly one code and exactly one owner, with an SLA per code (e.g. RATE_VARIANCE owned by purchase, 5-day SLA; VENDOR_PAN_MISMATCH owned by vendor onboarding, 3-day SLA). Without that, exceptions age into the 60+ day bucket and become irrecoverable. The detailed operational discipline for working the exception queue is covered in AP exception management for Indian manufacturing.

Worked example: a ₹50L monthly procurement run

Take a mid-size auto component manufacturer with monthly procurement of ₹50 lakh across 240 invoices from 65 vendors. A typical pre-implementation profile:

  • Invoices processed: 240
  • Clean three-way match (no exception): 73 (30%)
  • Entered exception queue: 167 (70%)
  • Of those exceptions: 58 RATE_VARIANCE, 41 PARTIAL_QTY, 32 GST_MISMATCH, 18 VENDOR_PAN_MISMATCH, 12 OVER_INVOICED, 6 UNDER_INVOICED
  • Average exception age at month-end: 23 days
  • MSME 43B(h) breaches in the month: 9 invoices
  • Section 393(1)(k) deduction misses: 2 vendors (each had crossed ₹50L YTD silently)

Post-implementation profile, after 90 days, with item-category-wise tolerance bands, automated GRN-to-invoice matching window, vendor master cleanup completed, and Section 393(1)(k) YTD tracker live:

  • Invoices processed: 240
  • Clean three-way match: 207 (86%)
  • Entered exception queue: 33 (14%)
  • Of those: predominantly RATE_VARIANCE on commodity-indexed items in genuine purchase head discussion, plus quality-hold PARTIAL_QTY waiting on QC sign-off
  • Average exception age at month-end: 6 days
  • MSME 43B(h) breaches: 0
  • Section 393(1)(k) misses: 0

The match-rate improvement curve (51% → 88%) is consistent with published customer outcomes across the broader reconciliation software India surface, and the AP exception reduction from 70% to 14% is the manufacturing-specific instance of that curve when three-way matching software India is deployed with the right tolerance configuration.

India-specific compliance layer

Three statutory anchors must be live inside the matching engine, not bolted on later.

Section 393(1)(k), Income Tax Act 2025 (replaces 194Q) — TDS at 0.1% on purchases above ₹50 lakh aggregate per resident vendor PAN per financial year, where buyer turnover exceeds ₹10 crore in the preceding year. Payment code 1012. Requires a year-to-date purchase tracker per vendor PAN to flag the threshold crossing and start deducting from the next invoice.

Section 17(5), CGST Act (unchanged by the new Income Tax Act) — blocks ITC on a defined list. The matching engine must flag invoices for blocked-credit categories so the AP team does not auto-claim ITC.

Section 43B(h), Income Tax Act — payments to MSME vendors must clear within 45 days where a written agreement exists, else 15 days. Vendor master must carry an MSME flag (Udyam registration verified); the matching engine must surface MSME invoices on a separate priority ageing track. The current text and notifications for GST law are on the GST portal.

For the linked GRN-side mechanics — partial deliveries, quality holds, GRN reversal — see goods receipt note (GRN) reconciliation in India. For the broader umbrella view of the five reconciliation rails at an Indian factory, see manufacturing reconciliation in India. For the SAP-specific implementation pattern of MM-FI three-way matching, see SAP MM-FI three-way match reconciliation India and the broader SAP FI reconciliation India guide.

Quantify Your Exposure

What is your AP exception rate actually costing you?

The Three-Way Match Exception Cost Calculator runs in your browser. Five inputs — monthly procurement volume, invoice count, exception rate, analyst time per exception, blended cost — return annual rupee cost, analyst hours consumed, working capital lock, and recoverable target at a 15% exception rate.

Run the Exception Cost Calculator →
Primary reference: GST portal — where invoice rules, e-invoice IRN requirements, and Rule 36(4) ITC eligibility are published.

Frequently Asked Questions

What is three-way matching in an Indian manufacturing context?
Three-way matching is the AP control where a vendor invoice is matched against the purchase order (the commercial agreement) and the goods receipt note (the physical receipt at the factory) before payment is released. In an Indian manufacturing context the match must also reconcile GST inclusive/exclusive treatment, Section 393(1)(k) TDS deduction on purchases above ₹50 lakh aggregate per PAN, and MSME 43B(h) payment-window flags. A clean match means PO quantity ≈ GRN quantity ≈ invoice quantity within tolerance, PO rate ≈ invoice rate within tolerance, vendor PAN/GSTIN matches the master, and GST is correctly inclusive or exclusive per PO terms.
Why are AP exception rates so high at Indian manufacturers — 60% or more?
Industry surveys and published CFO commentary at mid-size Indian manufacturers consistently report 60-75% of vendor invoices going into an exception queue at some stage when three-way matching is done on spreadsheets or with ERP-default tolerance settings. The four dominant drivers are: price tolerance breaches (vendor invoices ₹128/kg against PO of ₹125/kg with no documented tolerance band), partial-delivery GRN drift (invoice arrives before final GRN is closed), GST-inclusion confusion (PO drawn excluding GST, invoice raised inclusive at 18% or 12%), and vendor-master mismatches (PAN or GSTIN on invoice differs from what is on file). Structured matching engines that encode tolerance bands per item category typically reduce exceptions to under 15%.
What tolerance bands are typically used for three-way matching in India?
Common practice at Indian manufacturers is a price tolerance band of 0% to 5% (commonly 2-3% for raw materials, tighter for traded items), a quantity tolerance band of 0% to 3% (often zero for high-value capital items), and a 0% GST tolerance — any GST variance is a hard exception because it directly affects ITC claim and Section 17(5) exposure. Tolerance bands should be configured per item category, not globally, because a 5% price band that is acceptable on steel scrap is unacceptable on a precision-engineered component.
How does Section 393(1)(k) TDS affect three-way matching?
Section 393(1)(k) of the Income Tax Act 2025 (which replaced legacy Section 194Q) requires a buyer with turnover above ₹10 crore to deduct 0.1% TDS on purchases exceeding ₹50 lakh aggregate per resident seller in a financial year, using payment code 1012. This affects three-way matching because the invoice net payable must be reduced by the TDS amount, and a year-to-date purchase tracker per vendor PAN must flag the threshold crossing. Most exception queues miss this until the quarterly TDS return — and recovering excess paid is harder than deducting at source.
What is a realistic exception-rate target post-implementation of three-way matching software?
A realistic target after implementing structured three-way matching software at an Indian manufacturer is to push exceptions from the 60-75% industry norm to under 15% within 90 days of go-live. The residual 10-15% is typically genuine commercial dispute (rate negotiation in progress, partial-delivery legitimately split across cycles, quality holds awaiting QC sign-off) which requires human resolution. The customer outcomes published for purpose-built tools show match rates improving from 51% to 88% across the broader reconciliation surface.

See how TransactIG handles reconciliation for your industry

Configuration takes 2–4 weeks. No code development required. ISO 27001:2022 certified.