One month's GSTR-2B and your purchase register become a match report: matched bills, tax differences, GSTIN typos, bills missing in 2B with the ITC at risk, and 2B bills you have not booked.
Who it is for: Accountant, CA firm article or owner of an Indian GST-registered business who matches suppliers' bills against GSTR-2B each month before filing GSTR-3B.
Format: Claude skill pack · Version: 1.0.1 · Tested on: Python 3.13.5 (standard library only)
What it does
It reads the B2B invoices, credit and debit notes and amendments in your GSTR-2B JSON, and your purchase register from most Tally, Zoho, Busy or Excel exports (it finds the header row and reads Indian amounts). Bill numbers are compared after dropping separators and leading zeros, so INV/0042/26-27 and inv-42/26-27 match. Each bill is matched on supplier GSTIN and bill number, then tax per head is compared within your tolerance. If the bill is in 2B under another GSTIN it says so, and it checks every register GSTIN's check digit. Bills only in your books are ITC at risk; bills only in 2B are not booked yet. Rows 2B marks as ITC not available or reverse charge are called out.
What you need
- Claude.ai with code execution switched on (or Claude Code, or just Python 3.10+)
- Your GSTR-2B JSON (GST portal > Returns > GSTR-2B > Download JSON)
- Your purchase register exported as CSV or Excel
5-minute setup
- Claude.ai: open Settings → Capabilities → Skills, click Upload skill and pick
claude-ai-upload/gstr2b-reconciler.zip. - Claude Code: copy the folder
skills/gstr2b-reconcilerinto~/.claude/skills/. - Start a new chat. Attach your file and say: "Use gstr2b-reconciler. Match my October GSTR-2B JSON against this purchase register and tell me the ITC at risk".
- Claude runs the script and gives you the files listed under Outputs. Check them before you act on them.
Try it with the sample
Run the sample (fictional October 2026 GSTR-2B and register):
python3 skills/gstr2b-reconciler/scripts/core.py --gstr2b samples/gstr2b-oct-2026.json --register samples/purchase-register-oct-2026.csv --out out
You should see 3 matched, 1 amount differs, 1 GSTIN differs, 2 missing in 2B, 1 duplicate in books and 4 missing in books, with ITC at risk ₹8,640.00. In Claude, attach both files and use the prompt above.
Settings you can change
| Option | Default | What it is |
|---|---|---|
--gstr2b |
(required) |
The GSTR-2B JSON you downloaded from the GST portal (one month) |
--register |
(required) |
Purchase register CSV/XLSX with GSTIN, supplier invoice number and IGST/CGST/SGST columns |
--tolerance |
1 |
Rupee difference per tax head treated as a match (0-100) |
--out |
out |
Output folder |
What goes in and what comes out
Inputs: GSTR-2B JSON for one month, downloaded by you from the GST portal; Purchase register CSV or XLSX with GSTIN, supplier invoice number and IGST/CGST/SGST; Optional tolerance in rupees (default 1)
Outputs: report.md with the summary, ITC at risk and a to-do list; recon.csv with one row per bill and its status
What Pro adds
- Several GSTR-2B months in one run, with invoices the supplier reported late placed in the right month
- Probable matches for bill numbers typed differently (DC/778 vs 778)
- Supplier follow-up list with message drafts you send yourself
- Excel workbook output and a GSTIN guard for the files
Pro: https://oarsmanai.com/agents/gstr2b-reconciler-pro/
AI disclosure and limits
This product does not call an AI model at run time. It was built by Oarsman AI's AI agents and checked by the automated tests shipped with it.
Limits: - One GSTR-2B month per run. - Exact bill-number matching after normalising; bills typed with a different prefix show as missing on both sides. - Reconciles B2B, B2BA, CDNR sections; import (IMPG), ISD and other sections are listed but not matched. - Reads the JSON download, not the GSTR-2B Excel file. - Matching help, not tax advice; your CA decides the ITC claim.
Not tested by us: - a real GSTR-2B download from the portal (the samples follow the published JSON layout) - XLSX registers in the shipped tests (CSV only) - registers from Busy or Marg
Files
- oarsman-gstr2b-reconciler-v1.0.1.zip
- CHANGELOG.md
- QA-REPORT.json
- README.md
- SPEC.md
- SUPPORT.md
- TROUBLESHOOTING.md
- VERSION
- VIDEO-SCRIPT.md
- claude-ai-upload
- diagram.mmd
- diagram.png
- preview.png
- samples
- skills
- tests
Help
Self-serve: see TROUBLESHOOTING.md (fixes and FAQ). There is no call, chat or email support. Fixes ship as new versions at your download link. Refund: 14 days, works as described, through the checkout platform.