What is an upgrade in the context of Odoo?
An upgrade is the process of moving your database from an older version to a newer supported version (e.g., Odoo 14.0 to Odoo 17.0).
In the Odoo world an upgrade must be done carefully. Sadly you cannot just pop the new version on top, and expect everything to just work.
Fortunately there are 2 tools to help aid this upgrade process, which we will cover later.
Why upgrade at all?
The basic stuff
Frequently upgrading is essential as each version comes with new and improved features, bug fixes, and security patches, but more importantly as older versions fall out of support Odoo SA no longer delivers bug fixes or security patches.
Whilst we can, and do help manage out of support installations at glo, we do strongly encourage you to upgrade.
If you're looking for help with Odoo 14 or prior, and your partner isn't willing to help, please reach out.
The cool stuff in Odoo 17
We've embedded the official Odoo SA launch video to the left, but...
...here's the head line features if you prefer it as text, along with our thoughts:
- A brand new modern UI and icon set, with light and dark mode support (this one is controversal, some love it, some hate it)
- 36% faster (in general)
- WhatsApp Business integration in chatter across the board
- Odoo Studio now supports webhooks natively
- AI integration in website, and other areas of Odoo, to help generate content
- New website blocks and templates
- Improved default eCommerce / shop that adds features you'd expect to see on any modern website
- Subscriptions are now integrated into the customer portal
- Sales app now has an optional "catalog" to ease adding products to a quotation / sale order, in a more eCommerce-style way
- Restaurant, kitchen and food self service apps have been improved, including using table QR Codes to order
- Stage duration tracking in CRM and Helpdesk (how long it was left in a specific stage)
- Automatic translation in chatter
- Kanban automations help items between Kanban stages automatically via an awesome new UI
- Documents app can more easily manage multi-page apps, including tools to help split them
- Easier to create deferred expenses against bills
- Company Branches (think sub-companies)
- Support for Peppol E-Invoicing
- Odoo Spreadsheets support version history
- Smoother In-Odoo livechat and voice and video calls bring Odoo chat and discuss closer to other popular chat based collaboration tools (like Slack, Teams, or Discord)
- Knowledge articles can now be exported (if you're looking for this for earlier versions, we did write a custom module to do this)
- A new Manufacturing Overview can help untangle why a manufacturing order cannot be processed
- A new Shop Floor module makes it easier to work on manufacturing orders by optimising the UI for exactly what you need, with larger buttons
- HR modules have AI integration to pull out skills from a PDF
- There's a new FrontDesk app to allow visitors to check in
- There's a new room app to help track meeting or event rooms
- A new button on the top right to help log your timesheets, from any screen in Odoo
- A new Todo app!
- "Meta" or "Industry" apps that help you pre-configure Odoo for a specific industry (think of it as an app that installs lots of other apps for you)
What does an upgrade actually look like? How do you do one?
Odoo probably runs your business. It's really important an upgrade is carefully considered.
Between major versions Odoo SA makes incompatible changes and these need to be handled with care, especially if you've customised your installation using Studio, or custom programming.
Because it is really important, we classify and handle upgrades as standalone projects.
There are 2 paths to perform an Odoo upgrade:
- Odoo SA Enterprise Upgrade Service
Requires a valid Odoo Enterprise subscription. If you have an Enterprise edition of Odoo, this is your only option. But it can be used for Community edition as well. - OpenUpgrade
Free, but this only covers upgrading Odoo Community between versions. It is maintained by the OCA (Odoo Community Association - if you're not familiar they're a non-profit entity not related to Odoo SA). This can lag behind the Odoo SA Enterprise Upgrade Service, and may not cover everything you need. However, you do get the full source code, which can be invaluable.
For the remainder of this we'll only be considering the Odoo SA Enterprise Upgrade Service route, because it's the most applicable to most of our customers.
We've had upgrade projects take between a week and multiple months. It really does depend how much custom code you've added.
When you're with glo, this is what an Enterprise upgrade project looks like:
- Before we do anything we establish what state your current database is in:
- How close to standard is this database?
- How many Studio modifications does it have? How significant are they?
- How much custom code does it have? Does this custom code touch any areas of Odoo we know have had significant changes? Are there enough tests for us to know if we've broken something?
- Are there apps that were purchased from the App Store which need newer versions purchasing? If they're not available, what would the plan be for migration?
- How close to standard is this database?
- We provide a ballpark time estimate based on what we've found and where we think the most time will be spent before we do anything else.
We generally deal with all upgrade projects as "time and materials" because it's really hard to know every possibility you'll run into, especially if you need to jump multiple versions. - We then take a backup of your production database, and submit it to the Odoo SA Enterprise Upgrade Service.
The Upgrade Service takes your database backup, runs through the official migrations to convert your database to the newer version. It can only do this for standard apps and modules.
Depending on the size of your database this may take several hours. The largest database we upgraded from 12 to 15 took 9 hours alone on this step, each time.
This may fail. If so we investigate the logs, sometimes submit tickets to Odoo SA, or we handle the issue ourselves, and then repeat.
When it succeeds the Upgrade Service provides a new backup which we can use with the newer version of Odoo. - If applicable, we then take upgrade the source code of your custom modules to be compatible with the new
version of Odoo. This may mean planning a deprecation and migration to now standard features. It may mean completely rewriting a feature to accomodate the changes.
An example of this is between Odoo 12 and 13 the accounting module was quite fundamentally altered to significantly speed it up. A customer with significant and non-cosmetic changes to the accounting system required quite a lot of time to be spend in the port and validation of those features. Whilst they have benefited the most from migrating to 12, due to the amount of invoicing they do, it was a long winded process. Internally to Odoo these are often called 'apocalypse' changes. Fortunately they do not happen often. - We then restore the test database, and figure out what's broken by running automatic and manual tests.
We may need to write some custom fix scripts to deal with things that the Odoo SA Upgrade Service has failed to handle correctly. The more versions you jump between the more likely this needs to be done. - We will need to repeat steps 3 to 5 multiple times.
- Once we are happy that it's in a state that we aren't running into issues, we provide you with a test installation to perform your own testing and sign off.
We also use this to practise the migration process, and time it, as-if it were a real migration. We will advise you of this time so you understand how much down time to expect.
It's really tempting to add new features, or change existing ones, before delivering the production upgrade. It's important not to get too excited and start expanding the scope of the upgrade to include other things that could be dealt with after. The danger is a never ending upgrade. - Once all issues are resolved and you are confident that the upgraded database can be used as your main database without any issues
- We plan when we will stop your production install and perform the upgrade. We can accomodate out of hours. In some cases you may have no option due to how long the upgrade service can take.
- Work with you to help you understand what the roll back plan is should something unexpected happen
- And ensure everyone is clear when the point of no return is (when a rollback is no longer practically feasible - i.e. you've processed a large amount of stock movements, or new sales orders)
- We plan when we will stop your production install and perform the upgrade. We can accomodate out of hours. In some cases you may have no option due to how long the upgrade service can take.
- We perform the real upgrade, and then you're on the newer/target version.
Looking to Upgrade?
We're prioritising existing customers, but we're very happy to help everyone.
Slots for 2024 are rapidly filling up. The sooner you can reach out, the better!