Skip to content
Odoo Upgrade

Managing Custom Workflow Automations During Odoo Platform Upgrades

A practical guide for IT leaders and ERP consultants on assessing, testing, and migrating custom workflow automations during Odoo version upgrades to minimize risk and ensure operational continuity.

6 min readSysGenPro Editorial
Managing Custom Workflow Automations During Odoo Platform Upgrades

Direct Answer: How to Manage Custom Workflow Automations During Odoo Upgrades

Managing custom workflow automations during Odoo platform upgrades requires a structured approach focused on dependency analysis, isolated testing, and rigorous validation. The primary risk is that custom code, which often relies on specific internal APIs or model structures, may break when the underlying Odoo version changes. To mitigate this, organizations must first inventory all custom modules and their dependencies. Next, they should replicate the production environment in a staging area to test the upgrade path. Finally, they must execute a phased deployment with clear rollback criteria. This process ensures that business-critical automations, such as approval chains and automated notifications, continue to function without data loss or operational downtime.

Assessment and Dependency Analysis

The first step in managing custom workflows is a comprehensive audit of the current Odoo instance. This involves identifying all custom modules, third-party add-ons, and any direct database manipulations that bypass the standard ORM. Each module must be mapped to the specific Odoo version it was developed for. Compatibility is not guaranteed across versions, especially when moving from Community to Enterprise or across major version releases. Teams should review the source code for deprecated API calls, changed model fields, and modified security rules. It is critical to verify which workflows are hard-coded versus those defined in the UI, as UI-defined workflows may be more resilient to minor updates but still require validation.

Identifying Critical Workflows

Not all workflows carry the same business risk. Teams should categorize automations into critical, important, and low-priority. Critical workflows include those that handle financial transactions, inventory movements, and customer order processing. These require the most rigorous testing and have the lowest tolerance for failure. Important workflows might include internal reporting or non-urgent notifications. Low-priority workflows can be monitored post-upgrade. This prioritization helps allocate testing resources effectively and ensures that the most impactful business processes are validated first.

Preparing the Staging Environment

A representative staging environment is essential for validating custom workflow behavior. This environment should mirror the production database structure, data volume, and configuration. However, it must be isolated to prevent accidental data corruption. Before upgrading, take a full backup of the production database and restore it to the staging server. Apply the target Odoo version to this restored database. This allows developers to run the upgrade scripts and observe how the database schema changes. It is important to note that the upgrade process may alter table structures, which can impact custom SQL queries or direct database access points in custom code.

Simulating Real-World Scenarios

Testing should not be limited to basic functionality. Teams must simulate real-world scenarios that trigger the custom workflows. For example, if a workflow automates invoice approval, create test invoices that meet the specific criteria for automation. Verify that the correct users are notified, that the status changes as expected, and that any related records are updated. This end-to-end testing helps identify subtle issues that unit tests might miss, such as timing problems or race conditions in concurrent operations.

Code Refactoring and Compatibility Fixes

During the testing phase, developers will likely encounter errors related to deprecated APIs or changed model fields. These issues must be addressed by refactoring the custom code. For instance, if a custom module uses a field that has been renamed or removed in the new Odoo version, the code must be updated to use the new field name. Similarly, if the ORM methods have changed, the custom code must be adjusted to use the new methods. It is important to document all changes made to the custom code to ensure that the modifications are understood and can be maintained in the future.

Handling Deprecated APIs

Odoo regularly deprecates certain APIs to improve performance and maintainability. Custom modules that rely on these deprecated APIs will fail during the upgrade. Developers should review the official Odoo release notes for the target version to identify any deprecated APIs. They should then refactor the custom code to use the recommended alternatives. This process may require significant effort, especially if the custom code is complex or tightly coupled to the deprecated APIs. In some cases, it may be more efficient to rewrite the custom module from scratch using the new APIs.

Testing and Validation Strategies

A robust testing strategy is crucial for ensuring that custom workflows function correctly after the upgrade. This includes unit tests, integration tests, and user acceptance testing (UAT). Unit tests should verify that individual functions and methods in the custom code work as expected. Integration tests should verify that the custom modules interact correctly with other Odoo modules and external systems. UAT should involve key business users who can validate that the workflows meet their business requirements. All tests should be documented, and any defects found should be tracked and resolved before the production upgrade.

Regression Testing

Regression testing is essential to ensure that the upgrade does not break existing functionality. This involves re-running tests that were previously passing to confirm that they still pass after the upgrade. Regression testing should cover all critical workflows and any other functionality that may be affected by the upgrade. It is important to automate regression testing where possible to reduce the time and effort required for manual testing. Automated tests can be run frequently, allowing teams to catch issues early in the development process.

Cutover Planning and Execution

The cutover phase is the most critical part of the upgrade process. It involves switching from the old Odoo version to the new version in the production environment. A detailed cutover plan should be developed, including a timeline, responsibilities, and rollback criteria. The cutover should be performed during a maintenance window to minimize downtime. Before the cutover, take a final backup of the production database. During the cutover, apply the upgrade scripts and verify that the system is functioning correctly. If any issues are found, the rollback plan should be executed immediately.

Go/No-Go Criteria

Clear go/no-go criteria should be established before the cutover. These criteria should include the successful completion of all critical tests, the resolution of all high-priority defects, and the approval of key stakeholders. If any of these criteria are not met, the cutover should be postponed. This approach helps ensure that the upgrade is only performed when the system is ready, reducing the risk of failure and minimizing the impact on business operations.

Post-Upgrade Stabilization

After the upgrade is complete, the system should be monitored closely for any issues. This includes monitoring system performance, error logs, and user feedback. Any issues found should be addressed promptly. It is also important to communicate with users about the upgrade and provide them with support resources. This helps ensure that users are aware of any changes and can get help if they encounter problems. Post-upgrade stabilization is an ongoing process that continues until the system is stable and all issues have been resolved.

Performance Monitoring

Written by
SysGenPro Editorial

SysGenPro Editorial

Platform & solutions team

Practical guidance on ERP, AI automation, cloud deployment and enterprise transformation from the SysGenPro team.

Share this article
Continue learning
View all articles
Explore the platform

Where to go next

Browse the knowledge hub

See how SysGenPro fits your business

Discuss your workflows, modules and deployment options with our team.

Back to resources