What is ERP customisation risk (upgrade-safe customisation)?

ERP customisation risk is the danger that changes made to fit an ERP to a business (custom code, edited core files, database tweaks, undocumented workflows) will break, block or inflate the cost of the next upgrade; upgrade-safe customisation is the discipline of avoiding that.

Every ERP gets customised, because no product matches a business exactly. The risk is not customisation itself but how it is done. A change that lives in its own module, extends the standard model through the platform's supported mechanisms, has a test, and is written down can be carried through an upgrade in hours. A change made by editing a core file, or by a direct SQL update that nobody recorded, is a landmine that goes off at the next version.

It matters because upgrades are how an ERP stays supported, secure and compatible with the operating system and database underneath it. When customisations make an upgrade frightening, companies postpone it, and each postponement makes the next attempt larger. The end state is an ERP several versions behind, on an unsupported database, where the only person who understood the changes has left.

In Odoo, upgrade-safe means inheriting models and views in a separate addon rather than modifying the standard modules, keeping business logic in code a developer can read and test rather than in point-and-click customisations, pinning each custom module's dependencies, and keeping the list of modules with a one-line purpose for each. An example: a rule that stops two work orders booking the same machine belongs in a small module with a constraint and a test, not in a manual check someone performs against a spreadsheet.

The common mistake is measuring customisation by volume. Ten small, well-placed modules are safer than one large one that patches the core, and a customisation that replaces a standard feature the business could have adopted instead is the most expensive kind, because it has to be re-justified at every upgrade.

Related terms

See it in practice