The purchase register records what the client booked, on the date it booked it, for every inward supply including those outside GST. GSTR-2B records what the client's suppliers reported to the GST portal, in the period the supplier filed, for the supplies they reported. Because the two are built from different events, on different dates, over different populations, a set of differences is structural and expected. Investigating effectively means removing the structural differences first and spending the time on the residue.
Four structural reasons the two will never agree
| Dimension | Purchase register | GSTR-2B |
|---|---|---|
| Whose action creates the record | The client's bookkeeping | The supplier's filing. The client has no control over it and, before the Invoice Management System, no way to act on it. |
| Which date drives the period | The voucher date, or the invoice date depending on how the register was run | The period in which the supplier reported the invoice, which can be months after the invoice date |
| Population covered | All inward supplies: imports, reverse charge, composition dealers, exempt and non-GST items, branch transfers | Only supplies reported by registered suppliers in their outward returns |
| What it measures | An accounting event with a value | An entitlement to credit, subject to conditions the statement itself does not test |
The third row is where most wasted effort goes. A client with substantial imports or reverse-charge purchases will show a large apparent shortfall in 2B that is entirely correct, and teams routinely spend days on it before someone identifies the cause.
Remove the expected differences first
- 01Strip reverse-charge supplies out of the register sideThe tax on these is paid by the recipient and the supplier does not report them in a way that puts them in 2B. They are not a difference and should never enter the unmatched list.
- 02Strip imports outCredit on imported goods arises from the bill of entry and is reported separately, not in the supplier-filed section of 2B.
- 03Strip exempt, nil-rated and non-GST inward supplies outNo credit arises, so nothing should be looked for in 2B.
- 04Strip purchases from composition dealers outNo credit is available on these, and they do not appear in 2B.
- 05Separate credit and debit notes on both sidesThey reduce credit rather than create it, and matching them against invoices produces noise. Reconcile them as their own population.
- 06Split the register by GSTINEach registration has its own 2B. Pooling a multi-state client's registers against a pooled 2B will appear to balance while concealing state-level mismatches that matter, because credit taken in the wrong state is not available.
In most mid-market clients these six exclusions account for the majority of the initial gap. Quantify each one rather than simply deleting it, because the reconciliation statement has to show a reviewer where the gap went.
Matching what remains
Match quality is almost entirely a function of how the invoice reference is treated. The same invoice is routinely keyed by the client as INV/0234/25-26 and reported by the supplier as 234, and no exact-match routine will pair them.
| Pass | Match on | Purpose |
|---|---|---|
| 1 | GSTIN + exact invoice number + taxable value | Clears the bulk of the population quickly and with no false positives |
| 2 | GSTIN + normalised invoice number + taxable value | Clears the format differences. Normalise by upper-casing, removing separators and leading zeros, and isolating the year segment. |
| 3 | GSTIN + normalised invoice number, value differing | Isolates rate and value mismatches, which are a real category rather than an unmatched item |
| 4 | GSTIN + taxable value + invoice date, reference differing | Catches invoices where one side keyed the reference wrongly. Review these individually; the rule is loose enough to produce coincidences. |
| 5 | PAN + value + date, GSTIN differing | Finds credit recorded against the wrong registration of the same supplier or the same client entity |
Assign every matched pair to the earliest pass that caught it, and keep the pass recorded against the line. A pair matched at pass 4 is weaker evidence than one matched at pass 1, and a reviewer should be able to see which is which.
Working a difference down to a cause
For anything still unmatched, the investigation is short and follows the same sequence every time. Most differences resolve at step two or three.
- 01Search the full year and the following months, not just the periodAn invoice booked in November and reported by the supplier in February is a timing difference, and searching only November's 2B reports it as supplier non-filing. This single step explains a large share of apparent mismatches.
- 02Search by value and date rather than by referenceIf the invoice is in 2B under a different reference, the value and date will usually find it.
- 03Search across the client's other GSTINsCredit billed to the Maharashtra registration but booked under the Gujarat one appears as unmatched on both sides at once.
- 04Check whether an action was taken in the Invoice Management SystemA record the client rejected will not carry credit in 2B even though the supplier filed it. That is a decision the client made, and the basis for it should be established.
- 05Obtain the physical invoiceAt this point the question is whether the supplier's GSTIN on the invoice matches what was keyed, whether the invoice is genuine, and whether the supply is one on which credit is available at all.
- 06Contact the supplierOnly for the residue, and with a specific question: was this invoice reported, in which return period, and under which GSTIN. A generic request produces a generic answer.
A worked difference
A client's register shows credit of a given amount on an invoice from a supplier in March. It does not appear in the March 2B. The investigation runs as follows.
- The April, May and June statements are searched by supplier GSTIN and value. The invoice appears in the May statement. The supplier filed late.
- That makes it a timing difference rather than a supplier non-filing, and the credit is available in May.
- Whether the client can retain the credit taken in March depends on when the conditions in section 16 were satisfied, and the client's own filing position for March.
- Because the supplier's return for the relevant period was eventually furnished, Rule 37A is not engaged on this invoice, though it would be if the return had not been furnished by the deadline in that rule.
- The working paper records the category, the period in which the credit became available, the effect on the March return, and the conclusion. It does not record it as a mismatch.
Do not conclude that a supplier has not filed on the basis of one month's statement. It is the most frequently miscategorised difference in this working paper, and it changes the conclusion from a timing item to a potential loss of credit.
What to hand the client
The output of this work is more useful to the client than most audit schedules, and it is worth producing in a form they can act on: differences grouped by supplier rather than by invoice, with the ones requiring a conversation with the supplier separated from the ones requiring a correction in the books. A list of nine hundred unmatched lines is not actionable; ninety suppliers with a quantified position each is.
How we think about this
Everything in the matching ladder is a rule, and rules should be executed by software over the whole population rather than by a person over a sample. What remains after the ladder has run is a small set of real questions, and those are worth an auditor's time. Lekhya runs the passes and shows which pass matched each line; deciding whether a client's explanation closes a difference is the auditor's call.
This is practical guidance written for audit teams, not an authoritative statement of any standard or statute. Standards, forms and timelines change. Check the current text issued by the ICAI and the relevant authority before relying on anything here in an audit file.
Related resources
- GST & GSTR-2BGSTR-2B reconciliation: a practical guide for auditorsWhat GSTR-2B is, how the Invoice Management System changed it, the statutory conditions that govern input credit, and how to run and conclude the reconciliation.
- GST & GSTR-2BGSTR-2B reconciliation: the difference categoriesWhat GSTR-2B is, how it differs from 2A, and the six categories every reconciliation difference falls into — with what each one usually means and what it implies for the audit file.
- Purchase & AP auditPurchase register audit: what to check before you test anythingWhat a purchase register must contain, the checks that establish it is complete and internally consistent, and the defects that quietly invalidate everything tested on top of it.
Free tools, no signup
Each one reads a file entirely in your browser — or, for two of them, just answers a few questions — and nothing is ever uploaded.
- Purchase register checkDuplicate payments, round-sum amounts, weekend-dated invoices, incomplete records.
- Bank reconciliation checkerMatches your cash book against a bank statement — what's outstanding on each side.
- Fixed asset register checkDuplicate asset codes, missing location or useful life, negative net book value.
- Payroll red-flag scannerBank accounts shared across employees, and records missing an ID, PAN or salary.
- CARO applicability checkerAnswer a few questions about the company and see which CARO 2020 clauses likely apply.
- MSME payment delay checkerMSME-flagged invoices paid — or still unpaid — beyond the 45-day Section 22 limit.
- Related-party transaction screenerTransactions above a threshold you set with no approval reference, grouped by counterparty.
- Depreciation useful life checkerCompares a useful life in use against the Schedule II, Part C indicative figure.
- Materiality calculatorOverall and performance materiality against PBT, revenue, assets or equity, with reasoning shown.
- Sample size calculatorStatistical sample size for a test of controls or a substantive test of detail.