How-to 10 min read

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.

Written and reviewed by the GSTIN API team Last reviewed

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-001 in one filing and INV/001 in 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 typeLikely causeFix
In books, not in 2B — supplier hasn't filedGSTR-1 not yet filed for the periodCheck filing status, follow up with a deadline; do not claim until it appears
In books, not in 2B — wrong GSTIN on supplier's filingSupplier keyed your GSTIN incorrectly on their outward returnSend them the correct GSTIN and ask for an amendment via GSTR-1A
In books, not in 2B — filed in a later periodSupplier reported the invoice in a subsequent month's GSTR-1Confirm it lands in the later GSTR-2B; claim credit in that later period, within Section 16(4)
In 2B, not in books — missing billPurchase not yet entered in your systemLocate the physical or digital invoice and book it
In 2B, not in books — duplicate or fraud flagSupplier filed the same invoice twice, or your GSTIN was misusedReject in IMS; report suspected fraudulent use to your jurisdictional officer
Value mismatchCredit note applied on one side only, discount treated differently, data entry errorTrace to the source document on both sides and correct whichever is wrong
Wrong GSTINTransposed digit, stale GSTIN after a supplier re-registeredVerify 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 typeConfirm the correct POS with the supplier and request an amendment
RCM item shown as forward charge, or vice versaSupplier or your team misclassified a reverse charge supplyCorrect 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 categoryDo not claim it regardless of the match; see the blocked-credit list below
Common GSTR-2B mismatch types, their likely cause, and the fix.

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

GSTR-2A updates continuously as suppliers file, while GSTR-2B is a static, once-a-month statement generated on a fixed date and is the document Table 4 of GSTR-3B is actually built from. For purchase register reconciliation you match against GSTR-2B, because it is the version that determines how much input tax credit you can claim for the period, not GSTR-2A. See the full comparison in <a href="/blog/gstr-2a-vs-gstr-2b-difference">GSTR-2A vs GSTR-2B</a>.
The practical deadline is your own filing cycle, but the legal outer limit on claiming input tax credit for a financial year is 30th November following the end of that financial year, or the date you file the annual return for that year, whichever is earlier, under Section 16(4). Credit not claimed by then is permanently lost, so reconciliation cannot wait until year end even though the deadline technically allows it.
A common working tolerance is a few rupees on taxable value, arising from rounding at the line-item level, and no tolerance at all on tax rate or tax amount beyond what that rounding explains. Anything larger than paise-level rounding is a genuine mismatch and belongs in one of the mismatch buckets, not written off as acceptable variance.
Not yet. Since GSTR-2B became the basis for Table 4 of GSTR-3B, credit is available only on invoices that appear in it, so a purchase register entry with no counterpart in GSTR-2B is not claimable until the supplier files or amends their GSTR-1 and it flows through. Chase the supplier rather than claiming the credit and hoping it reconciles later.
Rule 37A requires you to reverse input tax credit you already claimed if the supplier whose invoice generated that credit does not file their GSTR-3B for the corresponding period by 30th November following the end of the financial year. You can reclaim the reversed credit once the supplier does eventually file, but until then the reversal is mandatory, not optional.
Yes, and it is one of the more disruptive ones, because the invoice lands against a different GSTIN in GSTR-2B, or against none at all if the GSTIN does not exist, rather than showing up as a simple value difference against the entry you expected. Verifying a supplier GSTIN before the invoice is booked catches this before it becomes a reconciliation problem.
No. Our API verifies GSTIN registration details and returns GSTR filing history in a single call, which is useful for checking whether a mismatch is explained by a supplier who has not filed or a GSTIN that was mistyped, but it does not read your books or perform the line-by-line matching itself. That matching happens in whatever accounting or reconciliation tool holds your purchase register.

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 tool

Build it into your product

One REST call, JSON back. Get an API key and 20 free verification credits in under a minute.

Start free