Upgrade

An upgrade involves moving a database from an older version to a newer supported version (e.g., from Odoo 15.0 to Odoo 17.0). Regular upgrades are crucial as each version offers new features, bug fixes, and security patches. Using a supported version is strongly recommended. Each major version is supported for three years.

Depending on the hosting type and Odoo version used, a database upgrade can be mandatory.

  • If a database is on a major version (e.g., 15.0, 16.0, 17.0), an upgrade is mandatory every two years.

  • If a database is on a minor version (e.g., 17.1, 17.2, 17.4), an upgrade is mandatory a few weeks after the next version is released. Minor versions are usually released every three months.

You will receive a notification in your database a few weeks before a mandatory upgrade will be automatically carried out. You are in control of the process as long as the deadline is not reached.

The upgrade message prompt on the top right of the database

Concretely, Odoo’s Upgrade Team performs a silent test upgrade of every database that should be upgraded. If the test is successful and lasts less than 20 minutes, you can directly trigger the upgrade from the database. If the test fails, you can test an upgrade using the database manager.

When you are invited to upgrade, it is strongly recommended to request an upgraded test database first and spend time testing it.

An automatic upgrade to the next version will be triggered if no action is taken before the specified due date.

An upgrade does not cover:

  • Downgrading to a previous version of Odoo

  • Switching editions (e.g., from Community to Enterprise)

  • Changing hosting type (e.g., from on-premise to Odoo Online)

  • Migrating from another ERP to Odoo

Warning

If your database contains custom modules, it cannot be upgraded until a version of your custom modules is available for the target version of Odoo. For customers maintaining their own custom modules, we recommend to parallelize the process by requesting an upgraded database while also upgrading the source code of your custom modules.

Upgrading in a nutshell

  1. Request an upgraded test database (see obtaining an upgraded test database).

  2. If applicable, upgrade the source code of your custom module to be compatible with the new version of Odoo (see Upgrade a customized database).

  3. Thoroughly test the upgraded database (see testing the new version of the database).

  4. Report any issue encountered during the testing to Odoo by going to the Support page and selecting “An issue related to my future upgrade (I am testing an upgrade)”.

  5. Once all issues are resolved and you are confident that the upgraded database can be used as your main database without any issues, plan the upgrade of your production database.

  6. Request the upgrade for the production database, rendering it unavailable for the time it takes to complete the process (see upgrading the production database).

  7. Report any issue encountered during the upgrade to Odoo by going to the Support page and selecting “An issue related to my upgrade (production)”.

Obtaining an upgraded test database

The Upgrade page is the main platform for requesting an upgraded database. However, depending on the hosting type, you can upgrade from the command line (on-premise), the Odoo Online database manager, or your Odoo.sh project.

Note

The Upgrade platform follows the same Privacy Policy as the other Odoo.com services. Visit the General Data Protection Regulation page to learn more about how Odoo handles your data and privacy.

Odoo Online databases can be manually upgraded via the database manager.

The database manager displays all databases associated with the user’s account. Databases not on the most recent version of Odoo display an arrow in a circle icon next to their name, indicating that they can be upgraded.

The database manager with an upgrade button next to the name of a database.

Click the arrow in a circle icon to start the upgrade process. In the popup, fill in:

  • The version of Odoo you want to upgrade to, usually the latest version

  • The email address that should receive the link to the upgraded database

  • The Purpose of the upgrade, which is automatically set to Test for your first upgrade request

The "Upgrade your database" popup.

The Upgrade in progress tag is displayed next to the database name until completion. Once the process succeeds, an email containing a link to the upgraded test database is sent to the address provided. The database can also be accessed from the database manager by clicking the dropdown arrow before the database name.

Clicking the menu arrow displays the upgraded test database.

Note

You can request multiple test databases if you wish to test an upgrade more than once.

Note

When an upgrade request is completed, an upgrade report is attached to the successful upgrade email, and it becomes available in the Discuss app for users who are part of the “Administration / Settings” group. This report provides important information about the changes introduced by the new version.

Testing the new version of the database

It is essential to test the upgraded test database to ensure that you are not stuck in your day-to-day activities by a change in views, behavior, or an error message once the upgrade goes live.

Note

Test databases are neutralized, and some features are disabled to prevent them from impacting the production database:

  1. Scheduled actions are disabled.

  2. Outgoing mail servers are disabled by archiving the existing ones and adding a fake one.

  3. Payment providers and delivery carriers are reset to the test environment.

  4. Bank synchronization is disabled. Should you want to test the synchronization, contact your bank synchronization provider to get sandbox credentials.

Testing as many of your business flows as possible is strongly recommended to ensure they are working correctly and to get more familiar with the new version.

Basic test checklist

  • Are there views that are deactivated in your test database but active in your production database?

  • Are your usual views still displayed correctly?

  • Are your reports (invoice, sales order, etc.) correctly generated?

  • Are your website pages working correctly?

  • Are you able to create and modify records? (sales orders, invoices, purchases, users, contacts, companies, etc.)

  • Are there any issues with your mail templates?

  • Are there any issues with saved translations?

  • Are your search filters still present?

  • Can you export your data?

  • Checking a random product in your product catalog and comparing its test and production data to verify everything is the same (product category, selling price, cost price, vendor, accounts, routes, etc.).

  • Buying this product (Purchase app).

  • Confirming the reception of this product (Inventory app).

  • Checking if the route to receive this product is the same in your production database (Inventory app).

  • Selling this product (Sales app) to a random customer.

  • Opening your customer database (Contacts app), selecting a customer (or company), and checking its data.

  • Shipping this product (Inventory app).

  • Checking if the route to ship this product is the same as in your production database (Inventory app).

  • Validating a customer invoice (Invoicing or Accounting app).

  • Crediting the invoice (issuing a credit note) and checking if it behaves as in your production database.

  • Checking your reports’ results (Accounting app).

  • Randomly checking your taxes, currencies, bank accounts, and fiscal year (Accounting app).

  • Making an online order (Website apps) from the product selection in your shop until the checkout process and checking if everything behaves as in your production database.

This list is not exhaustive. Extend the example to your other apps based on your use of Odoo.

If you face an issue while testing your upgraded test database, you can request the assistance of Odoo by going to the Support page and selecting “An issue related to my future upgrade (I am testing an upgrade)”. In any case, it is essential to report any problem encountered during the testing to fix it before upgrading your production database.

You might encounter significant differences with standard views, features, fields, and models during testing. Those changes cannot be reverted on a case-by-case basis. However, if a change introduced by a new version breaks a customization, it is the responsibility of the maintainer of your custom module to make it compatible with the new version of Odoo.

Tip

Do not forget to test:

  • Integrations with external software (EDI, APIs, etc.)

  • Workflows between different apps (online sales with eCommerce, converting a lead all the way to a sales order, delivery of products, etc.)

  • Data exports

  • Automated actions

  • Server actions in the action menu on form views, as well as by selecting multiple records on list views

Upgrading the production database

Once the tests are completed and you are confident that the upgraded database can be used as your main database without any issues, it is time to plan the go-live day.

Your production database will be unavailable during its upgrade. Therefore, we recommend planning the upgrade at a time when the use of the database is minimal.

As the standard upgrade scripts and your database are constantly evolving, it is also recommended to frequently request another upgraded test database to ensure that the upgrade process is still successful, especially if it takes a long time to finish. Fully rehearsing the upgrade process the day before upgrading the production database is also recommended.

Important

Going into production without first testing may lead to:

  • Users failing to adjust to the changes and new features

  • Business interruptions (e.g., no longer having the possibility to validate an action)

  • Poor customer experience (e.g., an eCommerce website that does not work correctly)

The process of upgrading a production database is similar to upgrading a test database, but with a few exceptions.

The process is similar to obtaining an upgraded test database, except for the purpose option, which must be set to Production instead of Test.

Warning

Once the upgrade is requested, the database will be unavailable until the upgrade is finished. Once the process is completed, it is impossible to revert to the previous version.

In case of an issue with your production database, you can request the assistance of Odoo by going to the Support page and selecting “An issue related to my future upgrade (I am testing an upgrade)”.

Service-level agreement (SLA)

With Odoo Enterprise, upgrading a database to the most recent version of Odoo is free, including any support required to rectify potential discrepancies in the upgraded database.

Information about the upgrade services included in the Enterprise Licence is available in the Odoo Enterprise Subscription Agreement. However, this section clarifies what upgrade services you can expect.

Upgrade services covered by the SLA

Databases hosted on Odoo’s cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can benefit from upgrade services at all times for:

  • the upgrade of all standard applications;

  • the upgrade of all customizations created with the Studio app, as long as Studio is still installed and the respective subscription is still active; and

  • the upgrade of all developments and customizations covered by a maintenance of customizations subscription.

Upgrade services are limited to the technical conversion and adaptation of a database (standard modules and data) to make it compatible with the version targeted by the upgrade.

Upgrade services not covered by the SLA

The following upgrade-related services are not included:

  • the cleaning of pre-existing data and configurations while upgrading;

  • the upgrade of additional modules not covered by a maintenance contract that are created in-house or by third parties, including Odoo partners; and

  • training on using the upgraded version’s features and workflows.