How to Reconcile GSTR-2B With Your Purchase Register
A step-by-step method for matching GSTR-2B against your books before the ITC deadline - the mismatch types, what causes each, and how to fix them.
GSTR-2B reconciliation is the process of matching every invoice your suppliers have declared against what your purchase register says you actually received and booked. Done properly it is mechanical: pull both files, normalise them onto the same keys, match, and work the leftovers. Done badly it is a spreadsheet you reopen every month with the same unresolved rows carried forward until the credit behind them expires. This is the method, the mismatch types you will actually see, and what to do with each one.
Why this reconciliation has a deadline
Input tax credit is not a permanent entitlement sitting in your ledger waiting to be claimed whenever convenient. Under Section 16(4), credit for invoices or debit notes belonging to a financial year has to be claimed in a return filed by 30 November following the end of that year, or by the date the annual return is filed, whichever comes first. Miss that window and the credit is gone, not deferred.
GSTR-2B is the document that decides what you are entitled to claim in the first place. It is a static statement generated once a month on a fixed date, built from whatever your suppliers had filed as of that cut-off, and it is what populates Table 4 of GSTR-3B. GSTR-2A, by contrast, updates continuously and is useful for tracing a supplier's filing history but is not the document your credit is measured against. The difference is covered in full in GSTR-2A vs GSTR-2B.
Reconciling every month, rather than once near the deadline, is what keeps unresolved rows small enough to chase down individually instead of facing a backlog against a hard cutoff. It also feeds directly into the Invoice Management System, where accepting or rejecting an invoice before GSTR-2B is generated changes what lands in it.
Getting GSTR-2B and your purchase register into the same shape
GSTR-2B is downloadable from the portal as an Excel workbook or as JSON through the GSTR-2B API, both broken into B2B invoices, credit and debit notes, ISD credits, and a separate ITC-not-available section you should read before you match anything else, since those rows are excluded from Table 4 by rule.
Before matching, normalise both sides onto identical formats:
- GSTIN. Uppercase, strip whitespace, and validate the checksum — a single mistyped character in either file breaks every match on that row.
- Invoice number. Strip leading zeros, leading/trailing whitespace, and inconsistent
separators (a supplier who writes
INV-001in one filing andINV/001in another is common). Case-fold if either side is inconsistent. - Date. One format, one side is often DD-MM-YYYY out of the portal export and the other is whatever your accounting software uses.
- Taxable value and tax amount. Round to two decimals consistently; do not compare a three-decimal ERP export to a two-decimal portal export without rounding both first.
The match logic: keys and tolerance
Match on the combination of GSTIN, invoice number, invoice date, taxable value and tax amount. GSTIN plus invoice number alone is not a safe primary key — the same supplier can raise two genuinely different invoices with an identical number across financial years, or after a numbering reset.
Allow tolerance only where it is explainable: a few rupees of taxable value difference from per-line rounding that compounds differently in your ERP than on the portal is normal. A tax-rate mismatch, a tax amount that does not follow from the taxable value at any plausible rate, or a taxable value off by more than rounding is not tolerance — it is a mismatch to work.
The four mismatch buckets
Everything that does not match cleanly falls into one of four groups, and the group determines who acts next — you, the supplier, or nobody until a filing catches up.
In your books, not in GSTR-2B. You have the invoice and the goods or service, but it does not appear in the statement. Either the supplier has not filed GSTR-1 for the period yet, filed it with the wrong GSTIN or invoice details, or will file it in a later period than the one on the invoice. No credit is available on this line until it appears.
In GSTR-2B, not in your books. A supplier has declared a supply you have no record of. Sometimes it is a genuine bill your purchase team has not entered yet; sometimes it is a duplicate the supplier filed twice; occasionally it is fraudulent invoicing where your GSTIN is used to pass on a fictitious credit you never asked for and should not accept.
Value mismatches. The invoice exists on both sides but the taxable value, tax rate or tax amount disagrees beyond rounding. Common causes are a credit note applied on one side and not the other, a discount treated differently, or a genuine data entry error on either side.
Identity and classification errors. The invoice matches roughly but something about how it was classified is wrong — the supplier's GSTIN, the place of supply producing IGST where CGST/SGST was expected or vice versa, an RCM supply reported the wrong way, or a credit that is blocked outright under Section 17(5) regardless of whether the invoice matches perfectly.
| Mismatch type | Likely cause | Fix |
|---|---|---|
| In books, not in 2B — supplier hasn't filed | GSTR-1 not yet filed for the period | Check filing status, follow up with a deadline; do not claim until it appears |
| In books, not in 2B — wrong GSTIN on supplier's filing | Supplier keyed your GSTIN incorrectly on their outward return | Send them the correct GSTIN and ask for an amendment via GSTR-1A |
| In books, not in 2B — filed in a later period | Supplier reported the invoice in a subsequent month's GSTR-1 | Confirm it lands in the later GSTR-2B; claim credit in that later period, within Section 16(4) |
| In 2B, not in books — missing bill | Purchase not yet entered in your system | Locate the physical or digital invoice and book it |
| In 2B, not in books — duplicate or fraud flag | Supplier filed the same invoice twice, or your GSTIN was misused | Reject in IMS; report suspected fraudulent use to your jurisdictional officer |
| Value mismatch | Credit note applied on one side only, discount treated differently, data entry error | Trace to the source document on both sides and correct whichever is wrong |
| Wrong GSTIN | Transposed digit, stale GSTIN after a supplier re-registered | Verify the correct GSTIN and have the supplier amend the filing |
| Wrong place of supply (IGST vs CGST/SGST) | Supplier applied the wrong POS rule for the transaction type | Confirm the correct POS with the supplier and request an amendment |
| RCM item shown as forward charge, or vice versa | Supplier or your team misclassified a reverse charge supply | Correct the classification; RCM liability and credit sit in Table 3.1(d) and 4, not the auto-populated outward tables |
| Blocked credit under 17(5) | Invoice matches perfectly but the credit is ineligible by category | Do not claim it regardless of the match; see the blocked-credit list below |
Working IMS and the vendor follow-up
The Invoice Management System sits between what suppliers file and what lands in your GSTR-2B. Every invoice a supplier reports appears in IMS first, and you accept, reject or leave it pending before GSTR-2B is generated for the period. A duplicate invoice or one you can identify as fraudulent should be rejected in IMS rather than accepted and then reversed later — rejecting it keeps it out of GSTR-2B entirely.
For every "in books, not in 2B" row, the useful next step is establishing whether the supplier simply has not filed yet or has stopped filing altogether, because the two require different follow-up. Check the supplier's GSTIN status and recent filing history rather than guessing — the method is in how to check a supplier's GST return filing status. A supplier who is one week late needs a reminder; one who has not filed in three periods needs a different conversation, and possibly a different supplier.
Build this check into onboarding as well as ongoing reconciliation, so a wrong or cancelled GSTIN never reaches the purchase register in the first place — see vendor GST verification for accounts payable. Our API returns registration status and per-period filing history in one call, which tells you whether a mismatch is explained by non-filing before you spend time chasing a supplier who simply has not filed yet. It verifies the supplier's status; it does not read your purchase register or perform the matching itself — that stays in whatever accounting or reconciliation tool holds your books. See using an API for return-filing reconciliation checks and verifying GST numbers directly in Excel if your purchase register lives there.
Rule 37A and the supplier who never files
Rule 37A covers the case where you correctly claimed input tax credit because the invoice appeared in your GSTR-2B, but the supplier subsequently fails to file their own GSTR-3B for that period by 30 November following the end of the financial year. In that case the rule requires you to reverse the credit, generally by the due date of the return for November, even though the original claim was valid when made.
This is a second reason the "in books, not in 2B" bucket needs supplier-level filing history, not just a per-invoice check: a supplier who is chronically late is a Rule 37A reversal waiting to happen on every invoice you book with them, not just the current one.
Blocked credits under Section 17(5)
An invoice can match your books to GSTR-2B perfectly and still not be creditable. Section 17(5) lists categories of input tax credit that are ineligible regardless of matching, including motor vehicles for personal use (with stated exceptions), food and beverages, outdoor catering, membership of clubs and fitness centres, and works contract services for construction of an immovable property in most cases. The full list and its exceptions are in the input tax credit rules explained.
Flag these during reconciliation rather than after, because a blocked credit that gets claimed anyway shows up as a mismatch nowhere in GSTR-2B matching — it matches fine — and only surfaces later as a disallowed claim under scrutiny.
Frequently asked questions
A note on accuracy. GST rules change often. This article reflects our understanding as of 23 September 2026 and is general information, not tax or legal advice. For the authoritative position, check gst.gov.in and cbic-gst.gov.in, or speak to a qualified tax professional about your specific situation.
Check a GSTIN right now, free
Five lookups a day, no account required. Status, filing history, e-invoicing and jurisdiction.
Free GST search toolBuild it into your product
One REST call, JSON back. Get an API key and 20 free verification credits in under a minute.
Start freeMore on gst rules & compliance
Browse every guide in the GST API blog.