In short: An upgrade to Odoo 20 does not go well by itself if you have customisations or integrations. The main points of attention: record rules become a domain per access right, the "db" service of the external API has been removed, Field Service moves into Planning, account groups become parent accounts and AI requires IAP credits. So always test on a copy of your database first.
Odoo 20 was released in September 2026. A new version brings new features, but also changes that affect existing ways of working and integrations. In this article we list the main points of attention, with a test strategy and a sample schedule. Want to know what is new first? Then read Odoo 20: the most important new features for SMEs.
When to upgrade: Odoo Online, Odoo.sh or your own server
The right moment to upgrade depends on how you use Odoo:
- Odoo Online: the upgrade usually follows automatically. So you have less control over the timing. Make sure you know in advance what changes, so your users are not taken by surprise.
- Odoo.sh or your own server: you decide when to upgrade. Do you have customisations or integrations? Then plan the upgrade deliberately and test on a copy first.
Preferably do not upgrade in the middle of a busy period or just before a year-end closing. Choose a quiet moment and allow time to test and adjust. How an upgrade generally works is explained in our step-by-step plan for Odoo upgrades.
Checklist: what to check before upgrading to Odoo 20
1. Customisations and custom modules
Make a list of all custom modules, Studio customisations and third-party modules. Decide for each one whether it is still needed. Anything no longer used is better left behind. Anything that is needed must be made ready for Odoo 20 and tested. Sometimes a customisation even becomes unnecessary in the new version, because Odoo now offers the feature as standard.
2. Access rights: from record rules to a domain per right
In Odoo 20, record rules are going away. Each access right gets its own domain (filter). Do you have your own record rules, for example so that salespeople only see their own customers? Then those rules must be converted and checked. Test with real users that everyone still sees exactly what they should see: no more and no less. This is a security point as well. A mistake in access rights is often only noticed when someone sees data that was not meant for them.
3. Integrations through the external API
Integrations with webshops, accounting packages or other software often use Odoo's external API. A lot is changing there:
- In Odoo 20, the "db" service of XML-RPC and JSON-RPC has been removed.
- The "common" and "object" services are scheduled for removal in Odoo 22 (autumn 2028).
- The replacement is the External JSON-2 API.
- The external API is only available on a Custom plan, not on One App Free or Standard.
Ask your integration suppliers which API they use. Even if an integration still works in Odoo 20, it is wise to plan the move to JSON-2 now. Do you use Connecta for your integrations? Then include them in the upgrade test.
4. Field Service moves into Planning
The separate Field Service app is going away; its features are now in Planning. Think of the live map with technicians, route planning, travel times in the Gantt view, travel costs, customer equipment with maintenance contracts and worksheets. If you use Field Service, your way of working will change. Allow time to bring planners and technicians along, and check that your own worksheets and reports come across correctly.
5. Accounting: parent accounts and bank consistency
- Parent accounts replace account groups. Account codes are no longer mandatory. Check that your reports and exports still show the same structure.
- Bank consistency. Entries on bank accounts must come from bank transactions. Do you currently post manually to a bank account? Then that way of working has to change.
- Asset models become depreciation models. After the upgrade, check that your depreciation is correct.
- Matching rules. There are new options, such as a payment tolerance. Check whether your existing rules still fit.
Ask your bookkeeper or accountant to take part in the test, and compare a few standard reports before and after the upgrade.
6. Budget for AI credits
All AI features in Odoo 20 require IAP credits. Do you want to use AI agents, AI in Helpdesk or AI in Documents? Then include those costs in your budget. What agents can do and how to get started responsibly is explained in AI agents in Odoo 20: what they can do, what it costs and how to get started.
7. Smaller changes users will notice
- The profitability report in Project has been replaced by budget and margin reports.
- Manufacturing orders are set to "as soon as possible" by default and flexible consumption is the default.
- New icons, new dialogs and a renewed mobile view.
Small, but users get stuck on them if nobody tells them in advance. A short explanation per department prevents a lot of questions.
Test strategy: always on a copy first
Never test an upgrade directly on your live database. This is how to approach it:
- Make a copy of your production database and run the upgrade to Odoo 20 on it.
- Test the core processes per department: from quotation to invoice, from purchase to payment and from manufacturing order to delivery.
- Test access rights with real user accounts, not only as an administrator.
- Test all integrations against the test database, including everything that uses the external API.
- Compare reports, such as the balance sheet, the profit and loss statement and the open items, with the same reports in your current version.
- Let key users test and record their findings.
- Make a go/no-go decision and only then choose the date for the real upgrade.
Found errors? Fix them and test again on a fresh copy. Better two test rounds than one surprise in production.
Planning: an example by quarter
How long an upgrade takes differs per company. A quarterly plan gives you something to hold on to. An example for a company with customisations and integrations:
- Quarter 1: inventory of customisations, integrations and apps in use, and a first test upgrade on a copy.
- Quarter 2: adapt customisations and integrations, convert access rights and run a second test round with key users.
- Quarter 3: go/no-go, upgrade of the live environment, aftercare and explanation for users.
If you have few customisations, it can go much faster. Do not forget the longer term either: the "common" and "object" services of the external API disappear in Odoo 22. So plan the move to JSON-2 even if you are not upgrading yet.
The most common mistakes
- Upgrading straight away without a test on a copy.
- Testing only as an administrator, so problems with access rights go unnoticed.
- Forgetting integrations, until the first order does not come in.
- Not preparing users for changes, such as Field Service moving into Planning.
- No budget for AI credits.
Frequently asked questions
Do I have to upgrade to Odoo 20 right away?
Not necessarily. On Odoo Online the upgrade usually follows automatically. On Odoo.sh or your own server you choose the moment yourself. Plan it deliberately and test on a copy first.
Will my integrations still work after the upgrade to Odoo 20?
That depends on the API they use. The "db" service has been removed in Odoo 20 and the "common" and "object" services disappear in Odoo 22. Have your integrations checked and plan the move to the JSON-2 API.
What happens to my record rules?
Record rules are going away in Odoo 20. Each access right gets its own domain. Custom rules must be converted and tested with real users.
I use Field Service. What changes?
In Odoo 20, the Field Service features are in the Planning app. So your way of working changes, and planners and technicians need an explanation.
Finally
An upgrade to Odoo 20 is very doable, as long as you know where the pitfalls are and test first. Want help? Read more about Odoo migration at DAADit and see our pricing. Or contact DAADit Group and take the free Business Scan.