Modular ERP that cut reporting effort by 60% across four departments
How we replaced a patchwork of spreadsheets, email approvals, and disconnected tools with a unified ERP platform covering HR, finance, inventory, and procurement.
The situation
A mid-size organisation running 200+ employees across three locations had four departments operating in complete isolation. HR managed headcount in Excel. Finance ran on a legacy accounting package that couldn't talk to inventory. Procurement approvals happened over WhatsApp and email chains. Each month-end required a week of manual consolidation before management could see a single number.
A commercial ERP had been evaluated and rejected — the licensing cost was prohibitive and the implementation timeline quoted was 18 months with a third-party consultant. The business needed something purpose-built, modular, and operable without dedicated IT staff.
What we built
HR module
Employee records, contract management, leave requests and approvals, attendance tracking, and payroll computation. Managers approve requests through a mobile-friendly interface; payroll runs are one-click with an exportable bank transfer file.
Finance module
General ledger, accounts receivable and payable, expense categorisation, budget vs. actual dashboards, and automated month-end close reports. The chart of accounts was mapped from their existing legacy data — no re-entry required.
Inventory module
Multi-warehouse stock management, transfer orders, reorder alerts, and batch/serial number tracking. Stock levels update in real time when goods receipts or sales orders are processed.
Procurement module
Purchase requisition → PO approval → goods receipt → vendor invoice matching, fully digital. Approval tiers configured per department and spend threshold. Vendor scorecards auto-generated from delivery and quality history.
Technical decisions worth explaining
Modular monolith, not microservices
At 200 employees, the operational overhead of microservices outweighs the benefit. We built a modular monolith with strict domain boundaries — HR, Finance, Inventory, and Procurement are separate modules that communicate through defined interfaces. When the organisation grows to a scale that justifies splitting, the boundaries are already in place.
Role-based access with department isolation
Finance staff cannot view HR payroll data. Procurement managers see only their category's spend. Access control is configured at the field level, not just the page level, using a permission matrix stored in the database rather than hardcoded in the application.
Results at 6 months
- ~60% reduction in manual reporting effort across all four departments
- ~40% improvement in operational processing speed (approvals, POs, payroll runs)
- ~35% reduction in inter-department coordination delays
- Month-end close reduced from 7 days to 2 days
- Zero data re-entry between HR, Finance, and Inventory for the first time