Invoice Matching & Mismatch Resolution
Three-way matching on quantity, price, and GST — with configurable tolerance, two-tier resolution, and posting blocked until every discrepancy is resolved.
The Challenge
Invoice mismatches — quantity shortages, price variances, incorrect GST — are discovered during audit or after payment. By then, recovery is difficult.
Manual matching in spreadsheets misses variances on high-volume line items. When mismatches are found, resolution is informal — emails, verbal approvals, no recorded outcome.
Auditors flag absent matching controls under SA 315 (control environment) and Companies Act Section 143(3)(i) (internal financial controls).
How We Address This
Three-Way Matching
Every goods receipt (GRN) and service acceptance (SA) line is matched against the purchase order on three dimensions: quantity (under/over received), unit price (invoice rate vs agreed PO rate), and GST (invoice GST vs PO GST, split into CGST/SGST/IGST based on vendor GSTIN and organisation state code).
Configurable Tolerance
Minor rounding differences within the configured tolerance percentage are auto-accepted — no human intervention needed. Only variances above tolerance require manual review. The tolerance threshold is set per organisation.
Two-Tier Resolution
Above-tolerance mismatches follow a structured path: a designated resolver (not the GRN/SA creator) reviews and chooses to accept or dispute. Acceptance above threshold requires a second approval from a different user — ensuring no single person can accept a large price variance.
Posting Block
A GRN or SA cannot be posted to the asset register or expense register until every mismatch on every line is resolved. Unresolved mismatches are visible in a dedicated pending-resolution queue for approvers.
PO Flag Propagation
When a mismatch is detected, the parent purchase order is flagged — pending price mismatch, pending rejection, or pending damage. These flags appear in PO exports, dashboard views, and CSV downloads. They clear automatically when the corresponding vendor debit note is approved.
HSN/SAC Validation
At GRN and SA creation, HSN/SAC codes are validated against the master. Invalid codes generate a warning — flagging tax classification issues without blocking operations.
Per-line GST ITC posture survives mismatch resolution
For organisations that have opted into per-line GST ITC, a price-mismatch resolution does not silently reset the ITC posture on the affected lines. The ITC eligibility, block reason and cess flag captured at PO approval (or, for imports, on the goods receipt override) remain attached to the line. The Vendor Debit Note adjusts the financial value; the ITC decision is independent and is preserved through resolution. See Per-line GST ITC.
Optional — Enable When You Need It
Manual mismatch resolution and HSN/SAC validation are both off by default. Basic goods receipt and service acceptance work without them. Enable mismatch resolution when you want structured variance handling. Enable HSN/SAC when you want tax code validation at receipt. Each is an independent toggle.
Vendor Debit Notes
Unresolved variances that require financial adjustment result in vendor debit notes — each with correct GST treatment and a compliant PDF.
| VDN Type | Trigger | Notes |
|---|---|---|
| REJECTION | Goods rejected at receipt or gate entry | — |
| UNDER_RECEIVED | Quantity shortfall against invoice | — |
| DAMAGE | Goods received in damaged condition | — |
| PRICE_EXCESS | Invoice rate exceeds agreed PO rate | — |
| SHORT_LANDED | Import shipment short-landed at port | Captures debit_foreign_amount, fx_rate_at_grn, debit_duty_amount so the recovery is denominated in the vendor's billing currency |
Each VDN computes the debit amount with correct GST treatment (CGST/SGST or IGST). For SHORT_LANDED VDNs against foreign-currency vendors, the debit lines carry inline forex (<FOREIGNAMOUNT> and <RATEOFEXCHANGE>) so the journal posts cleanly against the foreign-currency vendor balance — no manual reclassification needed.
Each VDN generates a GST-compliant PDF — titled "Tax Debit Note" when the organisation's GSTIN is configured, or "Debit Note" otherwise. The PDF includes organisation and vendor identity blocks, item table, tax breakdown, amount in words, and approval stamps. VDN posting enqueues the corresponding Tally journal entry.
Compliance Mapping
Companies Act 2013
Section 143(3)(i)
Posting blocked until mismatches resolved. Two-tier approval for above-tolerance acceptance. Internal controls over financial reporting.
CARO 2020
Clause 3(i)
Mismatch-free GRN posting ensures asset register entries match actual receipt. Proper records of fixed assets with quantitative details.
GST Act
Section 34
VDN PDF follows prescribed format with GSTIN, HSN, and CGST/SGST/IGST split. Tax debit notes per statutory requirements.
Internal Controls
SA 315 / ICFR
Segregation of duties — resolver cannot be the approver. Automated tolerance gates. Every resolution logged with actor and timestamp.
Further Reading
Preventing Duplicate Vendor PaymentsHow PO-GRN-Invoice matching catches double payments.
GST Split on Purchase OrdersHow CGST/SGST/IGST is determined from vendor GSTIN.
Vendor Debit Notes — From Rejection to RecoveryFormal recovery when goods are rejected, short-shipped, or overpriced.
Assess How This Applies to Your Organisation
Share a brief overview of your procurement volumes and we will evaluate how invoice matching controls may apply to your setup.