Guide: GSTR-2B reconciliation

How to reconcile GSTR-2B with the purchase register in Google Sheets

A practical walkthrough for CAs and GST practitioners: download the GSTR-2B Excel from the GST portal, export the client's purchase register from Tally, Busy or Zoho, match 2B vs books in one Google Sheet, and know what to do with every invoice that does not match before GSTR-3B is due.

Get it for Google Sheets, free Read the steps

The monthly 2B close monthly filers

GSTR-2B ready
14th of next month
Reconcile, chase
14th to 19th
GSTR-3B due
20th of next month
Status
Reconciled
Quarterly (QRMP) filers work on the quarter's 2B and file GSTR-3B by the 22nd or 24th of the month after the quarter, depending on the state.

Why reconcile 2B with the books every month

Since 1 January 2022, input tax credit can be taken only on invoices and debit notes that the supplier has reported in GSTR-1 or IFF and that appear in your GSTR-2B (section 16(2)(aa) of the CGST Act, read with rule 36(4)). The ITC table of GSTR-3B is filled in from the 2B, so the 2B is the ceiling, and the purchase register is what the client actually bought. Comparing the two, invoice by invoice, tells you before you file:

The window is short. The 2B for a month is ready on the 14th of the next month, and GSTR-3B is due on the 20th for monthly filers. Since October 2024 there is also the Invoice Management System (IMS) on the portal, where you accept, reject or keep invoices pending; the reconciliation tells you which ones need that.

Step by step

From the GST portal to a list of suppliers to chase. Steps 1 to 3 are the same every month; step 4 is where GSTR-2B Reconciler does the matching.

  1. Download the GSTR-2B Excel

    Log in at gst.gov.in and open Services → Returns → Returns Dashboard. Choose the financial year, quarter and period, click Search, then View on the GSTR-2B tile. On the summary page, click Download GSTR-2B Summary (Excel).

    Despite the name, the file has every document: a Read me tab, the summary tabs, then B2B, B2BA, B2B-CDNR, B2B-CDNRA and the rest, one tab per table.

    If the month has more than 1,000 documents, the portal disables that button and makes the file through Download → Generate Excel file to download instead. The add-on is built and tested on the standard file; if the larger one gives you trouble, write to support@creet.in.

  2. Export the purchase register from Tally, Busy or Zoho

    Export the client's purchases for the same month to Excel or CSV, one row per supplier invoice rather than monthly totals. Tally Prime, Busy and Zoho Books all have a purchase register that does this, and a sheet you keep yourself works too. What matters is the columns:

    ColumnWhy it matters
    Supplier GSTINMatched first. GSTINs are checksum-verified, so a mistyped one is reported rather than quietly missed.
    Supplier invoice numberThe supplier's number as printed on the bill (Supplier Invoice No. in a Tally voucher), not the client's own voucher number.
    Invoice dateMatched within 3 days by default.
    Taxable valueMatched within ₹1 by default.
    IGST, CGST, SGST/UTGST, cessIn separate columns, so tax under the wrong head is caught.
    Supplier name, document typeOptional. The name is used in the messages to suppliers.

    Leave total rows and unregistered purchases in if they are there: rows without a GSTIN or an invoice number are skipped and listed at the end of the Summary.

  3. Import both into one Google Sheet

    • Create a Google Sheet for the client. One spreadsheet per client works best: the add-on saves the column mapping in it.
    • Set File → Settings → Locale to India, so dd-mm-yyyy dates are read the Indian way.
    • Import the 2B with File → Import → Upload, choose the Excel file and set Import location to Insert new sheet(s). Each table arrives as its own tab.
    • If the dialog offers Convert text to numbers, dates, and formulas (it does for CSV files), untick it, so invoice numbers like 00123 keep their zeros. The add-on reads the text itself.
    • Import the purchase register the same way, as another tab in the same spreadsheet.

    Keep the 2B's Read me tab: the add-on fills in the client name and return period from it.

  4. Run Reconcile GSTR-2B

    Install GSTR-2B Reconciler from the Google Workspace Marketplace, then open Extensions → GSTR-2B Reconciler → Reconcile GSTR-2B. The sidebar has three steps:

    • GSTR-2B data: tick every 2B tab to reconcile, normally B2B, B2BA, B2B-CDNR and B2B-CDNRA. The portal's two- and three-row headers are found automatically.
    • Purchase register: choose its tab and check the column mapping the add-on suggests from the header text.
    • Reconcile: enter the client and return period, keep the tolerances at ±3 days and ±₹1 or change them, and click Reconcile.

    The sidebar then shows GSTR-2B against the books at a glance, with the ITC you can claim now and the ITC on hold, and the full result is written into new tabs of the same spreadsheet. Your 2B and register tabs are never changed.

    The first time, Google asks you to allow three permissions; the add-on can read and write only the spreadsheet it is opened in. To try it first, click Try with sample data in the sidebar: it adds two tabs of made-up invoices, and runs on them are not counted against the free plan.

Read the result, tab by tab

The add-on writes seven tabs into the client's spreadsheet. Here is what each one means and what to do with it before you file GSTR-3B.

Summary

Start here. Counts and head-wise totals (IGST, CGST, SGST/UTGST, cess) for every category, ITC as per 2B against ITC as per books, and the ITC claimable now: matched invoices that the 2B marks as available.

Below that is ITC by supplier GSTIN, largest difference first: claimable, to review, in 2B but not in the books, and at risk because it is not in the 2B. Rows the add-on skipped are listed at the end; glance at them to make sure nothing real was left out.

Matched

Pairs matched exactly, or within tolerance, with a note on any small difference, such as an invoice number written differently or a date two days apart.

What to do: claim the ITC, unless the 2B marks it as not available. Nothing to chase.

Mismatched

The same document on both sides, but something differs beyond tolerance. The Reasons column says what, for example:

Taxable value differs by ₹1000.00
Date differs by 18 days
Tax head differs: 2B has IGST, books have CGST + SGST
GSTIN differs (books 27AAHCR6668F1Z0)

What to do: pull out the invoice. If the books are wrong (a GSTIN typo, the wrong date, a local purchase booked as interstate), correct the voucher. If the supplier reported it wrong, ask them to amend it in their next GSTR-1; the corrected invoice then comes through in B2BA. Until it is sorted out, claim no more than the 2B shows.

Missing in 2B

In the books, not in the 2B. Usually the supplier has not filed GSTR-1 or IFF yet, filed after the cut-off, reported the invoice under another GSTIN, or reported it as a B2C sale. The Next step column reads:

Not in 2B: hold this ITC and ask the supplier to report it in GSTR-1/IFF

What to do: hold the ITC this month and send the supplier the message from Follow-ups. When the invoice appears in a later month's 2B, claim it then; the last date is 30 November after the end of the financial year, or the date you file the annual return if that is earlier (section 16(4)). An entry noted as a possible duplicate is the client's error, not the supplier's: delete the extra voucher.

Missing in books

In the 2B, not in the books. The client has not booked it yet, booked it in another month or without the GSTIN, or never received the goods or services. The Next step column reads:

In 2B but not in books: confirm receipt, then record it or flag it to the supplier

What to do: confirm receipt with the client, then record the invoice. If the client never received it, reject it in IMS before filing GSTR-3B, or take it up with the supplier. The tab also carries the 2B's ITC availability, reason and reverse charge columns: do not claim what the 2B marks as not available.

Follow-ups

One row per supplier with invoices missing in 2B: the invoice numbers, the ITC on hold, and a message ready to paste into an email or WhatsApp. Possible duplicates are left out.

Message to supplier, from the add-on's sample dataDear Sharma Steel Traders, the following invoice issued to Demo Client Pvt Ltd (supplier GSTIN 27AAACS1111A1ZA) is not in our GSTR-2B for September 2026: SST/2026/131 dated 30-09-2026, tax ₹2,160.00. Please report it in your GSTR-1 or IFF so we can claim the input tax credit. Thank you.

Recon history

One row per run: client, period, counts, ITC as per 2B and as per books, claimable ITC and ITC on hold. It stays in the spreadsheet as the record of what was reconciled and when.

Each run replaces the add-on's own result tabs and adds a row to Recon history. The result is a working paper: check the Mismatched and Missing tabs before you claim ITC or file a return.

Next month

Replace last month's 2B and register tabs with the new month's, keeping the same tab names, and run Reconcile GSTR-2B again. The column mapping is saved in the client's spreadsheet, so there is nothing to set up.

Before you book anything from Missing in books, compare it with last month's Missing in 2B. An invoice the supplier reported late shows up in this month's 2B but sits in last month's books: it is not missing, and the ITC you held on it can be claimed now.

Reconcile this month's 2B in Google Sheets

GSTR-2B Reconciler does step 4 and writes every tab above: matching, reasons, ITC by supplier and the messages to send. Free for up to 200 invoices a month with every feature; Pro is ₹999 a year for unlimited invoices.

Get it for Google Sheets, free About the add-on

FAQ

How does fuzzy invoice-number matching work?

Invoice numbers are compared ignoring case, spaces, separators and leading zeros, so INV/0045/26-27 in the 2B matches inv-45-26-27 in the books, and SB00123 matches sb 123. The supplier GSTIN must agree, the date must be within 3 days and the taxable value within ₹1; both tolerances can be changed in the sidebar. The same invoice number outside tolerance is reported as Mismatched with the reason, and two suppliers who happen to use the same number are never paired.

How are credit notes and purchase returns handled?

The B2B-CDNR and B2B-CDNRA tabs are read along with B2B and B2BA. Credit notes are matched like invoices and count negative in every ITC total. Negative figures in the books always reduce ITC, so a purchase return booked in Tally as a Debit Note with negative amounts matches the supplier's credit note. If the signs disagree (a credit note in the 2B, an entry adding ITC in the books), the pair is Mismatched.

The 2B shows IGST, the books show CGST + SGST. What then?

If the tax sits under a different head, the pair is Mismatched with the reason "Tax head differs: 2B has IGST, books have CGST + SGST", even when the invoice otherwise matched exactly. It usually means the place of supply was treated differently: check the invoice, correct the voucher if the books are wrong, and take it up with the supplier if their invoice is.

Which GSTR-2B tables are reconciled?

B2B, B2BA, B2B-CDNR and B2B-CDNRA. ISD and IMPG have no supplier invoice to match, and ECO, B2B-DNR and the reversal and rejected tabs are not handled yet.

Can't I do this with VLOOKUP in Excel?

For exact matches, yes: join the GSTIN and invoice number into a key on both sides and look each one up. It breaks on real data: INV/0045/26-27 against inv-45-26-27, a date a day off, a rupee of rounding, IGST booked as CGST + SGST, a mistyped GSTIN. Those are the cases the add-on handles, in the browser, with no macros, no VBA and no Windows.

What about IMS?

The add-on never logs in to the GST portal and never accepts, rejects or files anything. Use the result to decide what to do in IMS. If you act on invoices there after the 2B is generated, recompute GSTR-2B on the portal, download it again and reconcile once more before you file.

Does client data leave Google?

No. Invoices, GSTINs and amounts are read and written inside Google Sheets only, and the add-on can open only the spreadsheet it is opened in. The single outside call is the Pro licence check, which sends your licence key to Dodo Payments and nothing else. Details are in the Privacy Policy.

What does it cost?

Free for up to 200 invoices a month, with every matching rule and every result tab. Pro is ₹999 a year for unlimited invoices, with a 14-day money-back guarantee. A matched or mismatched pair counts once, as does each unmatched invoice on either side, and re-running the same 2B in the same month is not counted again. See pricing.

This guide is general information for practitioners, not legal advice; check the current law and the portal for each client's case. GSTR-2B Reconciler is an independent tool, not affiliated with or endorsed by the Goods and Services Tax Network, CBIC, the Government of India or Google.