Custom modules
New models, fields and screens for a process Odoo does not model — a licence register, a rental cycle, a job card, an industry-specific compliance record. Built as its own installable module you own.
Odoo covers most of what most businesses need. Customization is for the part it does not — the approval your industry requires, the report your auditor asks for, the field your customers quote back at you.
We configure first and write code only where configuration genuinely cannot reach, because every line of custom code is something you carry forward at every future version upgrade.
Businesses whose Odoo we customised
Odoo customization is changing how Odoo behaves beyond what its settings allow, by writing code in a separate custom module. It covers new models and fields, modified views, custom reports, automated actions, approval workflows and business logic. It is distinct from configuration, which changes behaviour through the interface and costs nothing to maintain.
The test we apply: if a setting, an automated action or a studio-style view change can do it, that is configuration and it should not be billed as development.
The four kinds of customization businesses actually ask for, and what each one really involves.
New models, fields and screens for a process Odoo does not model — a licence register, a rental cycle, a job card, an industry-specific compliance record. Built as its own installable module you own.
Multi-level approval by amount, by department or by margin; status transitions that reflect your real sign-off chain; automated actions that fire without anyone remembering to click.
QWeb print layouts that match your letterhead and your statutory format, plus list, pivot and graph views your managers will actually open instead of exporting to Excel.
Where customization meets another system: pushing to a portal, pulling from a marketplace, posting to a gateway. See Odoo integration services.
These are the practices — and the configuration decisions behind them — that decide whether your customisations are an asset in three years or the reason you cannot upgrade.
All changes live in your own module and use Odoo’s inheritance mechanisms. Patching Odoo’s source gives you a system that cannot be updated safely.
Every requirement gets a line saying whether it is config or code, and why. You see that before you approve the quote.
Separate modules for separate features, so a later version upgrade can carry some forward and retire others instead of being all-or-nothing.
Extending views and methods rather than overriding them wholesale means Odoo’s own updates still apply underneath your change.
Source goes into version control you can access. If you stop working with us you keep everything, with history.
Every new model gets access rights and record rules defined deliberately, not copied from an example. This is where data leaks between companies and users come from.
Not on demo data. Real volumes and real edge cases, because that is where custom logic falls over.
A README, the business reason, and the upgrade notes. The next person to touch it may not be us, and that is fine.
Four cases where we talk businesses out of development. Each one has cost somebody money before.
The most expensive customization is the one that makes Odoo behave like the software you are replacing. Usually the process should change, not the ERP.
If one user wants a different screen layout and nobody else cares, that is a training question, not a development project.
We check the Odoo apps store and the standard modules first. Buying an existing app is usually cheaper than building, even when the app is not perfect.
Building against an old version weeks before an upgrade means paying for the same work twice. Sequence the upgrade first.
Customization is quoted per requirement after a scoping call, never as open-ended hours. These are the factors that move the number.
Our customization work is led by consultants who have carried modules through multiple Odoo version upgrades. That experience is why we argue for configuration first — we are the ones who have had to migrate the code.
Development practices described here follow Odoo’s own developer documentation.
A free scoping call tells you which of your requirements are configuration, which need code, and what the code will cost — before anyone starts building.