The typical situation
Accounting, the warehouse system and a sales CRM each produced a different sales figure. The owner's monthly review took the finance head a week to assemble and was still argued over.
Nothing was wrong with any system individually. They had simply never been joined.
What the data looked like
Tally exports, warehouse system database, CRM exports and two large Google Sheets maintained by the sales team. Customer master data disagreed across all four.
What we built
- A PostgreSQL data layer refreshed nightly from all four sources, with one reconciled customer master.
- Four dashboards: sales, stock ageing, receivables and expiry risk, built with the people who use them.
- A written data dictionary and a readiness scorecard for the next project (demand forecasting).
Typical outcome
| Measure | Before | After | Period |
|---|---|---|---|
| Time to monthly review pack | 5 working days | same-day | measured over 3 cycles |
| Stock ageing visibility | quarterly, manual | daily |
What usually trips these projects up
Reconciling the customer master took half the project. We now scope that as its own line item in every data foundations engagement rather than treating it as setup.