← Builds
LIVE

Mathur Practice — AI Operating System for a CA Firm

A demo practice-management platform for an Indian CA firm where AI does the grunt work — GST reconciliation, ledger scrutiny, notice drafting — and every output is a draft that waits for the partner's sign-off.

Problem

A mid-sized CA practice serving 60–120 SMEs drowns in the same grunt work every cycle — data entry, GSTR-2B reconciliation, bank matching, notice replies, audit workpapers. Headcount doesn't scale with it, and the partner is rightly skeptical of "AI for accounting" because nothing can leave the firm without their professional sign-off and a trail that stands up to ICAI scrutiny.

Constraint

The buyer is a practicing CA who will click through and check. So every number on the dashboard has to reconcile to the working beneath it; the human-in-the-loop gate has to be visible on every screen (the AI never files, posts or sends); and the whole thing has to run in a live 10-minute demo with no backend and no network — a single API timeout on stage loses the room.

Architecture decision

Build a workflow tool, not a chatbot — AI produces drafts and flags, humans approve. Every AI output carries a provenance chip ("Based on — purchase register + GSTR-2B, Jun 2026") and an approve / reject / edit control, and every action lands on an immutable activity log. Shipped as one self-contained HTML file — no backend, no auth, no CDN — so it opens offline anywhere and can't fail live; charts are hand-rolled SVG because the published-artifact CSP blocks React/Recharts CDNs. The data is seeded and internally consistent across seven clients, with real GST edge cases modelled end-to-end (ITC-at-risk vs 2B, Rule 42 common-credit apportionment for a clinic, s.9(5) aggregator turnover for a restaurant) so a CA testing any figure finds it ties. Rejected — a generic accounting chatbot, live model calls in the demo path, and any flow where the firm sits in the per-transaction loop.

Notes

The teaching point is the approval gate, shown everywhere rather than asserted once. The three screens a CA said would decide adoption — GSTR-2B reconciliation, the audit exceptions register, and the partner approval queue — each make the same promise concrete: the AI matched 118 invoices without a human and flagged the six that don’t tie; it scanned 18,441 vouchers and raised five exceptions with the materiality and the vouchers examined attached; and nothing files, posts or sends until the partner’s name is on it. The activity log even records the partner rejecting an auto-post rule, because a trustworthy trail has to show the No’s too.

The companion note works through where such a tool actually sits for a trading business: it is a compliance and intelligence layer on top of the client’s Tally or Zoho, not a replacement for it — the client keeps operating in real time (raising sales invoices, e-way bills, live stock), and the firm reconciles, reviews and files in batch on top.

Live demo

Open demo ↗https://mathur-practice-os.vercel.app

Still unfinished

  • All data is seeded in memory — there is no backend, no auth, and no live GSTN / TRACES / MCA / Tally integration. The "Connected" badges are labels, and the provenance chips are the designed place where real data lineage would wire in, not a live link yet.
  • Document extraction and "process with AI" are scripted animations over pre-written results — they demonstrate the workflow and the human-review gate (a low-confidence handwritten field is deliberately not auto-posted), not real OCR or a real model.
  • Depth is built out for three of the seven clients (a trading business, a restaurant, a clinic); the other four have working but thinner screens.
  • State is client-side only and resets on refresh — approvals, sign-offs and log entries made during a session don't persist.