The instinct is to start at row 1 of a 300-row register and check each invoice against GSTR-2B. It works, but it treats a ₹12 rounding difference and a ₹1,80,000 missing invoice with the same effort. The window is short: GSTR-2B is generated on the 14th and, for monthly filers, GSTR-3B is due on the 20th. So the method below is built to find the large exceptions first.
For the other causes of a GSTR-2B mismatch and how to fix each one, see our guide to common reconciliation errors.
Pass 1: totals first
Add up the tax in your register and the tax in the GSTR-2B B2B sheet, head by head: IGST, CGST, SGST and cess. Put credit and debit notes on their own line. They sit in the separate CDNR and CDNRA tables, and netting them silently into the invoice total hides what you are trying to see.
The gap between the two totals is your search budget. Two cautions before you use it.
- A net gap understates the work. If one supplier is ₹18,000 short in GSTR-2B and another is ₹15,300 extra, the net gap is ₹2,700 while the exceptions total ₹33,300.
- Agreement is not proof. A ₹9,000 invoice that is missing from GSTR-2B and a ₹9,000 invoice that is only in GSTR-2B cancel each other. If the totals agree, do pass 2 anyway; it is quick.
Read the heads separately as well. If total tax agrees but IGST is higher in the register and CGST plus SGST are higher in GSTR-2B, an invoice was booked under the wrong head, usually a place of supply slip.
Pass 2: supplier by supplier
Make one row per supplier GSTIN, with the register tax, the GSTR-2B tax, the difference and the invoice count on each side. Use a pivot table, or a formula such as =SUMIFS(Register!$H:$H,Register!$B:$B,A2) against a list of every GSTIN that appears in either file. Include GSTINs that appear in only one file, since those are the interesting ones. Sort by the absolute difference, largest first, and ignore anything within about a rupee.
The pattern in each row tells you what to expect:
- GSTR-2B tax is nil, register tax is positive: the supplier does not appear at all. Either the GSTIN was keyed wrongly or the supplier has not filed GSTR-1.
- GSTR-2B lower than register: one or more invoices missing, or reported at a lower value.
- GSTR-2B higher than register: invoices you have not booked, or booked under another supplier.
- Register tax is nil, GSTR-2B tax is positive: a supplier you have no record of. Confirm receipt before you book anything.
Pass 3: invoice by invoice, only where needed
Now open the suppliers at the top of the sorted list. Match on the GSTIN plus invoice number as in the guide to invoice number mismatches, then use these sorts and filters on what is left.
- Sort both leftover lists by tax amount. The same supplier with the same amount, once on each side, is almost always one invoice keyed two ways.
- Filter matched rows for a tax difference greater than ₹1. These are your value mismatches.
- Flag duplicates with a COUNTIF on the key. A second booking of the same invoice inflates the register total without appearing in GSTR-2B.
- Filter by date. Invoices dated well outside the month are candidates for a timing difference; the freeze date guide explains why an invoice can land in a different month.
- Sort by supplier, then by invoice number, and read down both lists side by side. Gaps in a supplier’s serial run often show the missing invoice.
The five buckets
Whatever method you use, each invoice ends up in one of five places. Four are exceptions and one is clean.
| Bucket | How you spot it | Usual causes | First action |
|---|---|---|---|
| A: Matched | Key found, tax within ₹1 | None | Claim as per GSTR-2B |
| B: Value mismatch | Key found, tax differs by more than ₹1 | Rate or taxable value error, a discount not reflected, one line of a multi-line invoice reported | Get the invoice copy; fix the books or ask the supplier to amend |
| C: Missing from 2B | Not found; the supplier GSTIN is nowhere in GSTR-2B | Supplier has not filed GSTR-1, or GSTIN keyed wrongly | Check the GSTIN on the invoice, then follow up the supplier |
| E: IMS Pending suspected | Not found; the supplier GSTIN appears with other invoices | Kept Pending in IMS, invoice number typed differently, omitted by the supplier, reported in another period | Check your IMS dashboard first |
| D: Only in 2B | In GSTR-2B, no register row | Not booked, booked under another supplier, or reported against your GSTIN in error | Confirm receipt, then book it or act on it in IMS |
Two details are worth knowing. Bucket E is labelled “suspected” for a reason: records kept Pending are not part of GSTR-2B, but you cannot tell from a file alone whether Pending is the cause, so open the IMS dashboard. The steps are in the IMS Pending guide. And in bucket D, do not book an invoice just because it is in GSTR-2B. Section 16(2)(b) allows credit only if you actually received the goods or services. IMS lets a recipient accept, reject or keep pending each inward invoice.
Credit notes, RCM entries and amended invoices are separate lanes with their own rules. See RCM matching and amended invoices.
Worked example: six suppliers, one month
A wholesaler runs pass 2 and gets this table (tax only).
| Supplier | Register tax | GSTR-2B tax | Difference |
|---|---|---|---|
| Anand Steel | ₹1,84,500 | ₹1,84,500 | ₹0 |
| Bhavani Plastics | ₹92,340 | ₹74,340 | ₹18,000 |
| Chola Logistics | ₹41,760 | ₹41,760 | ₹0 |
| Deepak Chemicals | ₹66,600 | ₹59,400 | ₹7,200 |
| Eastern Packaging | ₹0 | ₹15,300 | −₹15,300 |
| Falcon Electricals | ₹28,350 | ₹28,350 | ₹0 |
| Total | ₹4,13,550 | ₹4,03,650 | ₹9,900 |
Pass 1 alone would say “₹9,900 gap”. Pass 2 shows the truth: three suppliers with gaps of ₹18,000, ₹7,200 and −₹15,300, which add to the same ₹9,900 but total ₹40,500 of exceptions before you count Falcon. Falcon shows a difference of nil, yet one invoice hides inside it. Pass 3 covers the four suppliers.
| Supplier | Register invoice | GSTR-2B invoice | Tax | Bucket | Next step |
|---|---|---|---|---|---|
| Bhavani Plastics | BP/0912 | Nil | ₹18,000 | E | Check IMS. If Pending and the goods were received, accept and recompute GSTR-2B |
| Deepak Chemicals | DC/447 | DC/447 | ₹12,600 in books, ₹5,400 in GSTR-2B | B | Invoice copy, then supplier amendment or correction in books |
| Eastern Packaging | Nil | EP-2207 | ₹15,300 | D | Goods received? Then book it. If unknown, reject or keep pending in IMS |
| Falcon Electricals | FE/0311 | FE/311 | ₹4,500 each | C or E, plus D | One invoice keyed two ways. Correct the number; no ITC change |
Suppose every action succeeds. The register becomes ₹4,13,550 + ₹15,300 = ₹4,28,850. GSTR-2B becomes ₹4,03,650 + ₹18,000 (Bhavani accepted) + ₹7,200 (Deepak amended to ₹12,600) = ₹4,28,850. The two totals agree, and this time the agreement means something because every gap has a named cause. Falcon needed no rupee change at all, only a corrected invoice number. Deepak Chemicals is the one to raise first, because a supplier amendment takes time; GSTR-1A lets a supplier amend current-period details only until GSTR-3B is filed.
When the supplier is the problem: for buckets B, C and E, the fix sits with the supplier. The supplier non-filing guide has the follow-up steps, and the round-off guide covers the small differences you should not chase.
Frequently asked questions
How do I find which invoices are missing from GSTR-2B?
Look up each register row in the GSTR-2B B2B sheet using the supplier GSTIN plus the cleaned invoice number. Rows not found are missing. Then separate those whose supplier GSTIN appears elsewhere in GSTR-2B from those whose supplier does not appear at all, because the follow-up is different.
Why do my totals agree when invoices still mismatch?
Errors can cancel out. A missing invoice of 9,000 rupees and an invoice that is only in GSTR-2B for 9,000 rupees leave the total unchanged. Compare supplier-wise totals, then sort the unmatched invoices on both sides by tax amount to find equal pairs.
Should I chase every mismatch before the 20th?
No. Work in order of rupees at risk. GSTR-2B is generated on the 14th and GSTR-3B is due on the 20th for monthly filers, so start with the suppliers holding the largest gaps and treat differences of about a rupee as rounding.
Skip pass 3 by hand
The tool sorts every invoice into these buckets automatically and shows the rupee total for missing and IMS Pending invoices. It does not build a supplier-wise summary, so export the CSV and pivot it for pass 2. Your GSTR-2B and purchase register files are read in your browser and never uploaded to any server.
Related guides
- GSTR-2B mismatch: common reconciliation errors and how to fix each one
- invoice missing in GSTR-2B: what to do when an invoice is in your books but not in 2B
- duplicate invoice in GSTR-2B: spotting and fixing duplicates
- GSTR-2B reconciliation: complete guide to ITC matching
- How to handle GSTIN mismatches in GSTR-2B
- How accountants can automate GSTR-2B reconciliation
- Invoices in GSTR-2B but not in my books: how to investigate them
- GSTR-2B Table 4D mismatch: unmatched invoices and fixes
- GSTR-1 vs GSTR-2B mismatch: causes, investigation and fixes
Last checked: 30 Sep 2026. Sources: CGST Act, Section 16, GSTN FAQs on comparison of liability declared and ITC claimed, GSTN user guide on viewing e-filed returns, GSTN GSTR-3B user guide, GSTN FAQs on IMS, GSTN FAQs on GSTR-1A.