What Is Odoo Customization?
Standard software, non-standard businesses
No two companies work the same way. Software has to assume they do.
That gap is what customization fills.
Customization means changing how Odoo behaves so it matches your business — adding fields, changing calculations, inserting approval steps, redesigning reports. Almost every serious Odoo installation has some.
The important question is not whether to customise. It is how much, and done which way.
The four levels
Not all changes are equal. These four levels differ hugely in cost and in what they mean at upgrade time.
Level 1 — Configuration
Settings you change in the interface. Price lists, payment terms, warehouse rules, user permissions, email templates, automated reminders.
No code. Nothing to maintain. Upgrade-safe.
A surprising amount of what people call customization is really configuration. Always check here first.
Level 2 — Odoo Studio
Studio is an Enterprise tool that lets non-developers add fields, rearrange screens and build simple automations by dragging.
Good for small additions. A field to record a customer’s preferred delivery day. Moving a field to a more sensible place on a form.
Limits: Studio cannot handle complex logic. Heavy use also becomes hard to track, because changes are made by clicking and nobody writes down why.
Level 3 — Custom modules
A developer writes a module that extends Odoo. This is where real business logic lives.
New fields with calculations behind them. Changes to how a price or a cost is worked out. Extra approval steps. Redesigned reports. Integrations with other systems.
This is the correct way to do serious customization, and the reason is what happens at upgrade time. Your logic sits in its own module, separate from Odoo’s code. When Odoo releases a new version, your module is updated to match rather than being overwritten.
Level 4 — Modifying core code
Editing Odoo’s own files directly.
Do not do this. It works today. Then the next version arrives, your changes are gone or in conflict, and nobody can tell which behaviour is Odoo’s and which is yours.
If a partner proposes this, ask why a module cannot do the same job. There is almost always a way.
FIGURE 1: FOUR LEVELS OF CHANGE, FROM SAFEST TO RISKIEST
Configuration
- Settings in the interface. No code, nothing to maintain, upgrade-safe.
Odoo Studio
- Drag-and-drop fields and screens. Simple additions only.
Custom module
- Real business logic, separate from core. The correct way to customise.
Editing core files
- Works today. Overwritten or in conflict at the next upgrade.
What businesses actually customise
Some real patterns from real projects.
Pricing rules. A jewellery business prices by weight against a daily metal rate, not per piece. Standard price lists cannot express that, so the calculation is replaced.
Credit control. A supplier needs to block orders when a customer is both past due and over their total exposure limit. Standard Odoo checks one condition; the rule has to be extended.
Approval routes. Different approvers depending on order value, customer, or which company in a group is selling. Common, and almost always custom.
Reports. Customers and auditors expect documents in a particular layout. Report customization is one of the most frequent requests and one of the safest to do.
Industry rules. Batch tracking with expiry for food. Serial number histories for equipment. Statutory formats for a specific country.
Deciding what to customise
Ask three questions about every request.
1. Is this genuinely how we must work, or just how we happen to work?
Some processes are a real competitive advantage. Others exist because someone set them up that way in 2014 and nobody revisited it.
Customise the first kind. For the second, consider changing the process instead. It is free, and there is nothing to maintain.
2. Does standard Odoo already do this?
More often than you would expect, it does — under a different name or in a place nobody looked. This is where an experienced partner earns their fee, by talking you out of things.
3. What does this cost over five years?
Every custom module has to be maintained, tested and carried through each version upgrade. A small feature is not a one-time cost. It is a small permanent cost.
Some are clearly worth it. Some are not, and it is worth being honest about which is which.
FIGURE 2: THREE QUESTIONS TO ASK ABOUT EVERY REQUEST
Worth building
- It is a real competitive advantage
- Standard Odoo genuinely cannot do it
- The five-year cost is justified
Worth reconsidering
- It is just how you happen to work
- Standard Odoo already does it elsewhere
- It exists to avoid a business decision
How to keep customization healthy
Four practices that separate a system that ages well from one that becomes a burden.
Keep it in modules. Never in core files. This is the rule that protects your upgrade path.
Document why, not just what. In two years nobody will remember why the discount rule works that way. Write it down at the time.
Test at every upgrade. Odoo releases a new version each year. Your modules need testing against it before you move. Budget for this.
Review periodically. Business rules change. Some custom code exists to serve a process you stopped using years ago. Removing it is as valuable as adding new work.
Signs of trouble
Four warning signs worth watching for:
- Nobody can explain why a customization exists
- Custom code lives inside Odoo’s own files
- Every upgrade turns into a rescue operation
- You are customising to avoid a decision the business should just make
That last one is the subtle one. Sometimes a customization request is really two departments failing to agree on a process, and asking software to keep both versions alive.
The balance
The best Odoo installations are not the most customised ones. They are the ones where every customization earns its place.
Standard where standard works. Custom where the business genuinely needs it. Nothing kept out of habit.
That balance is a judgement call, and it is worth getting an experienced second opinion before you commit to a long list of changes.
Have a list of things Odoo does not do out of the box?
Get in touch. We will tell you which ones are genuinely worth building, which already exist in standard Odoo, and what each will cost you over five years.