How AI Automates GSTR-2B vs Purchase Register Matching
CA Prateek Agarwal ·
AI automates GSTR-2B vs purchase register matching by normalising both datasets, scoring line pairs on GSTIN-invoice-date-value-tax keys, and routing low-confidence rows to exception queues for CA review. The win is not "AI filed GST" — it is shrinking ten thousand VLOOKUP rows to two hundred flags you can clear before GSTR-3B. This article goes deeper on matching mechanics, integration paths, and audit controls than a general recon overview — pair it with how to use AI for GST reconciliation and automate GST reconciliation with AI.
Inputs: what the matcher actually reads
From GSTR-2B
Invoice-level lines with supplier GSTIN, document number, date, taxable value, tax amounts, document type (invoice, debit note, credit note), and amendment indicators. JSON from the portal preserves fields Excel drops.
From the purchase register
Mirroring columns from Tally, Busy, Zoho Books, or CSV exports. Include voucher type and ledger where possible — separates freight-capitalised entries from pure purchases.
Pre-processing AI performs
- GSTIN validation format
- Date normalisation (DD-MM-YYYY vs ISO)
- Invoice number canonicalisation (uppercase, strip spaces)
- Sign correction on credit notes
- Deduplication within each source
Bad imports cause false exceptions. First month on a new client, validate row counts against portal totals before trusting match rates.
Matching logic: from exact to fuzzy
Most engines run stages:
Stage 1 — Hard match
GSTIN + invoice number + date exact + value within ₹1 tolerance.
Stage 2 — Fuzzy invoice
Levenshtein or token match on invoice numbers when GSTIN and value align — catches INV/001 vs INV-001.
Stage 3 — Value tolerance
Small tax rounding differences within configured basis points.
Stage 4 — CDN pairing
Link credit notes to original invoice numbers in books and 2B.
Stage 5 — Manual queue
Everything else — including missing in 2B, missing in books, hard mismatch.
AI here is mostly deterministic rules plus statistical fuzzy search, not an LLM guessing ITC. LLMs may summarise exception reasons for staff — after the matcher flags them.
Exception buckets and CA actions
| Bucket | Typical cause | CA action | |---|---|---| | Missing in 2B | Supplier not filed, IMS reject | Supplier chase; defer claim | | Missing in books | Unrecorded ITC, timing | Book voucher or reject | | Tax mismatch | Rate change, freight split | Adjust books or query supplier | | Duplicate | Double GSTR-1, re-import | Reject duplicate claim | | Amendment | B2BA in 2B | Update books, note prior period |
Tools like GSTAgent specialise in the Tally ↔ portal loop; suites like ClearTax embed matching in broader compliance; SmartLedger targets AI bookkeeping plus recon. Finexo fits multi-client practices needing workflow across entities.
IMS interaction (do not skip)
GSTR-2B only reflects invoices accepted or deemed accepted in IMS (subject to current portal rules). An AI matcher run on raw 2B without IMS hygiene produces:
- False "missing in 2B" when you rejected in IMS
- ITC suggestions on lines you should not claim yet
Workflow: IMS actions logged → purchase register updated → then AI match. Document IMS status in the recon file header.
Integration paths
TallyPrime ↔ GST Portal
Direct connectors pull 2B and books vouchers without manual CSV ping-pong — the pattern GSTAgent is built for. Cuts transposition errors that break matching.
Cloud ledger exports
Scheduled CSV/API from Zoho or similar into recon SaaS. Watch OAuth and DPDP terms — client GSTIN data is identifiable; use approved vendors only (DPDP guide for CA firms).
Spreadsheet fallback
AI-assisted add-ins can match in Excel, but scale breaks past ~2,000 lines/month per client. Prefer dedicated recon for recurring clients.
From match report to GSTR-3B Table 4
Reconciled matched ITC feeds Table 4(A)(5) components by tax type. Exception decisions feed reversals in Table 4(B) — Rule 37, ineligible credits, supplier default holds.
AI can pre-fill 3B tables; it cannot replace:
- Partner review of large unmatched ₹
- Client confirmation on payment status for Rule 37
- Taxpayer OTP authentication on gst.gov.in
Keep a bridge schedule: books ITC → reconciled ITC → 3B claimed. Auditors and departmental scrutiny start there.
Quality controls and match-rate scepticism
A 95% auto-match rate means nothing if the 5% is your largest suppliers. Controls:
- Independent totals — Σ matched + exceptions = Σ 2B lines (by tax type)
- Stratified sample — recheck top 20 lines by ITC value
- One GSTIN deep dive monthly — manual match for a high-risk supplier
- Amendment register — track B2BA lines across periods
- Retention — store JSON, register export, exception PDF with preparer initials
If the tool exposes confidence scores, review all rows below threshold manually even if labelled "matched."
When AI matching hurts
- Dirty master data — duplicate GSTINs, wrong state codes
- Mixed FY periods in one export
- Personal expenses booked to purchase without GSTIN
- Import / SEZ lines needing separate schedules
- Running match before books cut-off — invoices recorded next month
Fix data at source; do not let AI "force match" with overrides lacking notes.
Staffing model in peak season
| Role | Focus | |---|---| | Articled assistant | Import, run match, first-pass exception sorting | | Senior | Supplier chasers, Rule 37 schedules | | Manager | Sign-off on 3B bridge, high-value mismatches | | Partner | Client escalation, policy exceptions |
AI shifts time from row matching to exception judgment — the right division of labour if verification gates hold. Train staff on AI policy before season.
Frequently asked questions
What fields does AI use to match GSTR-2B to the purchase register?
Core keys are supplier GSTIN, invoice number, invoice date, taxable value, and tax components (IGST/CGST/SGST/cess). Strong matchers add fuzzy invoice matching, credit note pairing, and tolerance rules for rounding — then surface only exceptions for human review.
Why do invoice numbers fail to match even when ITC is valid?
Common causes: leading zero differences, slash or dash variants, amended invoices (B2BA), supplier typos in GSTR-1, and books recording proforma numbers before final tax invoice. AI fuzzy matching reduces false exceptions; you still confirm on sample.
Can AI post matched vouchers to Tally automatically?
Some tools suggest purchase vouchers or ITC booking entries for missing-in-books lines. Treat suggestions as drafts — manager approval before posting. Auto-post without review creates audit trail problems.
How do I audit an AI match report?
Reconcile control totals: sum of matched ITC plus exceptions should tie to 2B and books independently. Spot-check matched lines stratified by amount, re-run one supplier GSTIN manually, and retain the exception export in working papers.
Related software
GSTAgent
Automated GST reconciliation linking TallyPrime directly to the GST Portal
SmartLedger AI
AI accounting automation that drafts GST filings, reconciles books and chases invoices
Finexo PMS
Practice management software to run CA and tax practice clients, tasks and compliance