Case study 01
ERP Business Process Customization

The challenge
An operations-heavy business with field sales reps asked for eleven changes to a live ERP: route planning per rep, approval locks, custody of goods, maintenance returns, a rule that no invoice may be issued before the warehouse releases the goods, receipt-voucher printing and full Arabic translation. All of it had to land on a system already in daily use.
My analysis and approach
- I started with a read-only audit of the existing implementation before writing anything, so every requirement was mapped to the models and workflows it would touch.
- I grouped the eleven requirements into phases, each gated by automated tests. A phase was not started until the previous one passed.
- For each requirement I wrote down the business rule in one sentence, then identified the exact ORM method where it must be enforced.
Technical implementation
- All-or-nothing Excel route import: duplicates and overlapping routes are rejected, and nothing is written unless the whole file is valid.
- Invoice gate: delivery validation and invoicing are blocked until the stock controller releases the order.
- Approval locks: a rep cannot cancel or edit a request once it is approved.
- Custody features: a "My Custody" menu, a merged load/top-up flow, maintenance returns, and rep vehicle and fixed fuel price configuration.
- Arabic: translations and an Arabic receipt-voucher QWeb report.
- Security: record rules so each rep only sees their own settlements, custody and collections.
Verified result
- The automated suite grew from 135 to 217 tests, all passing on a staging clone.
- A go-live checklist and a read-only pre-deployment check were prepared.
- Not claimed: the production upgrade itself is not covered by the available evidence. It was left to a scheduled, approved window.