Engineering

Compliance is a moving target. Build for that.

Notes from building Anvay: why a tax fix must never touch stock valuation, why rules change on someone else's schedule, and what migration really costs.

Mayank Batra
October 13, 2026
5 min read
0 views
compliance
gst
architecture
What building GST-compliant billing taught us about compliance software

What building GST-compliant billing taught us about compliance software

Anvay handles GST-compliant invoicing for Indian MSMEs — tax invoices, credit notes, GSTR-1 reporting, e-invoicing, e-way bills, TDS and TCS. Building it changed how we think about compliance software, and three lessons apply to anyone shipping into a regulated process.

1. Compliance logic has to be versioned like code, not configured like a setting

GST rules change on a schedule you do not control. When they change, you need to be able to point at what the system did on a specific date and why. So the rules live in the repository, with per-module migrations, rather than in a settings screen someone edits. It also means a fix to tax logic is reviewable in the same way as any other change.

2. A fix in billing must not be able to change stock valuation

Anvay is a modular monolith: one deployment, modules with explicit boundaries. That is a deliberate trade-off. Microservices would let each module scale separately, which we do not need at this size; what we do need is the guarantee that touching the invoicing module cannot silently alter how inventory is valued. Boundaries are what make that guarantee checkable.

3. Migration is the hard part, and it is where trust is won or lost

Every MSME already has history — in Tally, Marg, Vyapaar or Busy, in whatever state it was left. Importing masters, opening stock and outstanding invoices is the part of the project where the customer decides whether they trust the system at all. We reconcile opening balances with their accountant before anyone raises a real invoice. A migration that "mostly worked" is worse than no migration, because the errors surface weeks later as a tax discrepancy.

What this means if you are buying

Ask what happens when the rules change. Ask whether the tax logic is versioned. Ask how opening balances are reconciled, and who signs off. Those three questions separate a system that survives an audit from one that survives a demo.

Anvay is live at [anvay.avartanalabs.com](https://anvay.avartanalabs.com). If you are migrating off a legacy system, we will look at your export file before quoting the import.

Share

Share this content

A

Mayank Batra

Avartana Labs Editorial Team

Newsletter

Stay Updated with Our Latest Insights

Get exclusive content on design, development, and digital innovation delivered to your inbox.

We respect your privacy. Unsubscribe at any time.