Most accountants start the month with two exports and a blank workbook. This template is that workbook, already wired: the match key, the lookup, the ₹1 tax tolerance and the totals are done, so the time goes into reading exceptions. What follows describes the file as built, including what it leaves out, and how you can build your own using XLOOKUP or INDEX MATCH.
Download: gstr-2b-reconciliation-template.xlsx (about 160 KB, no macros, no external links). It opens with eight sample purchase rows and seven sample GSTR-2B rows using made-up GSTINs. Clear them before you paste your own data.
The standard Excel layout: required columns
To run an accurate comparison, both your purchase register export and your GSTR-2B data must follow an identical column structure. When you download GSTR-2B in Excel format from the GST portal, the file contains separate tabs for B2B, B2BA, CDNR, and CDNRA tables. For regular inward supplies, copy the rows from the B2B tab into your working sheet.
Whether using our template or building your own, set up two input sheets named Purchase register and GSTR-2B. Both sheets should use the following nine columns from column A to column I:
| Column | Field name | Format | Notes |
|---|---|---|---|
| A | Supplier GSTIN | Text | 15-digit alphanumeric identifier |
| B | Supplier name | Text | Trade or legal name for reference |
| C | Invoice number | Text | As issued or recorded (up to 16 characters) |
| D | Invoice date | Date | DD-MM-YYYY format |
| E | Taxable value | Number | Value before tax |
| F | IGST | Number | Integrated Goods and Services Tax |
| G | CGST | Number | Central tax |
| H | SGST / UTGST | Number | State or Union Territory tax |
| I | Cess | Number | Compensation cess, if applicable |
In column J of both sheets, calculate the total tax using the formula =SUM(F2:I2). Matching total tax rather than individual tax heads prevents false mismatches when an intra-state supply is mistakenly entered across CGST and SGST columns in reverse order.
What is inside the free workbook
| Sheet | What it is | You type here? |
|---|---|---|
| How to use | Steps, status meanings and limits, in the file itself | No |
| Purchase register | Paste area, nine fixed columns, 500 invoice rows | Yes, paste values |
| GSTR-2B | Paste area, the same nine columns, 500 invoice rows | Yes, paste values |
| Reconciliation | One row per register row: match key, lookup, tax difference, status, note | No, formulas |
| 2B check | One row per GSTR-2B row: is it in your register or only in GSTR-2B | No, formulas |
| Summary | Count and ₹ per status, ITC at risk, totals, and two self-checks | No, formulas |
How to use it, step by step
- Clear the samples. On Purchase register select A2:I9 and press Delete. On GSTR-2B select A2:I8 and press Delete. Clear contents only. Do not delete rows, columns or sheets, because the other sheets point at them.
- Paste the register into Purchase register from row 2, as values (Paste Special, then Values).
- Paste the GSTR-2B B2B rows into GSTR-2B from row 2, as values, in the same nine-column order. Blank tax cells are fine.
- Merge split invoices. If one invoice sits on several rows, for example one per tax rate, add them into a single row first. The template reads each GSTIN and invoice number once and treats a second row as a duplicate.
- Filter the Status column on Reconciliation to Only in books, then Value mismatch. Then open 2B check and filter to Only in 2B. Filter, do not sort: sorting the formula sheets scrambles the lookups. If Excel opens the file in Protected View, click Enable Editing so the formulas calculate.
- Read Summary. The Checks block at the bottom must say OK twice. If it says CHECK, a row was lost or typed over.
Building an exact match key
Looking up records by invoice number alone will cause errors. Multiple vendors frequently issue invoices sharing common numbering series like INV-01 or 001. You must create a unique composite key combining the supplier GSTIN and the invoice number.
Under Rule 46(b) of the CGST Rules, an invoice number is a consecutive serial number of up to 16 characters containing alphabets, numerals, and special characters such as hyphens and slashes. Because suppliers and accounting software enter punctuation differently, one system might record INV/2026/101 while another records INV-2026-101 or INV 2026 101.
In our template, we build a key from the GSTIN and a cleaned invoice number: capital letters, the characters space / - . , _ \ ( ) # * ? ~ removed, and leading zeros dropped. So INV/2026/101 and inv-2026-101 become the same key, and so do 000542 and 542.
Zeros inside a number stay: CP-0779 becomes CP0779, which will not match CP-779. Only zeros at the very start go.
Formula matching: XLOOKUP versus INDEX MATCH
Once both sheets have match keys and total tax figures, you can compare them on a reconciliation sheet. Our free template uses INDEX and MATCH for universal compatibility across Excel 2016 and Google Sheets.
Method 1: INDEX and MATCH (used in the template)
For broad compatibility, use INDEX combined with MATCH. In the template, MATCH finds where the key sits and INDEX reads the tax from that position:
=IFERROR(INDEX('GSTR-2B'!$J$2:$J$500, MATCH(K2, 'GSTR-2B'!$K$2:$K$500, 0)), "Missing")
Method 2: XLOOKUP (for Microsoft 365 and Excel 2021)
If you are building your own sheet and use Microsoft 365, XLOOKUP is the cleanest formula because it does not require the match key to be in the first column and provides clean fallback values for missing records.
=XLOOKUP(K2, 'GSTR-2B'!$K$2:$K$500, 'GSTR-2B'!$J$2:$J$500, "Missing", 0)
Calculating tax differences with round-off tolerance
Under Section 170 of the CGST Act, tax amounts are rounded off to the nearest rupee. A difference of up to ₹1.00 is a standard rounding variance, not a tax mismatch. In our template, the status test ABS(H2)>1 means a difference of exactly ₹1.00 is still Matched, while ₹1.01 is a Value mismatch.
Worked example from the sample rows
The sample data is built to hit every status. These are the results the formulas give for the eight sample purchase rows. Amounts are tax (IGST + CGST + SGST), in rupees.
| Invoice no. as typed | Match key | Books tax | 2B tax | Difference | Status |
|---|---|---|---|---|---|
| INV/2026/101 | 27AAAAA0000A1Z5|INV2026101 | ₹9,000.00 | ₹9,000.00 | 0.00 | Matched |
| 000542 | 29BBBBB1111B1Z6|542 | ₹18,000.00 | ₹18,000.00 | 0.00 | Matched (leading zeros dropped) |
| CP 778 | 07CCCCC2222C1Z7|CP778 | ₹4,500.00 | ₹4,050.00 | 450.00 | Value mismatch |
| DC-3301 | 24DDDDD3333D1Z8|DC3301 | ₹7,200.00 | Missing | None | Only in books |
| EL/88 | 33EEEEE4444E1Z9|EL88 | ₹1,800.00 | Missing | None | Only in books |
| INV/2026/101 (second row) | 27AAAAA0000A1Z5|INV2026101 | ₹9,000.00 | ₹9,000.00 | 0.00 | Duplicate in books |
| BS-17 | 29BBBBB1111B1Z6|BS17 | ₹3,600.00 | ₹3,600.40 | -0.40 | Matched |
| CP-779 | 07CCCCC2222C1Z7|CP779 | ₹1,800.00 | ₹1,799.00 | 1.00 | Matched (exactly ₹1) |
Why Only in books is the number to watch: ITC can be claimed only when the supplier has furnished the invoice in GSTR-1 and it has been communicated to you in GSTR-2B (Section 16(2)(aa)), and Rule 36(4) has said the same since 1 January 2022. If you claim credit for these entries in Table 4(A)(5) of GSTR-3B without verifying GSTR-2B, you risk automated tax demand notices under Rule 88D with 18% annual interest under Section 50(3).
Two-way matching: why checking 2B against books is mandatory
Matching only from your purchase register to GSTR-2B is a one-way audit that leaves a significant blind spot. You must also perform a reverse check: looking up GSTR-2B records against your purchase register to detect entries that exist in GSTR-2B but are missing in your books.
Our template handles this via the 2B check sheet, applying the lookup logic in reverse. Common reasons for records appearing only in GSTR-2B include:
- Goods in transit: The supplier issued an invoice on the 29th of the month and filed GSTR-1, but the goods arrived at your warehouse in the following month. Under Section 16(2)(b) of the CGST Act, you cannot claim ITC until you have actually received the goods. Defer this credit to next month.
- Incorrect GSTIN used by vendor: An unknown supplier entered your GSTIN by mistake on an invoice intended for another customer. You are not entitled to this ITC and must not claim it.
- Invoice Management System (IMS) status: Under GSTN advisories active from October 2024, taxpayers can Accept, Reject, or mark inward invoices as Pending in IMS. Invoices marked Pending do not flow into that period's GSTR-2B. If an invoice you expected is missing, check your IMS dashboard before assuming the vendor failed to file.
What the Excel template does not do
- Only B2B rows are compared. The portal's GSTR-2B Excel has B2B, B2BA, CDNR and CDNRA tables. Amendments and credit or debit notes are not read.
- No eligibility check. The template does not read the ITC availability or reverse charge flags of the GSTR-2B file. A Matched invoice can still be one on which ITC is not available.
- Exact match after clean-up, nothing smarter. INV-101 against INV-0101A is not guessed. Our post on invoice number mismatches explains the patterns you will pair by hand.
- No view of IMS. A record kept Pending in the Invoice Management System is not part of GSTR-2B, so it shows as Only in books. Check the IMS Pending guide before you chase the supplier.
- 500 invoices a side, one GSTIN at a time. Rows 2 to 501. Going beyond that means copying the formulas down on three sheets. Keep one copy of the workbook per GSTIN of yours.
Where Excel formulas fail and automation takes over
While an Excel template is practical for businesses with 50 to 200 monthly invoices, standard spreadsheet formulas run into hard technical boundaries as transaction volumes grow:
- Multi-rate invoices: If an invoice contains line items taxed at 12% and 18%, GSTR-2B lists them on separate rows. Standard XLOOKUP and VLOOKUP functions only match the first row, generating false value mismatches unless you pre-aggregate the data with Pivot Tables.
- Credit notes and amendments: Netting credit notes against original invoices across four sheets in Excel requires complex multi-sheet queries.
- Complex punctuation differences: If a vendor writes 0098/26-27 and your accountant writes 98/2026-27, simple formula replacements fail, requiring manual inspection.
Excel or the browser tool
For a few dozen invoices with tidy numbering, this template is enough. As volume grows the cost moves to cleaning exports and rereading exceptions. Our comparison of a reconciliation tool against manual matching works through a 300-invoice month, and reconciling GSTR-2B in Excel without Tally covers the spreadsheet route from scratch.
The browser tool cleans invoice numbers the same way (capitals, punctuation removed, leading zeros dropped, though it removes every character that is not a letter or number) and uses the same ₹1 tolerance, and it adds what a spreadsheet makes tedious. It reads the portal's GSTR-2B Excel or JSON directly, asks you to confirm which of your columns is which instead of making you rearrange them, and splits Only in books into two buckets by whether the supplier appears anywhere in GSTR-2B. Credit and debit notes are listed for information only; it does not do full two-way matching on them either. It does not file returns or read your live IMS dashboard.
Related guides
- What kinds of GSTR-2B reconciliation software exist, and which fits me
- How to use a GSTR-2B reconciliation tool
- How to Download GSTR-2B in Excel Format: step-by-Step Portal Guide & Tab Structure
- GSTR-2B JSON to Excel conversion guide
- How accountants can automate GSTR-2B reconciliation
Frequently asked questions
Can I get a free Excel format for GSTR-2B reconciliation?
Yes. You can download our free ready-to-use template that uses standard columns and exact lookup formulas. It works in Excel 2016, Excel 2021, Microsoft 365, and Google Sheets without macros.
Which formula is better for GSTR-2B matching: VLOOKUP or XLOOKUP?
XLOOKUP is better if you use Microsoft 365 or Excel 2021 because it does not require the match key to sit in the first column and provides clean fallback values for missing records. If your team uses older Excel versions like Excel 2016, use INDEX and MATCH to avoid formula errors.
How should I handle invoice numbers with slashes or hyphens in Excel?
Clean the invoice number by stripping special characters using SUBSTITUTE formulas. Removing spaces, hyphens, slashes, and leading zeros from both the purchase register and GSTR-2B ensures that different punctuation styles still produce an identical match key.
Does the template reconcile credit notes and amendments?
No. It compares the B2B invoice rows only. The GSTR-2B Excel from the portal also carries B2BA, CDNR and CDNRA tables, and those are not read by the template. Net a credit note against its invoice in your own sheet if you need it.
Why do multi-rate invoices cause value mismatches in standard lookups?
A standard VLOOKUP or XLOOKUP stops at the very first matching row it finds. If an invoice contains multiple items taxed at different rates, GSTR-2B splits them across multiple rows, so the lookup reads only one line of tax. You must group or sum those rows before matching.
Why does an invoice show as Only in books when my supplier says it was filed?
Check the GSTIN and the invoice number first, then the tax period. If the supplier filed it but you kept the record Pending in the Invoice Management System (IMS), it will not be in GSTR-2B. The GSTN IMS FAQ says Pending records will not become part of GSTR 2B and GSTR 3B.
Skip the column rearranging
Load both files, confirm the column mapping, and see every invoice sorted into buckets with exact rupee values. Your GSTR-2B and purchase register files are read in your browser and never uploaded to any server.
Last checked: 10 October 2026. Sources: CGST Act, Section 16, Notification 40/2021-Central Tax (Rule 36(4)), CGST Rules, Rule 46, GSTN FAQs on comparison of liability declared and ITC claimed, GSTN FAQs on the Invoice Management System, GSTN user guide on viewing e-filed returns, GSTN GSTR-3B user guide.