Odoo 19 Upgrade Guide

Odoo 19 Upgrade: A Practical Checklist for UAE Businesses

Star Bit Solutions10 min read

A smooth Odoo 19 upgrade is a rehearsed one. This checklist follows Odoo's official process, from listing customizations and testing an upgraded copy to timing the cut-over around UAE VAT deadlines and planning a rollback.

An upgrade checklist bridging Odoo 18 and Odoo 19 version tiles, with steps for modules, test copy, user testing, go-live and rollback
Scroll

Key takeaways

  • List every custom module, third-party module, Studio change and integration first: a database cannot upgrade until its custom modules support Odoo 19.
  • Request upgraded test databases early and often, read the upgrade report, and compare trial balance, stock, VAT and payroll with production.
  • Test the Odoo 19 changes that reshape data, such as merged units and packagings, fiscal positions, employees and contracts, and expenses.
  • Schedule the cut-over clear of the VAT return window, month-end payroll and year-end, rehearse it the day before and agree a rollback plan.

Odoo 19 has been out for two weeks. For a UAE business already on Odoo, the practical question is how to get there without disrupting invoicing, stock or payroll. New to the release? Start with what is new in Odoo 19 for UAE businesses.

An Odoo 19 upgrade is not a reinstall. Odoo's upgrade platform converts your database to the new version, but everything that makes the database yours, from custom modules to Studio changes, reports and integrations, has to be checked by people who know it. This checklist follows Odoo's official upgrade process and adds the timing questions specific to the UAE.

Before You Start: Is Now the Right Time?

Odoo supports each major version for three years, so a supported older version keeps working while you prepare, although support for Odoo 16 ended in September 2025. Deadlines depend on hosting. On Odoo Online, a database on a major version must be upgraded every two years, with a notice a few weeks before a mandatory upgrade. On Odoo.sh, you must upgrade within two years of a version's end of support. On your own server, you can stay on one version indefinitely, although Odoo does not recommend it.

Two points shape the plan. The smaller the gap between versions, the easier the upgrade. And an upgrade never changes edition or hosting: moving from Community to Enterprise, or from your own server to Odoo Online, is a separate project, even if you run both together. If the edition question is still open, our guide to choosing between Odoo Enterprise and Community sets out the differences.

Step 1: List Every Customization and Decide Its Future

Start with a written inventory of everything that is not standard Odoo. Odoo treats any module that extends the standard code and was not built with Studio as a custom module, and a database with custom modules cannot be upgraded until each one has a version for the target release.

  • Custom modules written for you, with their source code and who maintains them.
  • Third-party modules from the Odoo App Store or other vendors, noting whether an Odoo 19 version exists.
  • Studio changes: added fields, edited views, report layouts and automation rules.
  • Server and automated actions, email templates and custom reports.
  • Integrations: banks, payment providers, eCommerce platforms, couriers and anything that uses Odoo's API.

Then challenge each item. Odoo recommends freezing development and comparing your customizations with what the new version does as standard: anything Odoo 19 covers natively, such as sections on quotations or suggested purchase quantities, no longer needs porting. For each one that stays, our guide on when to configure, use Studio or write code helps you choose the cleanest layer.

What Odoo's Upgrade Service Covers

With Odoo Enterprise, upgrading to the most recent version is free, including support to fix discrepancies in the upgraded database. The service has clear limits, so plan for the parts it leaves to you.

ItemCovered by Odoo's upgrade service?
Standard apps and their dataYes
Studio customizationsYes, while Studio is installed and its subscription is active
Custom modules built in-house or by partnersOnly with a maintenance of customizations subscription
Cleaning existing data and configurationNo
Training on the new versionNo

Odoo Community has no official upgrade service, so a Community upgrade runs as a migration project, usually with the community OpenUpgrade tools once they support the new version, plus the same porting and testing.

Step 2: Request an Upgraded Test Database

The first test upgrade shows whether the standard conversion works on your data, and how you request it depends on where Odoo runs.

HostingHow to request a test upgradeWhat to know
Odoo OnlineFrom the database manager, with the purpose set to TestCustom Python modules cannot run here, so the work is testing Studio changes and training
Odoo.shFrom your project, on a staging branchThe latest daily production backup is upgraded, then restored with your custom modules updated on every commit
On-premiseThrough upgrade.odoo.com or Odoo's command-line scriptThe upgraded dump arrives without the production filestore, which you merge before testing

On your own server, the test request is a single command run where the database is hosted: python <(curl -s https://upgrade.odoo.com/upgrade) test -d your_database -t 19.0. The script needs database access and outbound connections to Odoo's upgrade servers, so check your firewall first. Odoo allows several test upgrades, and each one is worth it.

Test databases are neutralized so they cannot touch live operations: scheduled actions are disabled, outgoing mail goes nowhere, payment providers and carriers switch to test mode, and bank synchronization is off. When the upgrade finishes, Odoo attaches an upgrade report to the confirmation email and posts it in Discuss for administrators. Read it: it lists the changes, including any views Odoo disabled because they no longer worked.

Have a question about this guide? Ask the engineers who wrote it.

Step 3: Port Custom Modules and Check the Data

Developers first make each custom module install cleanly on an empty Odoo 19 database, then on the upgraded copy. Odoo's guide to upgrading a customized database lists the usual breakages, such as references to fields, models or views that were renamed or removed, view changes that no longer find their anchor, and renamed methods. Views, email templates, reports, server and automated actions, and computed fields deserve the closest testing.

Finance should then compare the upgraded copy with production at the same cut-off date:

  • The trial balance, account by account.
  • Receivable and payable balances by customer and vendor.
  • Stock quantities and valuation by warehouse.
  • Open sales orders, purchase orders and deliveries.
  • A VAT period you have already filed, regenerated on the copy and compared box by box with the VAT201 you submitted.
  • Last month's payroll totals, if you run payroll in Odoo.

Odoo 19 Changes to Test Closely

Some Odoo 19 changes reshape existing data, so give each one its own test case.

  • Units and packagings are merged into one model and unit of measure categories are removed: check products sold by the piece, carton or pallet.
  • Fiscal positions no longer hold tax mappings, as each tax now declares where it applies: check exports and other special VAT cases.
  • Employees and contracts are merged, with versioning: check contract history and payroll inputs.
  • Expense reports are removed: check how expenses are submitted and approved.
  • Contacts lose the "Mobile" field, with its value logged in the chatter: check WhatsApp and SMS flows.
  • Purchase orders replace the "Done" status with a lock: check reports and filters that relied on it.

Step 4: User Acceptance Testing and Training

User acceptance testing (UAT) is where the people who use Odoo every day repeat their real work on the upgraded copy. Name one key user per department and give each a short script built from real tasks, not a tour of new features.

Odoo's own end-to-end example makes a good template: buy a product, receive it, sell it, ship it, invoice it and issue a credit note, then check reports, taxes, currencies, bank accounts and the fiscal year. Add your UAE specifics, such as a VAT201 preview, a pay run and the Wage Protection System (WPS) file if you run payroll in Odoo Enterprise, and an online order if you sell on your website.

Ask each key user to sign off in writing when their script passes. Odoo's documentation also flags easily forgotten items: integrations, data exports, automated actions and server actions in the action menu. Then train every role on the screens that changed, in short sessions close to go-live.

Step 5: Time the Cut-over around UAE Deadlines

Your production database is unavailable while it upgrades, and any change made after the copy is uploaded does not reach the upgraded version. Odoo therefore recommends upgrading when use is minimal, requesting a fresh test upgrade if time has passed and rehearsing the whole process the day before.

In the UAE, the finance calendar usually decides the window:

  • VAT returns are due within 28 days of the end of each tax period, as the UAE government portal explains. For a quarter ending 30 September 2025, the return is due by 28 October 2025, and our quarter-end VAT workflow shows what to finish first.
  • Corporate tax returns are due within nine months of the end of the tax period, as the Ministry of Finance explains, so for a company with a calendar financial year, the return for 2024 fell due on 30 September 2025.
  • Payroll runs and the WPS salary file at each month-end.
  • The year-end close and audit for companies with a calendar financial year.

Note: these dates are general guidance, not tax advice, so check the latest guidance from the Federal Tax Authority for your own tax periods.

A Worked Example

Imagine a distributor on Odoo 18 Enterprise that files VAT returns on calendar quarters and runs payroll in Odoo. Its plan could look like this:

  1. Early October: list customizations and request the first test upgrade.
  2. October: port custom modules and run the data checks, while filing the third-quarter VAT return on the current system by 28 October.
  3. Early November: a second test upgrade, user acceptance testing and sign-off.
  4. Mid-November: a rehearsal, then the production upgrade on a quiet weekend between the October and November payroll runs.
  5. The weeks after: hypercare, with engineers on hand while users settle in and the November pay run as the first big test.

If the plan slips, pick a later quiet window rather than squeezing the cut-over into December, when the year-end close begins.

Step 6: Plan the Rollback before You Need It

A rollback plan answers one question in advance: if the upgraded database is not right on go-live day, how does the business get back to work? That depends on hosting.

  • Odoo Online: once a production upgrade has completed, it cannot be reverted to the previous version, so thorough testing is your safety net.
  • Odoo.sh: if the production upgrade fails, the platform reverts it automatically, and on success it keeps a backup of the database from before the upgrade.
  • On-premise: take a full backup of the database and filestore, prove that it restores, and keep the old server ready until the new one is accepted.

Agree go and no-go criteria with the business owner before the day, for example matching trial balances, invoices that print, payments that post and a WPS file that generates. Set a decision time, freeze data entry during the cut-over and tell staff exactly when they can log in again.

The Complete Odoo 19 Upgrade Checklist

  1. Confirm your current version, edition, hosting and the apps in use.
  2. List custom modules, third-party modules, Studio changes, reports and integrations.
  3. Decide what to port, replace with standard Odoo 19 features or retire, then freeze development.
  4. Check that each third-party module has an Odoo 19 version, a replacement or a porting plan.
  5. Request an upgraded test database and read the upgrade report.
  6. Port custom modules, on an empty database first and then on the upgraded copy.
  7. Compare the trial balance, ledgers, stock, open orders, VAT and payroll with production.
  8. Test the Odoo 19 changes to units, fiscal positions, employees, expenses and contacts.
  9. Run user acceptance testing with written sign-off from each department.
  10. Train each role on the screens that changed.
  11. Choose a cut-over date clear of VAT filing, payroll and year-end, and rehearse the day before.
  12. Back up, agree go and no-go criteria, freeze data entry, upgrade, then support users closely.

How Star Bit Solutions Can Help

Our OdooStar team upgrades Odoo databases to Odoo 19 on a tested path. For Odoo Enterprise, Odoo's upgrade service converts the standard data while we port your custom modules on Odoo.sh or your own servers, check Studio changes and reports, run the data checks with your finance team and train your users. Community databases follow the same method as a migration project.

We also plan the cut-over around your VAT return, payroll and year-end, and stay close during hypercare. To start, send us your version, edition, hosting and module list, and we will outline what your Odoo 19 upgrade involves.

Star Bit Solutions logo
Written by the Star Bit Solutions team

Star Bit Solutions is a software company in Ajman, UAE, founded in 2014. We implement and customize Odoo Enterprise and Odoo Community, and build StarBiz (AI-driven ERP), StarHub (life super app), StarBot (conversational AI), StarLearn (adaptive learning) and StarSense (AI and IoT platform). About us

OdooStar by Star Bit Solutions

Upgrade to Odoo 19 on a Tested Path, Not a Leap of Faith.

Send us your version, edition, hosting and module list. We will map your upgrade, from the first test copy to a quiet go-live.

Not Sure Which Solution Fits?

Tell us about your business and we will recommend the right starting point, free of charge.