Multi-Tenant Inventory ERP
- Web app
- SaaS
- 2026
- Personal product
A multi-tenant inventory and order-management system for SME manufacturers in Malaysia and Singapore, with one database per workspace.
Overview
Small manufacturers often sit between spreadsheets and a full MRP system. This ERP gives each business its own workspace, at its own URL and with its own database, to run its product and materials catalogue, bills of materials, stock across sites and warehouses, purchase and sales orders, returns and physical stock counts.
Stock correctness is the core. A single StockService is the only code allowed to write stock: every change becomes a signed ledger entry, stock can never go below zero, quantities use decimal-safe bcmath maths, and locks are always taken in a fixed order so concurrent transfers can't deadlock.
The codebase is built to stay maintainable: thin controllers calling domain Actions and Services, typed DTOs whose TypeScript types are generated and committed, PHPStan at level 7 with no baseline, and custom check scripts that keep every Laravel FormRequest in sync with its zod schema.
Role
Solo: product, architecture and full-stack development
Architecture
Highlights
Database-per-tenant workspaces with create, archive and restore from a central admin console
63 permissions across 19 screens, enforced on all 129 workspace routes
Fully translated into English, Malay and Chinese (about 1,680 keys each)
Concurrency stress test: 0 of 12 deadlocks with ordered locks (7 of 12 without), and 321 concurrent movements reconcile exactly with the ledger
Catalogue and BOM, stock ledger, warehouse transfers, stock takes, purchase and sales orders with returns
PHPStan level 7 with no baseline, plus 6 custom check scripts run by lefthook and CI
Available for freelance projects
Need a custom web app like this?
Tell me what you're building. Message me on WhatsApp or send an email.