Odoo 20 will be unveiled at Odoo Experience 2026 in Brussels, scheduled for 24 to 26 September. There is already a large amount written about what it contains. Almost all of it, including the parts that are probably right, traces back to one roadmap presentation given at Odoo Partner Days in April 2026.
Roadmaps are not commitments. Odoo describes its own roadmap as a list of things it might do. So rather than add another feature list, this post separates what can be checked today from what cannot, and shows the working.
What can be verified right now
One thing about Odoo 20 is genuinely checkable before release, because the schedule for it is written into the Odoo 19 code that is already public.
The RPC deprecation timeline
In Odoo 19 the RPC endpoints moved into their own auto-installed addon, rpc. Its
controller package carries a deprecation notice that is logged on every single call:
The /xmlrpc, /xmlrpc/2 and /jsonrpc endpoints are deprecated in Odoo 19 and scheduled for removal in Odoo 22.
Odoo 22. Not Odoo 20. That string sits in
odoo/addons/rpc/controllers/__init__.py in the Odoo 19 source tree, and you can read it
in your own checkout without waiting for anything to be announced.
This matters because a number of Odoo 20 articles currently in circulation state that XML-RPC is fully removed in Odoo 20 on self-hosted and Odoo.sh. A business that believes that either panics about an integration rewrite a full two years early, or budgets a migration project against a deadline that does not exist.
Two related details are worth being honest about, because we have seen both claimed and cannot
confirm either: some sources say the db service specifically goes earlier than the
common and object services, and some say Odoo Online drops the endpoints
ahead of self-hosted. Those are plausible and they are not verified here. Check the deprecation notice
in the version you run.
The replacement API already exists
The successor to XML-RPC is not waiting for Odoo 20 either. It shipped in Odoo 19 and you can build against it today. It is a JSON endpoint with bearer token authentication:
POST /json/2/<model>/<method> Authorization: bearer <your api key>
Two differences will bite when porting. Arguments are named rather than positional, so a call that passed a positional list to XML-RPC has to be rewritten as named keys. And the token is an Odoo API key, not a user password, so credential handling changes as well as call structure.
The practical takeaway is that the transition is not blocked and not urgent. You have until 22, and the target already exists, which is an unusually comfortable position for a breaking change.
What is not verified
Everything below is roadmap material. It may well be accurate. None of it can be confirmed against shipped code today, and we are not going to present it as though it can.
- Agentic AI across the apps. The direction is clear and consistently reported. The specifics of what executes autonomously, and with what approval model, are not.
- Owl 3. Widely reported as part of Odoo 20. A frontend framework change has real consequences for custom JavaScript, so this one is worth watching, but the scope of the change is not public.
- The mobile interface rebuild. Reported consistently. Unverifiable until it ships.
- Read replica support for very high concurrency. A specific number gets quoted. We would not plan capacity on it yet.
- The general availability date. October or November is a reasonable inference from past release cycles. It is an inference.
- 2026 pricing figures. The numbers circulating disagree with each other by a wide margin. Check odoo.com directly rather than any third-party summary, including this one.
What to actually do between now and September
None of this depends on knowing what ships, which is exactly why it is worth doing now:
- Inventory your customisations. Every custom module, with an honest note on what it touches. The volume and depth of customisation is the main driver of upgrade cost, and it is the number nobody has on hand when they need it.
- Inventory your third-party apps. For each one, find out whether the publisher has committed to a version 20 branch. An unported dependency stops the whole upgrade, and this is the most common reason an upgrade slips.
- List your integrations and the API each one uses. Anything still on XML-RPC has a long runway, but you want the list to exist before you need it.
- Get to Odoo 19 first if you are behind. Closing one version gap is a project. Closing three at once is a different and much riskier project.
Questions we are getting
Is XML-RPC removed in Odoo 20?
No. Several published articles say it is, and Odoo's own source says otherwise. The deprecation notice in the Odoo 19 codebase states that the /xmlrpc, /xmlrpc/2 and /jsonrpc endpoints are deprecated in Odoo 19 and scheduled for removal in Odoo 22. If you are planning an integration rewrite, that is the date to plan against, and it is worth re-reading the notice in the version you actually run rather than taking anyone's summary, including ours.
When is Odoo 20 released?
Odoo 20 is unveiled at Odoo Experience 2026 in Brussels, scheduled for 24 to 26 September 2026. General availability has historically followed the conference by a few weeks, but Odoo has not published a firm GA date, so any specific week you see quoted is an estimate rather than an announcement.
Should we upgrade to Odoo 20 immediately?
Almost never on day one. Two reasons that apply regardless of what ships:
- A brand new major version has had no production exposure. Early adopters find the regressions
- Third-party apps you depend on will not all be ported on release day, and a missing dependency blocks the upgrade entirely
What can we do now, before Odoo 20 ships?
Preparation that pays off no matter what the release contains:
- Inventory your custom modules and your third-party apps, with the version each supports
- List every external integration and note which API it uses
- Get onto Odoo 19 if you are on an older version, because closing two version gaps in one project is materially harder than closing one
A note on method
Where this post makes a claim about Odoo behaviour, it comes from reading the Odoo source for the version in question. Where it does not, it says so. That distinction is going to matter more than usual over the next few months: the volume of Odoo 20 content will keep rising, and very little of it can be checked until the code is public.
Once Odoo 20 is actually released we will publish what changed, measured against 19 rather than predicted, including what breaks in real modules.
Planning an upgrade? See our Odoo migration and upgrade services, or read the technical detail in the Odoo API guide and the complete guide to Odoo migration.