All work
Finance · Automation·2026Live demo below

GST Reconciliation

Match your sales register against the GSTR/portal filing, flag mismatches, missing invoices and duplicates, and total the tax at risk.

Next.jsTypeScriptReconciliationAI-assisted

01 · The opportunity

What it set out to solve

Every tax cycle, someone reconciles the sales register against what the portal actually shows, invoice by invoice. Miss a mismatch or a missing invoice and it's real money: lost input credit, or tax that should have been reported and wasn't.

02 · The approach

How I thought about it

We modelled the reconciliation the way an accountant does it: match on invoice number, compare the tax to the rupee, and classify every line, matched, amount-mismatch, missing, or duplicate, then quantify the exposure so the finance team knows exactly what to chase.

03 · What I built

  • Two paste-in registers (your books vs the GSTR/portal filing)
  • Invoice-level matching with tax compared to the rupee
  • Status flags: Matched · Amount mismatch · Missing · Duplicate · In-filing-only
  • A 'tax at risk ₹' total across every discrepancy
  • One-click copy of the reconciliation summary

04 · The result

What changed

A working reconciliation tool that turns two registers into a ranked list of exactly what to fix, the kind of finance automation we build to run on a schedule for clients.

Live · interactive

Reconcile the registers.

Paste your sales register and the portal filing (or use the samples) and watch it flag every mismatch, missing invoice and duplicate, and total the tax at risk. All client-side.

Your sales register

One invoice per line: invoice, party, taxable, tax.

GSTR / portal filing

The same columns, pulled from the portal. Mismatches and duplicates are expected, that's the point.

05 · Decisions & trade-offs

The questions I'd get asked about this, and my answers

Why compute this in the browser?

Tax data is sensitive, and for a public demo we'd rather nothing be uploaded. Matching invoices and comparing amounts is deterministic math we can stand behind, no black box, no server needed.

How does this reflect a real client build?

The same matching logic runs on live GSTR-2B / portal pulls against your accounting system, on a schedule, so discrepancies surface the day they appear, not at filing time. The demo is the engine; production is the pipes and the schedule.