GSTAugust 12, 20267 min read

GSTR-2B Reconciliation: Claim Every Rupee of ITC (and Block What You Can't)

Every rupee of input tax credit you claim in GSTR-3B has to be backed by an invoice sitting in your GSTR-2B. From April 2026 that's not a best practice — it's enforced by the portal itself, which now hard-blocks ITC that isn't in your 2B. That single change turns monthly 2B-vs-purchase-register reconciliation from a year-end chore into a survival task. Miss it, and you either lose credit you were entitled to, or claim credit that gets reversed with interest.

What GSTR-2B actually is

GSTR-2B is your static, auto-drafted, month-wise ITC statement.The GST portal builds it once for each return period from what your suppliers filed in their GSTR-1, GSTR-5, and IFF. “Static” is the key word: unlike 2A, it doesn't keep changing under you — once generated for a month, it's frozen, so what you reconcile today is what you'll answer for later.

The consequence is simple and unforgiving: ITC is claimable only for invoices that appear in your 2B — which means only when the supplier has actually filed. A perfectly genuine purchase, with a valid tax invoice and goods received, is still not claimableif your supplier hasn't uploaded it. Your books alone don't entitle you to credit; the supplier's filing does.

The April 2026 hard block

Until recently, claiming ITC that wasn't in your 2B was a risk you could take and defend later. That door is closed. From April 2026, the GST portal hard-blocks ITC that isn't reflected in your GSTR-2B— the figure is locked, and you literally cannot enter a higher credit in GSTR-3B. There is no override field, no “claim now, reconcile later.”

This flips the economics of reconciliation:

  • Under-claimand you have blocked working capital — credit you earned but didn't take because you never noticed it was sitting in 2B.
  • Over-claimis no longer even possible for missing invoices — the portal won't let you — so the only way to get your credit is to fix the source: chase the supplier to file.

Monthly reconciliation is the only mechanism that tells you, before you file 3B, exactly which credits are safe and which ones you need to go get.

The four outcomes reconciliation must surface

A reconciliation is only useful if it sorts every invoice into an action. Comparing your purchase register against 2B produces exactly four buckets:

  1. Matched. The invoice is in both your books and your 2B, with the same tax. This ITC is safe — claim it.
  2. Tax mismatch.The same invoice appears in both, but the figures differ — someone typed a number wrong (yours or the supplier's). You can only safely claim the amount reflected in 2B; the gap needs a correction at the source.
  3. In your books but NOT in 2B.You have the invoice; the portal doesn't. The supplier hasn't filed. Don't claim it yet — chase them to upload it, or your credit stays blocked.
  4. In 2B but NOT in your books. The portal shows credit you never recorded — a missed purchase entry, or an invoice booked in the wrong period. This is unclaimed ITC you're leaving on the table.

Two of these buckets protect you from reversal with interest (mismatch, not-in-2B); the fourth puts money back in your pocket (not-in-books). A reconciliation that only shows “matched vs not” misses half the value.

Why deterministic matching matters

Matching invoices sounds trivial until you look at real data. The same invoice is written as INV-001 in your books and INV/001in the supplier's filing. GST amounts drift by a rupee or two because of rounding at the line vs invoice level. Naive exact-match string comparison would flag thousands of these as mismatches and bury the genuine problems.

Taficon's reconciliation handles this the boring, reliable way:

  • It normalizes invoice numbers — stripping separators and case so INV-001 and INV/001 are recognized as the same invoice.
  • It tolerates ₹1–2 of rounding drifton tax amounts, so ordinary rounding doesn't masquerade as an error.
  • It still flags the real gaps — a ₹100 difference is a genuine tax mismatch, not rounding, and it says so.

And it is deterministic: the same purchase register and the same 2B always produce the same result. No AI guessing, no “run it twice, get two answers.” A CA can re-run the exact files a month later and get identical numbers — which is precisely what you want when the output has to survive a departmental query.

A worked example

Say your purchase register for the month has four invoices, and you reconcile against 2B. Here's what a clean reconciliation report looks like:

InvoiceITC (Books)ITC (2B)Outcome
INV-001₹9,000₹9,000Matched — claim it
INV/002₹5,400₹5,300Tax mismatch (₹100)
INV-003₹12,000—Not in 2B — don't claim, chase supplier
INV-004—₹3,200Not in books — unclaimed ITC

Reading it straight off the table, you know exactly what to do:

  • INV-001 — ₹9,000 is safe. Claim it in 3B.
  • INV/002 — normalized to the same invoice despite the slash; the ₹100 gap is a real mismatch, not rounding. Claim ₹5,300 (the 2B figure) and take up the ₹100 with the supplier.
  • INV-003— ₹12,000 is genuine but the supplier hasn't filed. Hold the claim and chase them, or the portal blocks it anyway.
  • INV-004— ₹3,200 of credit you'd have missed entirely. Book the purchase and claim it.

One is a mismatch worth a phone call, one is blocked credit worth chasing, and one is ₹3,200 you'd have quietly left behind — none of which a “does it roughly tally” glance would have caught.

It runs in your browser

Your data stays with you

The reconciliation runs entirely in your browser. Your purchase register and your GSTR-2B never leave your machine — nothing is uploaded to a server. The matching, normalization, and bucketing all happen locally, on your device.

Reconcile your next return

With the April 2026 hard block live, the month you skip reconciliation is the month you either lose credit or file a return you have to unwind later. The fastest way to see the difference is to run one real period through it: drop in your purchase register and your 2B, and read the four buckets off the report.

Reconcile your GSTR-2B against your books

Deterministic · in-browser · four clear buckets — claim, fix, chase, recover.