25 August 2026 · TechSlideITS
Why ERP upgrades get skipped, and what that costs
Skipping an upgrade is always the easy decision in the month it is offered. The cost accumulates somewhere you are not looking.
Nobody decides to fall three versions behind. It happens one deferral at a time, and each deferral is individually reasonable.
The upgrade is offered, the business is busy, nothing is currently broken, and the customisations would need testing. It is postponed. Repeat.
Why deferring is so easy
The benefit is invisible
Upgrades mostly deliver security fixes, stability and features you are not yet using. None of that shows up as an improvement anyone notices, so the upgrade competes with work that has visible returns and loses.
Customisations must be retested
The real cost, and it scales with how much you have built. Every customisation has to be checked against the new version, and some will need adjusting.
This is the strongest argument for keeping customisation minimal, and it is felt at upgrade time rather than at build time — which is precisely why it gets underweighted when the customisation is commissioned.
It requires downtime
Modest, but it needs planning and a fallback, and both take attention.
What accumulates
Security exposure
Older versions stop receiving security updates. For a system holding customer data, salary information or patient records, that is a real exposure rather than a theoretical one.
Support becomes harder
Your partner supports many clients across versions. On an old one, fewer people have current experience with it, community answers no longer apply, and issues take longer to resolve.
The gap compounds
One version behind is a routine upgrade. Four versions behind is a project — sometimes closer to a re-implementation, with data migration and retraining.
The cost does not rise linearly. It rises sharply, and the point where it becomes a project rather than a task arrives without announcement.
New capability stays unavailable
Features that would have helped exist in versions you cannot reach without the project you have been avoiding.
What makes upgrades manageable
- Keep customisation minimal — the single largest factor, decided long before upgrade time
- Prefer configuration over code, since configuration generally survives upgrades
- Maintain a staging environment so upgrades can be tested without risking live
- Keep a list of customisations with what each does and how to test it — this is often the missing piece, where nobody remembers what was built
- Schedule upgrades rather than deciding each time, because a scheduled upgrade is planned around and an optional one is deferred
- Agree who tests customisations in your support contract, before it matters
A reasonable rhythm
For most small businesses, once or twice a year in a quiet period, staying within a version or two of current.
That is frequent enough that each upgrade is small and infrequent enough not to be disruptive. Upgrading with every release is unnecessary for most; upgrading never is how a three-year project appears on your desk unplanned.
The honest framing
An upgrade is maintenance, like servicing a vehicle. It produces nothing visible and prevents something expensive.
The businesses that stay current are not more diligent. They scheduled it, so it stopped being a decision — which is the only reliable way maintenance gets done.
If you want upgrades handled as part of support, see our ERPNext and Odoo services, or talk to us.
Frequently asked questions
Because the benefit is invisible — mostly security fixes, stability and unused features — while the cost is immediate: customisations must be retested, and downtime needs planning. Each individual deferral is reasonable, which is how businesses end up several versions behind without deciding to.
Security exposure as older versions stop receiving updates, harder support because fewer people have current experience with your version, and a gap that compounds — one version behind is a routine upgrade, four behind is a project closer to a re-implementation.
Directly and proportionally. Every customisation must be tested against the new version and some need adjusting, so upgrade cost scales with how much you have built. That cost is felt at upgrade time rather than build time, which is why it gets underweighted when the work is commissioned.
Once or twice a year in a quiet period, staying within a version or two of current. That is frequent enough for each upgrade to be small and infrequent enough not to disrupt. Upgrading every release is unnecessary; never upgrading produces an unplanned multi-year project.
Minimal customisation, preferring configuration over code, a staging environment for testing, a maintained list of customisations and how to test each, scheduled rather than optional upgrades, and an agreement about who tests customisations before it matters.