Odoo upgrades ยท from $499 per module
Odoo upgrade service for your custom modules
Moving from Odoo 15 or 16 to Odoo 17 or 18 is rarely held up by standard Odoo. It is held up by the custom modules someone wrote years ago that nobody wants to touch. We port those modules to the new version, test them on a copy of your database, and hand them back ready for your upgrade. Fixed price, from $499 per module.
What an Odoo upgrade actually involves
An Odoo upgrade has two halves. The first is your data: the standard tables for sales, accounting, stock and so on. For Enterprise databases, Odoo's own upgrade service converts that data to the new version. Community databases usually go through the OpenUpgrade project, one version at a time.
The second half is your custom code, and nobody upgrades that for you. Every custom module has to be rewritten wherever the Odoo framework changed underneath it, and renamed fields need migration scripts so their data comes across. That is the work we do.
The steps we follow
- Free look at the code. You send the modules and tell us your current and target versions. We read them and come back with a fixed price per module.
- Port the code. Manifests, Python models, views, security, reports and JavaScript move to the target version's APIs.
- Write migration scripts. Where fields or models were renamed or restructured, pre- and post-migration scripts move the existing data so nothing is silently lost.
- Test on a copy of your database. We upgrade a copy, install the ported modules and walk through the workflows you tell us matter most. Production is never touched.
- Hand over. The code goes into your repository with notes on what changed and what to check before go-live.
What we need from you
- The source of your custom modules (a Git repository or a zip file).
- Your current Odoo version and edition (Community or Enterprise) and the version you are moving to.
- A recent database backup, or an anonymised copy, so we can test against real data.
- A list of third-party and OCA modules you have installed.
- The workflows that must keep working, and one person who can answer questions.
Typical pitfalls when upgrading to Odoo 17 or 18
Deprecated and removed APIs
Each version removes things old modules rely on. Odoo 17 dropped the attrs and states attributes in views in favour of plain invisible and readonly expressions, and replaced name_get with computed display names. Odoo 18 renamed the tree view type to list.
OWL frontend changes
Odoo's web client is built on the OWL component framework. Old-style JavaScript widgets, field widgets and client actions have to be rewritten as OWL components, and assets declared in the manifest.
Data migration scripts
If a field changes name or type and nobody writes a migration script, the upgrade can still "succeed" while the old values quietly disappear.
Testing on a copy, not on production
We never upgrade production directly. We test on a copy with outgoing email and live integrations switched off, so testing never emails your customers or calls a real payment or shipping API.
Pricing and timelines
Upgrades start from $499 per module, as a fixed price agreed after we have read the code. Large modules with heavy JavaScript or complex data migrations cost more, and you see the number before any work starts. The timeline is in the same quote and depends mainly on the number of modules and how quickly we receive a database copy.
Not sure yet? Your first small ticket, up to about 4 hours, is free, so you can judge the work on one module before committing to the rest. Odoo partners can also hand us upgrades white-label, under their own name.
Frequently asked questions
Can you upgrade from Odoo 16 to Odoo 18 directly?
Yes, for the custom code: we port your modules straight to Odoo 18. The standard data is converted by Odoo's upgrade service for Enterprise databases, or by OpenUpgrade for Community, and we test the result together on a copy of your database.
What does 'from $499 per module' include?
Porting the module to the target version, any migration scripts its data needs, and testing on a copy of your database. Larger modules cost more, but you get a fixed price per module before we start.
Do you need access to our production server?
No. A recent backup or an anonymised copy of the database is enough. We test on that copy and never touch production.
Do you work with Odoo Community and Enterprise?
Yes, both. Tell us the edition and version you are on now and the one you are moving to.
Can you do upgrades white-label for our Odoo clients?
Yes. We work for Odoo partners under their brand and never contact their client. The first small ticket, up to about 4 hours, is free.
Send us your modules
Email the modules (or a link to the repository) along with your current and target Odoo versions. We will read the code and reply with a fixed price per module. Your first small ticket, up to about 4 hours, is free.
See our case studies.