From our projects
We are currently running six upgrades from Odoo 16 and 17 Enterprise to Odoo 19 Enterprise — the same v17→v19 ground your upgrade covers, one release short of v20. Track record ›
The case for upgrading now
v17 fell out of support when Odoo 20 shipped
Odoo officially supports its three most recent major versions. With Odoo 20 released in September 2026, that window moved to v18–v20, and v17 dropped out of it — along with the security patches and fixes that come with being inside it. v17 Enterprise contracts now also carry the 25% legacy-version surcharge Odoo introduced in 2026; upgrading puts you back inside the window and off the surcharge.
It's also a chance to reconnect with a much larger, more active developer community — today's codebase draws far more attention than v17's does at this point.
What actually changes between v17 and v20
Frontend framework
Odoo's web client has continued moving further onto the OWL (Odoo Web Library) framework, replacing the older legacy JS widget system. Custom modules with frontend code written against the old system typically need real rework, not just a compatibility shim.
Python & PostgreSQL requirements
Minimum supported Python and PostgreSQL versions have moved forward across this range. If you're self-hosted, the infrastructure upgrade is a separate, parallel project from the Odoo upgrade itself — worth scoping before the migration, not discovered during it.
Module and API changes
Three major releases means three years of deprecated fields, renamed models, and shifted ORM conventions to account for. This is the bulk of the actual migration-script work for any custom module — not a single breaking change, but an accumulation of smaller ones.
New capabilities you'd gain
Beyond getting back inside the support window, three versions of feature development — deeper automation, AI-assisted tooling that v19 expanded and v20 pushes further, and refinements across manufacturing, inventory, and the website builder — become available the moment you land on v20, not something you have to opt into separately.
Community or Enterprise changes the path
Same version gap, two very different projects. Which edition you land on decides whether Odoo's own upgrade service carries the jump, or your migration scripts do.
Already on Enterprise? Then neither penalty applies — an EE to EE jump is the cleanest route there is, and your estimate reflects that.
Before you ask us
Questions about the v17 → v20 jump
The three that come up on every v17 call. Answered here so you don't have to book one to get them.
Something specific to your instance?Ask a human — no form gate. ›