Odoo 20 Upgrade Guide

Odoo 20 Upgrade: A Practical Checklist and Timeline

Star Bit Solutions10 min read

An Odoo 20 upgrade goes smoothly when it is planned around your customizations, the apps that changed and the UAE finance calendar. Here is a step-by-step checklist with a sample timeline, from assessment and test upgrades to go-live and rollback.

An upgrade timeline from Odoo 19 to Odoo 20 with a calendar, assessment, test, user testing and go-live milestones and a rollback shield
Scroll

Key takeaways

  • Start with an assessment of version, edition, hosting, apps and integrations: it decides whether you use Odoo's upgrade service or a migration project.
  • Custom, third-party and SBS modules must have Odoo 20 versions before the upgrade, and Studio changes still need testing on an upgraded copy.
  • Field Service moves into Planning, payroll work entries are removed and accounting structures change, so test every app your teams use.
  • Go live in a quiet window clear of VAT, corporate tax, e-invoicing, payroll and year-end dates, with a rehearsal, a verified backup and a rollback plan.

Odoo 20 has been out for less than a week. Today, 30 September 2026, is also a corporate tax deadline that the Federal Tax Authority (FTA) highlighted this week: returns and payment are due for tax periods that ended on 31 December 2025. It is a useful reminder that the right upgrade date depends on the finance calendar as much as on the release.

This Odoo 20 upgrade checklist takes you from assessment to a quiet go-live, with a sample timeline. It builds on our Odoo 19 upgrade checklist, because Odoo's upgrade method has not changed, and on what is new in Odoo 20, because the apps have.

Step 1: Assess Your Starting Point

Write down five facts before anything else: your current version, your edition, where Odoo runs, which apps each team uses and which integrations depend on Odoo. Together they decide your route.

Starting pointRoute to Odoo 20Where the time goes
Odoo 19 EnterpriseOdoo's upgrade service migrates the standard dataPorting custom modules, testing and training
Odoo 19 CommunityA migration project, for example with OpenUpgrade toolsMigration runs, porting and before-and-after checks
Odoo 16, 17 or 18The same routes, across more versionsChanges add up across every version you skip
Not on Odoo yetA new implementation directly on Odoo 20Data migration, configuration and training

Check the support status as well. Odoo gives each major version three years of standard support, and its support table lists September 2026 as the end of standard support for Odoo 17. Databases on Odoo 17 or older therefore have the strongest reason to plan now, while Odoo 19 stays in standard support until September 2028 under Odoo's current plan. After that, extended support costs extra and is offered only on-premise and, for a limited number of versions, on Odoo.sh. The same page confirms that you can upgrade from any version straight to a major version still in standard support.

Step 2: List Custom Modules, SBS Modules and Studio Changes

Custom code is where most upgrade effort goes. Odoo's upgrade service converts standard apps and data, and a database with custom modules cannot be upgraded until each one has an Odoo 20 version.

  • Custom modules: developers port the ones you still need, on an empty Odoo 20 database first and then on the upgraded copy, and retire those that Odoo 20 now covers as standard.
  • Third-party modules: each needs an Odoo 20 version from its author, a standard replacement or, where its terms allow, a port.
  • SBS modules: our free modules are built and tested on Odoo 19 Community and listed for Odoo.sh and on-premise, not Odoo Online. Each module's Odoo App Store page shows the versions it is published for, and when we upgrade a client to Odoo 20, we port the SBS modules they use as part of the project. Our guide to the free modules lists what each one does.
  • Studio changes: Odoo's upgrade service covers them while Studio is installed and its subscription is active, but test every custom field, view, report and automation anyway. Odoo 20 also gives the Studio report editor a new interface, so whoever maintains your PDF layouts will see a different screen. Porting is also a good moment to revisit what belongs in Studio and what belongs in code.

Two SBS modules need a decision rather than a port if you are moving to Enterprise at the same time. SBS Account Community and SBS HR Payroll are Community-only: they conflict with the Enterprise Accounting and Payroll apps, which take their place.

Step 3: Check the Apps That Changed in Odoo 20

Most of Odoo 20 adds features, but some apps were merged, removed or restructured. If your teams use any of these, give each change its own test case.

AppWhat changed in Odoo 20What to test
Field ServiceDiscontinued, with its features integrated into PlanningScheduling, worksheets, travel fees and service reports
PayrollWork entries and the Planning-Payroll integration removed; work entry types merged with time off typesA full pay run, payslips and the WPS file
EmployeesThe Remote Work module merged into the Employees appRemote work settings and schedules
AccountingParent accounts replace account groups, depreciation models replace asset models, payment statuses renamedReports, filters and automations that use them
Expense accountingThe "Employee Expenses" menu removed; approved expenses create draft billsThe approval and posting routine
InventoryThe return wizard removed and returns simplifiedCustomer and vendor returns
ManufacturingThe flexible consumption setting removed; one "Produce" button replaces twoComponent consumption and shop floor routines
ProjectThe dashboard profitability report removed, replaced by new budget and margin reportsProject margin reporting
Access rightsRecord rules replaced by a domain on each access rightCustom user groups and multi-company access
AIAll AI features need IAP credits; "topics" renamed skillsExisting AI set-ups and the credit budget

Developers should also review custom views that use icons, because Font Awesome is replaced by Material Symbols, and any code that relied on mail tracking values, which Odoo 20 removes.

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

Step 4: Run Test Upgrades and Check the Data

Request an upgraded test database as early as possible: from the database manager on Odoo Online, from a staging branch on Odoo.sh, or through upgrade.odoo.com or Odoo's script on your own server, as described in Odoo's upgrade documentation. Test databases are neutralized, so scheduled actions, outgoing email, live payments and bank synchronization are switched off.

Read the upgrade report that comes with the upgraded copy, because it lists changes, including any views Odoo disabled because they no longer worked. Then compare the copy with production at the same cut-off date:

  • Trial balance, receivables and payables, account by account.
  • Stock quantities and valuation by warehouse.
  • Open sales orders, purchase orders, deliveries and invoices.
  • A VAT period you have already filed, regenerated and compared box by box with the return you submitted.
  • A full pay run against the last one paid, including the WPS salary file.
  • Your current chart of accounts against the redesigned UAE chart, with any mapping agreed with your accountant or auditor before you change it.

Request a fresh test upgrade whenever weeks pass or code changes, because both Odoo's standard upgrade scripts and your own database keep evolving.

Step 5: User Acceptance Testing and Training

User acceptance testing (UAT) means key users repeat real work on the upgraded copy until they are confident enough to sign off. Name one tester per department and give each a script: quotation to invoice for sales, receipt to delivery for the warehouse, bill to payment and VAT for finance, and pay run to WPS file for payroll.

Odoo 20 changes screens that people use every day, so plan training with care. Cover the new payment statuses with finance, Planning with anyone who scheduled work in Field Service, the single "Produce" button on the shop floor and the simplified returns in the warehouse. Keep sessions short, role-based and close to go-live.

Step 6: Pick a Go-Live Date That Suits the UAE Calendar

The production database is unavailable while it upgrades, so choose a time when use is minimal and rehearse the full run the day before, as Odoo recommends. In the UAE, plan around these dates:

  • VAT returns are due by the 28th day after the end of each tax period, so a quarter ending on 30 September must be filed by 28 October 2026, the final deadline the FTA lists in its current announcements.
  • Corporate tax returns are due within nine months of the end of the tax period, so for financial years that ended on 31 December 2025 the deadline is today.
  • Payroll runs and WPS salary files at each month-end.
  • The year-end close and audit for companies with a calendar financial year.
  • E-invoicing: under Ministerial Decision No. 244 of 2025, as amended in 2026, businesses with revenue of AED 50 million or more must appoint an accredited service provider by 30 October 2026 and implement e-invoicing by 1 January 2027, and smaller businesses by 1 July 2027. If you are in the first group, keep the upgrade and the e-invoicing go-live in separate windows, and see our e-invoicing readiness checklist.

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

A Sample Timeline

Here is how a company on Odoo 19 Enterprise, with a few custom modules, quarterly VAT returns, payroll in Odoo and revenue below the AED 50 million e-invoicing line, could plan the move. Adjust the weeks to your own scope.

WhenWhat happens
Weeks 1 and 2, OctoberAssessment, module inventory and the first test upgrade
Weeks 3 to 5Module porting, a second test upgrade and data checks, while the third-quarter VAT return is filed on Odoo 19 by 28 October
Weeks 6 and 7, NovemberUser acceptance testing, sign-off and role-based training
Week 8A rehearsal, then the production upgrade on a quiet weekend between payroll runs
Weeks 9 to 12Hypercare through the first pay run and the first month-end on Odoo 20
DecemberKept clear for the year-end close; if the plan slips, go live after the close and audit instead

Step 7: Plan the Rollback and Hypercare

Decide before go-live how the business would get back to work if the upgraded database is not right.

  • Odoo Online: a completed production upgrade cannot be reverted to the previous version, so your test upgrades are the safety net.
  • Odoo.sh: a failed production upgrade is reverted automatically, and a successful one keeps a backup of the database from before the upgrade.
  • On-premise: back up the database and filestore, prove that the backup restores, as our backup strategy guide explains, and keep the Odoo 19 server ready until users accept the new version.

On a self-hosted Odoo 19 database, SBS Automatic Database Backup can schedule backups as an Odoo restore ZIP that includes the filestore, and it records a SHA-256 checksum for every run, so you can verify the archive before you rely on it. Agree go and no-go criteria in writing, such as matching trial balances, invoices that print and a WPS file that generates, and freeze data entry during the cut-over. After go-live, keep engineers close through the first pay run and month-end, then move to normal support.

Your Odoo 20 Upgrade Checklist

  1. Record your version, edition, hosting, apps, companies and integrations.
  2. Confirm the route: Odoo's upgrade service, a migration project or a new implementation.
  3. List custom, third-party and SBS modules, plus Studio changes.
  4. Decide what to port, replace with standard Odoo 20 features or retire, then freeze development.
  5. Map the changed apps you use, from Planning and Payroll to Accounting, Expenses, Inventory and access rights.
  6. Choose your AI use cases and budget the IAP credits.
  7. Request a test upgrade and read the upgrade report.
  8. Port modules and run the data checks against production.
  9. Run user acceptance testing with written sign-off.
  10. Train each role on the changed screens.
  11. Pick a go-live date clear of VAT, corporate tax, e-invoicing, payroll and year-end, and rehearse the day before.
  12. Back up, agree go and no-go criteria, upgrade, then provide hypercare.

How Star Bit Solutions Can Help

OdooStar, our Odoo practice in Ajman, runs Odoo 20 upgrades in six steps: assessment, a test upgrade on a copy, code and module porting, user acceptance testing, cut-over and hypercare. For Odoo Enterprise, Odoo's upgrade service migrates the standard data and we handle everything that makes the database yours. For Community, we plan and run the migration project.

We port the SBS modules and other customizations you use, check the redesigned UAE chart of accounts and your payroll set-up, and pick a cut-over date with your finance team. Send us your version, edition and module list for a straight answer on your route to Odoo 20.

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 20 on a Date That Suits Your Business.

Send us your version, edition and module list. We will map your route, from the first test upgrade 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.