← All insights
16CA Firm Automation · 9 min read
We built a GSTR-2B reconciliation toolkit for Indian CA firms
A unified CLI that bundles four tools Indian CA practices run every month — GSTR-2B ↔ Tally recon, WhatsApp vendor follow-up, invoice OCR into Tally, ITC risk dashboard. One command. Local install. Audit trail included.
01
What ships in the toolkit
- recon — GSTR-2B ↔ Tally purchase register matcher with amount tolerance and fuzzy invoice-number matching (rapidfuzz, 85+ score threshold)
- followup — reads the recon output, generates Meta-approved WhatsApp templates for vendors with missing/amended invoices
- ocr — WhatsApp photo → structured extraction → Tally XML voucher draft. Local dots.ocr or Claude Vision backends
- dashboard — FastAPI + Next.js, runs on the firm's laptop; shows ITC-at-risk by vendor, top leaks, monthly trend
- Unified ca-firm CLI with shared config file + append-only audit.jsonl
02
The 5-sheet Excel output every partner reviews in under 20 minutes
- Summary — total in-2B vs in-books, match rate, ITC at risk in rupees
- Matched — clean green rows, nothing to review
- Mismatches — amount-diff / date-diff / partial matches with reason codes
- Only in Books — supplier hasn't filed yet, chase them (auto-generates follow-up CSV)
- Only in 2B — not booked yet, investigate or book
03
Verified via --demo mode — reproducible on your laptop
- Demo generates 16 synthetic invoices across 8 suppliers; matches 13, mismatches 2, one each only-in-books and only-in-2B
- Computes ITC at risk correctly at ₹2,685.57 on demo data — reason-tagged by row
- Runtime under 30 seconds on 5,000-invoice registers; `python3 recon.py --demo` works fully offline
- Local install (`bash install.sh`) sets up ~/.ca-firm/ with config + audit log; 90 seconds from clone to first report
04
Why the architecture is local-first
- Tally + GSTR-2B data never leaves the firm's laptop — no cloud inference, no third-party SaaS
- WhatsApp API keys and recon outputs stored in ~/.ca-firm/, writable only by firm operator
- Audit log appended per tool invocation — every match, flag, send is reviewable and reversible
- Swap OCR backend between local dots.ocr and cloud vision API per-firm policy — no code change
05
What's behind the 8h → 45min number
- Baseline from real 4-partner Hyderabad firm time-tracking — 8 hours/client/month across junior + partner
- 3.5h of manual VLOOKUP in Excel → 30 seconds of rapidfuzz matching
- 2.5h of vendor phone chase → queued WhatsApp templates, auto-sent after approval
- 0.5h of junior summary drafting → the 5-sheet Excel IS the summary
- 0.5h partner review → 12min on flagged rows only (ITC-at-risk > ₹10K, OCR confidence < 90%)
06
Who this is for — and who it isn't
- For: 2-10 partner CA firms with 20-60 clients, Tally-standard workflow, WhatsApp-first vendor comms
- Not yet: global tax + transfer pricing specialty firms (different recon logic)
- Available to pilot under NDA · ₹18K/mo retainer · break-even in week one on a 40-client firm
- GitHub repo is private during pilot phase; code-review access granted on pilot signing
Apply it
Run the --demo mode on your laptop, or pilot it on this month's real data. First two reconciliations on us.
See it live