Ivan Expo — Accounting, Sales & Inventory
Architecture — Three layers over one core: a Flutter desktop client for the shop floor, a Laravel API holding the business logic, and a separate storefront. Feature-first modules on a shared foundation.
- Problem
- Separate programs for sales, stock and accounting meant balances never matched and closing the books took days.
- Solution
- One system covering the whole cycle, from the point of sale through to the journal entry. Every sale posts its own double-entry record, so nothing is keyed in twice.
- Hard part
- Keeping a desktop client responsive over a network API, and holding the interface consistent as modules kept being added.
◆30+ modules
◆Double-entry accounting
◆Multi-warehouse
◆In production