Ir al contenido

Odoo 20 upgrade: 10 changes that will break your current workflows

What Odoo 20 removes, renames and restricts, and how to test each change on a copy of your database before go-live
1 de octubre de 2026 por
Serhii Chebyshev


Why the removals matter more than the new features

Most Odoo 20 coverage lists what was added: AI agents, offline mode, paying bills directly from Odoo. For a company already running Odoo, the removals decide how the upgrade goes. Field Service no longer exists as a separate app, payroll work entries are gone, and several accounting menus and statuses have moved or been renamed.

A new feature you never switch on costs nothing. A screen your team opens every morning that disappears after the upgrade stops work on the first day.

Odoo 20 was presented at Odoo Experience in Brussels on 24 September 2026. Odoo gives each major version three years of standard support, and its support table lists September 2026 as the end of standard support for Odoo 17. If you run Odoo 17, the upgrade question now has a date attached.

The table below lists the ten changes most likely to disrupt an existing database. Each one is explained in the sections that follow.

Change in Odoo 20

Who is affected

What to test first

Field Service merged into Planning

Service companies with mobile teams

Intervention scheduling, worksheets, travel fees

Payroll work entries removed

Companies running Odoo Payroll

Payslip computation, time off types

Employee Expenses menu removed

Finance teams, employees who submit expenses

The path from approved expense to vendor bill

Payment statuses renamed

Anyone reading invoice lists and reports

Saved filters, dashboards, exports

Bank entries must come from bank transactions

Accountants who post manual bank entries

Month end adjustments and corrections

Account groups and asset models replaced

Controllers and auditors

Chart of accounts reports, depreciation schedules

Record rules removed from access rights

Companies with custom visibility rules

Multi-company and team level access

Tracking values removed

Anyone reporting on change history or stage duration

Custom reports, audit exports

Icons and push notifications changed

Custom modules, mobile users

Custom views, notification delivery

New hosting requirements

Self hosted installations

Python and PostgreSQL versions


Operations: three apps your teams will notice first


1. Field Service is now part of Planning

The Field Service app has been discontinued. Its features, including the live map of technicians, route planning, worksheets and travel fees, now sit inside Planning. Planning also gains automatic shift scheduling based on customer locations, travel times in the Gantt view and tracking of customer equipment and maintenance contracts through Subscriptions.

For a service company, this is a change of daily habit. Dispatchers who scheduled interventions in one app now work in another, with a different layout and different menus. Technicians receive their schedules through a new flow, which can now include WhatsApp.

What to test: take five real interventions from last month and schedule them again in the upgraded copy. Check that worksheets carry the fields your technicians fill in on site, and that travel fees land on the customer invoice the way they do today.

2. Payroll work entries are removed

Work entries and the integration between Planning and Payroll have been removed. Work entry types have been merged with time off types. Odoo presents this as a simplification, and for many companies it will be one. For companies whose payroll rules read work entries, such as overtime, night shifts or project based pay, those rules have to be rebuilt.

The release also adds features that replace common workarounds: net to gross simulation, test pay runs that can be printed before validation, and salary indexation by percentage or fixed amount.

What to test: run a full month of payslips in the upgraded copy and compare them line by line with the payslips you issued in production for the same month. Any difference points to a rule that depended on work entries.

3. The Employee Expenses menu is gone

The separate Employee Expenses menu has been removed, and approved expenses now generate draft bills. Employees still submit expenses and managers still approve them. What changes is where finance picks them up and how reimbursement is recorded.

What to test: submit, approve and reimburse three expenses in the upgraded copy, including one reimbursed through payroll. Confirm that the draft bill reaches the right person and posts to the accounts your controller expects.


Finance: renamed statuses and stricter bank rules

4. "Paid" no longer means what it used to

Payment statuses have been renamed. "In Process" is now "Paid", and "Paid" is now "Reconciled". The underlying logic is clearer: a payment can be sent before the bank statement confirms it. The risk sits in everything built on the old labels.

A saved filter for paid invoices now returns a different set of records. A dashboard that counted "Paid" invoices as settled now counts payments that have left your account but have not yet been matched to a bank line. A collections team that reads the old label may chase a customer who has already paid.

What to test: list every saved filter, dashboard, spreadsheet export and automated action that refers to a payment status. Check each one in the upgraded copy and retrain the people who read them.

5. Bank entries must come from bank transactions

Journal entries that affect bank accounts must now originate from bank transactions. Accountants who used to post a manual entry directly to a bank account, for a correction, a fee or a month end adjustment, can no longer do so.

What to test: ask your accountant which manual bank entries they posted in the last quarter. Rebuild each case in the upgraded copy through a bank transaction and agree the new procedure before the first month end on Odoo 20.

6. Account groups and asset models are replaced

Parent accounts replace account groups for structuring the chart of accounts, and account codes are now optional. Asset models have become depreciation models. Reports, exports and integrations that read account groups need to be checked against the new structure.

What to test: run your balance sheet, profit and loss and any management reports in the upgraded copy and compare totals with production. Check that each asset still depreciates on its original schedule.


Technical: what changes under the hood

These four changes matter most to companies with custom modules, Studio customisations or their own hosting. On a standard database with no customisation, they are mostly invisible.

7. Record rules are removed from access rights

Odoo 20 simplifies access rights. Record rules have been removed, and a domain can now be set directly on an access right. Any custom visibility logic built on record rules, for example salespeople seeing only their own team's quotations or users in one company seeing none of another company's records, has to be rewritten in the new form.

What to test: log in to the upgraded copy as three or four real users with different roles. Check what each one can see and edit, especially across companies and teams. Access problems rarely produce an error message. They show up as a user who suddenly sees too much or too little.

8. Tracking values are removed

Tracking values have been removed, and tracking messages in the chatter are now generated on the fly. Odoo has updated its own features that depended on them, such as burndown charts and stage duration. Custom reports and exports that read tracking values directly will stop working. Odoo provides a dedicated module for administrators who still need them.

What to test: find every custom report, export or integration that reads the history of field changes. Decide whether to install the tracking values module or rebuild the report on the new mechanism.

9. Icons and push notifications have changed

Font Awesome icons have been replaced by Material Symbols. Custom views and modules that reference Font Awesome icons will display missing or broken icons until they are updated. Push notifications now run on Odoo's own tools instead of Firebase, which matters to anyone who configured or integrated notification delivery.

10. Self hosted installations need a newer stack

For self hosted installations, the 20.0 source code requires Python 3.12 to 3.14 and PostgreSQL 16 or newer. If your server runs older versions, the infrastructure upgrade comes before the Odoo upgrade and should be planned and tested as a separate step.

Every custom or third party module also needs to be migrated to version 20 and tested. Budget this per module, not per project. A single integration with a warehouse scanner or a fiscal printer can take longer than the rest of the upgrade.


How to test the upgrade before it reaches production

Every "what to test" step above follows one rule: upgrade a copy of your database first, and let the people who do the work every day run their real processes in it. Odoo's upgrade platform lets you request a test database from any version, and it is the only reliable way to find out which of the ten changes affect you.

A test upgrade only helps if the right people use it. A test database that only the project lead opens proves very little. A structured test takes four steps.

  1. List the processes your company runs every week, from quotation to payment, purchase to stock, and payslip to bank.
  2. Mark which of them touch one of the ten changes in this article.
  3. Give each marked process to the person who runs it in production, with real records from last month, and ask them to complete it in the upgraded copy.
  4. Record every difference as a decision: accept the new behaviour, reconfigure, or rebuild a customisation. Assign each decision an owner and a deadline.

The fourth step is where upgrades usually stall. A renamed status or a removed menu is a technical fact. Deciding who retrains the collections team, or whether payroll rules are rebuilt before or after go-live, is a business decision. Until someone with authority makes it, the upgrade waits.

One cost to add to the plan: all AI features in Odoo 20 require credits bought as in app purchases. If you plan to use the new AI agents after the upgrade, estimate usage on the test copy before you build processes around them.

Contact Us

We'd love to hear from you! Whether you have questions, feedback, or need support, our team is here to help. Simply fill out the form below, and we aim to respond to all inquiries within 24 hours. Thank you for getting in touch!

Compartir esta publicación
Etiquetas