Customising Odoo is easy. Upgrading it is not.
Every override written today is a merge conflict at the next release. Most companies three versions behind are paying for a decision somebody made in a hurry four years ago.
Thirty minutes · no predetermined package
Almost always, the first one comes first.
Nothing else can be decided sensibly from three versions behind.
Get current, stay current
Assess what breaks, refactor forks into clean extensions, then upgrade. The point is arriving somewhere you can upgrade again.
Build it the right way
Custom modules written as extensions rather than overrides, so the next release is an afternoon rather than a quarter.
Keep Odoo, connect it
Odoo stays as ERP, and the parts it models badly move to something that models them well, connected by API.
Not the whole thing
Rarely all of Odoo. Usually one domain — CRM, or the customer-facing side — where the standard model does not fit.
What an over-customised Odoo feels like from inside.
You are three versions behind, because the last upgrade took a quarter and broke two things nobody found for a month.
A module was forked from core to change one behaviour, and now every release has to be merged by hand.
The partner who built it is not the partner who maintains it, and neither wrote anything down.
Studio was used for the easy customisations and Python for the hard ones, and nobody can say which is which.
A community module in the accounting stack has not been updated in two years.
Odoo Enterprise was bought for one feature, and the licence renews for everybody.
Six questions before an Odoo upgrade or a new build.
The first two decide the cost of everything that follows.
Five stages, and refactoring comes before upgrading.
Read the codebase
the findingsEvery custom module, whether it extends or overrides, what it depends on, and what an upgrade does to it. Written up whether or not we do the work.
Refactor the forks
upgradeableOverrides become extensions. This is the work that turns a quarter-long upgrade into a week-long one, permanently.
Upgrade on staging
provenVersion by version on a copy, with the migration scripts written and tested before production sees anything.
Cut over
currentProduction upgraded with a rollback path, out of hours, with the old version recoverable for as long as you want it.
Document and hand over
the runbookWhat every module does, why it exists, and what to check at the next release. The absence of this is how the org got three versions behind.
Odoo is strongest where the customisation runs deepest.
Manufacturing and distribution
Where Odoo is strongest, and where the inventory and MRP customisations tend to be deepest.
Retail and e-commerce
Multi-channel stock and pricing rules that push the standard model further than it wants to go.
Professional services
Timesheets, projects and invoicing, usually with a fork somewhere in the billing logic.
Logistics
Route and delivery models that rarely survive contact with the out-of-the-box warehouse module.
What people ask about Odoo implementation and support.
What do Odoo implementation services include?
Process mapping, module selection, configuration, data migration, custom development where genuinely needed, and training. The largest decision is what to configure versus what to build.
What is an Odoo implementation partner?
A firm accredited to sell and implement Odoo. Accreditation says nothing about engineering discipline, which is why two partners can leave you with very different codebases.
Why are Odoo upgrades so painful?
Because customisations that override core code have to be merged by hand at every release. Extensions upgrade cleanly; forks do not. Most painful upgrades are paying for a decision made years earlier.
What does Odoo customization cost?
Less than the upgrade it causes, if it is done as an override. The honest way to quote Odoo customisation is to include what it adds to every future release.
Should we use Odoo Community or Enterprise?
Community is free in licence and not in developer time. Enterprise buys you supported modules and a supported upgrade path. Which is cheaper depends entirely on how much you customise.
Can Odoo replace our CRM?
For a straightforward pipeline, yes. It struggles when the sales process needs relationships the standard model does not have — which is the same limit every packaged CRM has.
What is an Odoo consultant actually for?
Deciding what not to build. Most Odoo problems are over-customisation of a system that would have been fine with a changed process and a configured module.
How does Odoo integrate with other systems?
Through its XML-RPC and REST interfaces, which are capable but chatty. The work is the same as any integration: deciding which system owns which field.
Can you take over an Odoo instance built by someone else?
Yes, and that is most of what we are asked to do. It starts with reading the codebase and writing down what nobody documented.
How long does an Odoo implementation take?
It scales with module count and integration count. A single-department rollout and a full ERP replacement are different projects that get quoted under the same name.
What is the difference between Odoo.sh and self-hosted?
Odoo.sh gives you managed staging and a supported upgrade path. Self-hosting gives you total control and total responsibility, including for the upgrade nobody wants to run.
Do you take commission from Odoo?
No. No commission, referral fee or partner margin on any software we recommend, which is what lets us tell you that Odoo is the wrong fit when it is.