01 — Challenge
The problem we were solving.
Each business had different needs — one wanted a restaurant flow, one needed Islamic-finance rules, others needed multi-warehouse costing — but none could afford a separate system.
02 — Approach
How we thought about it.
- 01One codebase with per-tenant settings (Restaurant Mode, costing rules, currencies) instead of forks.
- 02A tenant script that creates the database, secrets, reverse-proxy entry and backup job for a new business in minutes.
- 03Accounting invariants enforced in code and tests: journals must balance, posted documents are immutable, corrections by reversal.
03 — Solution
What we built.
Five businesses run the same tested system with their own data, their own settings and their own nightly backups — and every upgrade is backup-first and pinned to a version.

