← 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.