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 this content
Mayank Batra
Avartana Labs Editorial Team



