GSTR-2B Reconciliation Guide: Automate ITC Matching with AI
BusinessJune 4, 202611 min read

GSTR-2B Reconciliation Guide: Automate ITC Matching with AI

Automate GSTR-2B reconciliation using AI invoice extraction and Python matching scripts. Reduce monthly reconciliation from days to hours. Complete guide for Indian businesses.

AllPDFMagic Team

GSTR-2B Reconciliation Guide: Automate ITC Matching with AI

GSTR-2B reconciliation is one of the most time-consuming compliance tasks for Indian businesses. Every month, accounts teams manually compare supplier invoices against the auto-populated GSTR-2B statement from the GST portal — checking whether every purchase invoice issued by a supplier appears in GSTR-2B (meaning the supplier has filed their GSTR-1 correctly), and whether the tax amounts match.

For a business with 200+ purchase invoices per month, this process can take days. AI-powered extraction and matching compresses it to hours.

What Is GSTR-2B and Why It Matters

GSTR-2B is an auto-populated statement generated by the GST system on the 14th of every month. It shows all Input Tax Credit (ITC) available to a buyer based on what their suppliers have reported in GSTR-1.

Why reconciliation matters:

  • ITC can only be claimed if the invoice appears in GSTR-2B
  • Rule 36(4) limits provisional ITC claims on unmatched invoices
  • Mismatches indicate either late filing by the supplier or data errors that need correction
  • Unreconciled mismatches affect cash flow (blocked ITC) and create GST audit risk

The Traditional Manual Process

StepManual MethodTime Required
Collect all purchase invoicesDownload from email, drive, accounting system30 min
Extract invoice dataType each field manually into Excel4–8 hours
Download GSTR-2BExport from GST portal as JSON/Excel10 min
Match invoices to GSTR-2BVLOOKUP or manual line-by-line comparison2–6 hours
Identify mismatchesReview non-matching rows1–2 hours
Follow up with suppliersEmail/call suppliers about unfiled invoicesOngoing
Total8–16 hours/month

The AI-Powered Process

StepAI MethodTime Required
Collect purchase invoicesRoute to shared folder (automated)5 min setup
Extract invoice dataAllPDFMagic AI Extractor via API15–30 min
Download GSTR-2BExport from GST portal10 min
Match invoices to GSTR-2BAutomated matching script5 min
Identify mismatchesAutomated reportInstant
Follow up with suppliersTemplate emails triggered automatically30 min
Total1–2 hours/month

Step-by-Step: AI-Powered GSTR-2B Reconciliation

Step 1: Extract Invoice Data from PDFs

Use AllPDFMagic Invoice Extractor to extract structured data from all your purchase invoice PDFs:

  • Upload invoices individually via the web interface, or
  • Use the API to process batches automatically

For each invoice, the AI extracts: supplier GSTIN, invoice number, date, taxable value, CGST, SGST, IGST amounts, HSN codes.

Export the extracted data as CSV or JSON.

Step 2: Download Your GSTR-2B

  1. Log in to the GST portal (gst.gov.in)
  2. Go to Returns → Auto-Drafted ITC Statement → GSTR-2B
  3. Select the month and download as JSON or Excel

The GSTR-2B contains B2B invoices section (Table 3) — this is what you'll match against your purchase invoices.

Step 3: Match Invoice Data to GSTR-2B

The matching logic compares:

  • Supplier GSTIN — exact match
  • Invoice Number — match after normalising format (removing spaces, hyphens)
  • Invoice Date — within the filing period
  • Tax Amounts — within a tolerance for rounding differences (typically ±₹1)

A simple Python matching script:

import pandas as pd

# Load your extracted invoice data
my_invoices = pd.read_csv("extracted_invoices.csv")

# Load GSTR-2B data (B2B section)
gstr2b = pd.read_excel("GSTR2B_July2026.xlsx", sheet_name="B2B")

# Normalise invoice numbers for matching
my_invoices["inv_num_clean"] = my_invoices["invoice_number"].str.replace(r"[-\s]", "", regex=True).str.upper()
gstr2b["inv_num_clean"] = gstr2b["Invoice Number"].str.replace(r"[-\s]", "", regex=True).str.upper()

# Merge on GSTIN + invoice number
merged = my_invoices.merge(
    gstr2b,
    left_on=["supplier_gstin", "inv_num_clean"],
    right_on=["GSTIN of Supplier", "inv_num_clean"],
    how="left",
    indicator=True
)

# Separate matched and unmatched
matched = merged[merged["_merge"] == "both"]
unmatched = merged[merged["_merge"] == "left_only"]

print(f"Matched: {len(matched)} invoices")
print(f"Unmatched (not in GSTR-2B): {len(unmatched)} invoices")
unmatched.to_csv("unmatched_invoices.csv", index=False)

Step 4: Investigate Mismatches

Unmatched invoices fall into three categories:

  1. Supplier hasn't filed GSTR-1 yet — follow up with the supplier to file before the deadline
  2. Supplier filed with a different invoice number — check for typos or format differences
  3. Supplier reported incorrect GSTIN — request a credit note and corrected invoice

For each unmatched invoice, verify the supplier's filing status on the GST portal using Search Taxpayer → View Filed Returns.

Step 5: Provisional ITC Treatment

Under Rule 36(4), ITC on invoices not appearing in GSTR-2B can only be claimed provisionally up to a specified percentage (currently 5%). Track provisional ITC separately and reverse it if the invoice doesn't appear in GSTR-2B within a defined period.

Common Reconciliation Issues and Fixes

IssueLikely CauseResolution
Invoice number mismatchSupplier used different formatCheck manually; request corrected GSTR-1 amendment
Tax amount mismatch (small)Rounding differenceWithin ₹1: acceptable; over ₹1: request correction
Supplier GSTIN wrongSupplier entered buyer's wrong GSTINRequest GSTR-1 amendment from supplier
Invoice in wrong monthSupplier filed in next monthClaim ITC in the month it appears in GSTR-2B
Duplicate invoice numberSupplier errorRequest credit note and corrected invoice

Frequently Asked Questions

How often should GSTR-2B reconciliation be done? Monthly, ideally before the ITC claim deadline. GSTR-2B is available on the 14th of each month; reconciliation should be completed before filing GSTR-3B (due on the 20th).

What happens if I claim ITC on an invoice not in GSTR-2B? Under Rule 36(4), you may claim provisional ITC up to the specified percentage (currently 5% of eligible ITC from GSTR-2B invoices). Excess provisional ITC must be reversed in GSTR-3B.

Can AI extraction handle invoices in multiple languages? AllPDFMagic's invoice extractor handles invoices in English, Hindi, and several regional languages. For regional language invoices, accuracy may vary — verify extracted data manually for a sample.

What if my supplier is in a composition scheme? Composition dealers don't appear in GSTR-2B as they don't charge GST. These purchases are not eligible for ITC and should be tracked separately.

Extract invoice data for reconciliation →

Related guides:

Frequently Asked Questions

Monthly, before filing GSTR-3B (due on the 20th). GSTR-2B is available from the 14th, giving a 6-day window for reconciliation.

Under Rule 36(4), provisional ITC up to the specified percentage (currently 5% of eligible ITC from GSTR-2B invoices) can be claimed. Excess provisional ITC must be reversed in GSTR-3B.

Yes. The sample script normalises invoice numbers by removing spaces and hyphens before matching. You can extend the normalisation for other format differences common in your supplier base.

Document repeated late filers, as they block your ITC claims. Consider adding timely GSTR-1 filing as a contract requirement for key suppliers and following up immediately after the 11th of each month.

Tags:gstr-2b reconciliationitc reconciliationgst input tax creditgstr reconciliation indiagstr 2b mismatchautomate gstr reconciliationinvoice matching gst

Try Our PDF Tools

Put what you've learned into practice with our free tools.

Explore Tools