Case file 002 · Public fund · Southern Africa
Three Rules We Swore We Would Never Break
Two decades of rules: never go live twice at once, never migrate legacy data, never implement during stabilisation. This project broke all three, on purpose.
ERPNext · CRM · AI assistant · data migration
The brief
A public institution wanted everything at once: finance, procurement, HR and payroll, a customer relationship system, and an AI assistant that could talk to its members across channels. On ERPNext. With its history.
The file
- Three rules, set over twenty years of implementations. Don't go live on two projects at once. Don't migrate legacy data. Don't implement during stabilisation. All three are broken. Some of them by us.
- 116,000 customer records migrated in a day. The reaction was polite. The reaction was "banal". That is what AI-assisted delivery does to expectations.
- A year of financial data, migrated in a month. The reply was "thanks", and then, in the same breath: "we have seven years of history — what's the timeline on that?"
- A requirements document, one signature from done. Someone read it properly and wrote back: "Under Fin 13 and Fin 14 you referred to 'not' — what is that supposed to mean?" We did not know either. We rewrote it. That person is a hero.
- Somewhere out there is a man receiving an email alert for every transaction on the system. Not his transactions. All of them. It was logged as a defect. He never asked us to stop.
- We reconciled the issue board against the code. Six issues were "closed" with no code behind them. Four were tagged "conflict". Someone had to create that tag.
What we did
- ERPNext across the institution: finance, budgets, procurement, HR and payroll, with the customisations kept in code so they survive every upgrade.
- Data migration with receipts: every record traceable from the legacy system to the new one, reconciled before anyone was asked to sign.
- A unified CRM and an omnichannel AI assistant so members get answers without waiting for the one person who knows.
- Parallel runs, logged daily, until the new system and the old one agreed with each other.
- Training as a product: walkthroughs, guides and an assistant that answers "where is that button" at 11 p.m.
Outcome
The institution runs on the new platform. The issue board now matches the code, which sounds like a low bar until you have seen how rarely it is cleared.
We broke three rules. We kept the one that matters: be in the room when it goes wrong.
(Clients, colleagues and numbers stripped out. The dysfunction is ours to share; theirs isn't.)