Upgrading your Odoo database involves transitioning from an older version to a newer, supported release, such as moving from Odoo 16.0 to Odoo 18.0. Regular upgrades are paramount for accessing the latest features, critical bug fixes, and essential security patches. It is highly recommended to operate on a supported version, as each major Odoo version receives support for a period of three years.

The necessity of a database upgrade can be mandatory, depending on your hosting solution and the specific Odoo version currently in use.

  • For databases on a major version (e.g., 16.0, 17.0, 18.0), an upgrade is required every two years to maintain compatibility and access to the latest improvements.
  • For databases on a minor version (e.g., 17.1, 17.2, 17.4), an upgrade becomes mandatory a few weeks after the subsequent minor version is released. These minor versions are typically introduced every two months.

Users will receive an in-database notification several weeks prior to an automatically scheduled mandatory upgrade. This provides ample time to prepare and manage the process before the designated deadline is reached, ensuring you retain control over your upgrade timeline.

The upgrade message prompt on the top right of the database

In practice, Odoo's dedicated Upgrade Team conducts a silent test upgrade for every database slated for an official upgrade. If this preliminary test is successful and completes within 20 minutes, you are then empowered to initiate the upgrade directly from your database interface. Should the test encounter any issues, you have the option to perform a test upgrade using the database manager to diagnose and resolve problems.

When you receive an invitation to upgrade your database, it is strongly advised to first request an upgraded test database. Dedicate sufficient time to thoroughly test this environment to ensure all functionalities are working as expected before proceeding with your production database.

It is important to note that if no action is taken before the specified due date, an automatic upgrade to the next version will be triggered, ensuring your system remains up-to-date.

An Odoo upgrade specifically encompasses database version transitions and does not cover the following scenarios:

  • Downgrading to a previous version of Odoo.
  • Switching editions, such as migrating from Odoo Community to Odoo Enterprise.
  • Changing hosting types, for instance, moving from an on-premise setup to Odoo Online.
  • Migrating data from another ERP system to Odoo.

Warning: If your database incorporates custom modules, it cannot be successfully upgraded until compatible versions of these custom modules are available for the target Odoo version. For customers who maintain their own custom modules, we highly recommend a parallelized approach: request an upgraded database simultaneously while upgrading the source code of your custom modules to ensure a smooth transition.

Upgrading Your Odoo Database: A Step-by-Step Overview

The upgrade process for your Odoo database can be summarized in these key steps:

  1. Request an upgraded test database to perform initial compatibility checks and testing.
  2. If your setup includes custom modules, upgrade the source code of these modules to ensure compatibility with the new Odoo version.
  3. Thoroughly test the upgraded database to identify and address any potential issues or discrepancies.
  4. Report any issues encountered during the testing phase to Odoo via the Support page, selecting “An issue related to my future upgrade (I am testing an upgrade)”.
  5. Once all issues are resolved and you are confident in the stability and functionality of the upgraded database, proceed to plan the upgrade of your production database.
  6. Request the upgrade for your production database. Be aware that this will render the database temporarily unavailable until the process is complete.
  7. Should any issues arise during the production upgrade, report them to Odoo through the Support page, selecting “An issue related to my upgrade (production)”.

Obtaining an Upgraded Test Database

The primary platform for initiating an upgraded database request is the dedicated Upgrade page. However, the method for upgrading can vary based on your hosting type. Options include upgrading via the command line for on-premise installations, through the Odoo Online database manager, or directly from your Odoo.sh project.

Steps to Upgrade an Odoo Online Database:

  1. Access the database manager.
  2. Select the specific database you wish to upgrade and click the "Manage" button.
  3. Within the Database section, click on "Upgrade".
  4. A popup window will appear, prompting you to:
    • Select the desired Odoo **version** for the upgrade, typically opting for the latest available version.
    • Provide an email address where a notification, including a link to the upgraded database, will be sent.
    • Choose the "Purpose" of the upgrade, which defaults to "Test" for your initial upgrade request, indicating you are creating a test environment.
    • Click "Upgrade" to commence the process.

During the upgrade process, the "Connect" button in the database manager will be replaced by an unclickable "Upgrading…" status indicator. Upon successful completion, an email containing a link to your upgraded test database will be dispatched to the provided address. Alternatively, the test database can be accessed directly from the database manager by clicking the caret-down button next to the database name to reveal the test version, then clicking "Connect".

Note: You have the flexibility to request multiple test databases if you wish to conduct several rounds of testing or explore different upgrade scenarios.

Note: Once an upgrade request is finalized, an upgrade report is included with the successful upgrade email. This report also becomes accessible within the Discuss app for users belonging to the "Administration / Settings" group, providing crucial insights into the changes introduced by the new version.

Testing the New Version of the Database

It is critically important to thoroughly test the upgraded test database. This ensures that your daily operations will not be disrupted by changes in views, altered behaviors, or unexpected error messages once the upgrade of your production environment goes live. A comprehensive testing phase is vital for a smooth transition.

Note: Test databases are neutralized environments. Certain features are temporarily disabled to prevent any unintended impact on your live production database. Specifically:

  1. Scheduled actions are disabled.
  2. Outgoing mail servers are deactivated by archiving existing ones and establishing a temporary, fake server.
  3. Payment providers and delivery carriers are reset to their test environment configurations.
  4. Bank synchronization is disabled. If you need to test synchronization, you should contact your bank synchronization provider to obtain sandbox credentials.

We strongly recommend testing as many of your critical business flows as possible. This approach helps confirm that all processes function correctly and allows your team to become familiar with the new version's interface and functionalities.

Basic Test Checklist:

  • Are there views that are currently deactivated in your test database but are active in your production database?
  • Are your customary views still displayed and functioning correctly?
  • Are your reports (e.g., invoices, sales orders) generated accurately?
  • Are your website pages loading and operating as expected?
  • Can you successfully create and modify records (e.g., sales orders, invoices, purchases, users, contacts, companies)?
  • Are there any issues with your mail templates or their rendering?
  • Are there any issues with previously saved translations?
  • Are your custom search filters still present and effective?
  • Can you export your data without encountering problems?

Extended Testing Scenarios:

  • Select a random product from your product catalog and meticulously compare its data in both the test and production environments to verify consistency across product categories, selling prices, cost prices, vendors, accounts, and routes.
  • Proceed to purchase this selected product using the Purchase app in the test environment.
  • Confirm the reception of this product within the Inventory app.
  • Verify that the route used to receive this product is identical to the one configured in your production database via the Inventory app.
  • Sell this product to a random customer using the Sales app.
  • Open your customer database (Contacts app), select a customer (or company), and thoroughly check its associated data.
  • Ship this product using the Inventory app.
  • Confirm that the route used to ship this product matches the configuration in your production database via the Inventory app.
  • Validate a customer invoice using the Invoicing or Accounting app.
  • Issue a credit note for the invoice and observe if it behaves consistently with your production database.
  • Review the results of your reports within the Accounting app.
  • Randomly check your tax configurations, currencies, bank accounts, and fiscal year settings in the Accounting app for accuracy.
  • Place an online order through your Website apps, from product selection in your shop to the checkout process, and confirm that all steps behave identically to your production database.

This list serves as a foundational guide and is **not exhaustive**. You should expand these examples to cover all other Odoo applications relevant to your specific business usage.

Should you encounter any issues while testing your upgraded test database, you can seek assistance from Odoo by visiting the Support page and selecting “An issue related to my future upgrade (I am testing an upgrade)”. It is imperative to report any problem discovered during testing to ensure it can be resolved before proceeding with the upgrade of your production database.

During testing, you may observe notable differences in standard views, features, fields, and models. These changes cannot be individually reverted. However, if a new version introduces a change that breaks a customization, it becomes the responsibility of your custom module's maintainer to ensure its compatibility with the new Odoo version.

Tip: When conducting your tests, remember to include the following crucial areas:

  • Integrations with external software, such as EDI systems and APIs.
  • Workflows that span multiple applications (e.g., online sales with eCommerce, converting a lead through to a sales order, and product delivery).
  • Data export functionalities.
  • Automated actions and their triggers.
  • Server actions accessible from the action menu on form views, as well as those initiated by selecting multiple records on list views.

Upgrading the Production Database

Once your testing phases are successfully completed and you are fully confident that the upgraded database will operate without issues as your primary system, it is time to meticulously plan your go-live day for the production upgrade.

During the upgrade process, your production database will be temporarily unavailable. Therefore, we highly recommend scheduling the upgrade for a period when database usage is minimal to minimize disruption to your operations.

Given that standard upgrade scripts and your database environment are continuously evolving, it is also advisable to frequently request an additional upgraded test database. This practice helps ensure that the upgrade process remains consistently successful, especially if the completion time is prolonged. Furthermore, **a full rehearsal of the entire upgrade process the day before the actual production database upgrade is strongly recommended** to catch any last-minute issues.

Important: Proceeding with a production upgrade without prior thorough testing can lead to significant consequences, including:

  • Users struggling to adapt to new features and interface changes.
  • Business interruptions, such as the inability to validate critical actions.
  • A poor customer experience, especially for public-facing elements like a malfunctioning eCommerce website.

The process for upgrading a production database largely mirrors that of upgrading a test database, with a few critical distinctions.

The procedure is very similar to obtaining an upgraded test database, with the key difference being that the 'Purpose' option must be explicitly set to "Production" instead of "Test".

Warning: Once an upgrade for your production database is requested, the database will remain inaccessible until the upgrade is finished. It is crucial to understand that after the process is completed, reverting to the previous version is not possible.

Should any issues arise with your production database post-upgrade, you can obtain assistance from Odoo by visiting the Support page and selecting “An issue related to my upgrade (production)”.

Service-Level Agreement (SLA) for Odoo Upgrades

With an Odoo Enterprise subscription, upgrading your database to the most recent version of Odoo is provided **free of charge**. This includes any necessary support required to address and rectify potential discrepancies that may arise in the upgraded database, ensuring a seamless transition.

Detailed information regarding the upgrade services covered under the Enterprise License can be found in the Odoo Enterprise Subscription Agreement. This section aims to further clarify the specific upgrade services you can anticipate.

Upgrade Services Covered by the SLA:

Databases hosted on Odoo's official cloud platforms (Odoo Online and Odoo.sh), as well as self-hosted (On-Premise) installations, are eligible to benefit from upgrade services at all times. These services specifically cover:

  • The upgrade of all **standard Odoo applications**.
  • The upgrade of all **customizations developed using the Odoo Studio app**, provided that Studio remains installed and the corresponding subscription is active.
  • The upgrade of all **developments and customizations that are covered by an active maintenance of customizations subscription**.

It is important to understand that these upgrade services are primarily limited to the technical conversion and adaptation of a database (including standard modules and data) to ensure its compatibility with the targeted Odoo version.

Upgrade Services Not Covered by the SLA:

The following upgrade-related services are explicitly **not** included within the scope of the Service-Level Agreement:

  • The **cleaning** of pre-existing data and configurations during the upgrade process.
  • The upgrade of **additional modules not covered by a maintenance contract**, which may have been created in-house or by third-party providers, including Odoo partners.
  • **Training** on how to effectively use the features and workflows introduced in the upgraded version of Odoo.
Was this answer helpful? 0 Users Found This Useful (0 Votes)