Skip to content
Odoo Upgrades

Odoo 19 → Odoo 20

Upgrade Odoo 19 to Odoo 20

Odoo 19 is still supported, which makes this the cheapest moment to upgrade: one single-hop jump with no security pressure. Here's every hop, what breaks along the way, and how TechUltra Upgrades gets you there.

Migration Project · Enterprise

Hop path

  1. 19
  2. 20

▸ LIVE TERMINAL

✓ preflight PostgreSQL 16 OK · docker hop images 20 OK

✓ restore source dump restored to trial DB (live DB untouched)

✓ hop 19→20 done · 214 modules updated

⟳ auto-heal bad XML-ID rename detected · patched script · retrying hop

✓ hop 20→21 done after retry

› hop 19→20 running · custom modules detached for hop

Trial balancematches
Stock valuationmatches
AR / APreconciled
Custom modulesPR ready

Illustrative run based on the TechUltra Upgrades project screen

Version hops
1
Complexity
Low
Method
Fully automated
Odoo support
Supported

The upgrade path: 19 → 20

Odoo can't jump straight across major versions; each one carries its own data migration scripts. Moving from Odoo 19 to Odoo 20 therefore means 1 consecutive hop. TechUltra Upgrades runs them back to back on a copy of your database, saves a checkpoint after each one, and resumes from the last good hop if something fails, instead of starting over.

What changes between Odoo 19 and Odoo 20

These are the framework changes your custom modules cross on the way. Each one is handled by our porting rules and reviewed by an engineer.

Arriving at Odoo 20 (2026)

  • _sql_constraints and _constraints no longer supported at all, so un-ported modules silently lose their constraints.
  • Accounting: parent accounts replace account groups, account codes become optional, depreciation models replace asset models.
  • AI agents that create and update records and connect over MCP; new offline mode for field users.

How TechUltra Upgrades handles this path

  • Preflight checks for PostgreSQL version, hop images and upgrade scripts before anything runs.
  • Custom modules detached during hops so the standard data migrates cleanly, then re-attached as ported Odoo 20 code.
  • Auto-heal for known upgrade failures, such as bad XML-ID renames and orphan views, with automatic hop retry.
  • Reconciliation of trial balance, stock valuation and receivables/payables against your Odoo 19 source.

Should you upgrade Odoo 19 now?

You're on a supported version, so there's no emergency. But every year you wait adds another hop. Upgrading now keeps it to 1 hop.

FAQ

Odoo 19 to 20 upgrade FAQ

Can't find your answer? Ask an upgrade engineer.

Can I upgrade Odoo 19 directly to Odoo 20?

+

Yes, as a single project. Technically the database passes through 19 → 20, but TechUltra Upgrades runs and checks every hop for you and you only test the final Odoo 20 result.

How long does an Odoo 19 to 20 upgrade take?

+

The automated run of all 1 hops takes hours. Calendar time is mostly your user testing, typically a few weeks depending on how many custom modules you have.

Is Odoo 19 still supported?

+

Yes. Odoo maintains the three most recent major versions (18, 19, 20), so Odoo 19 is still supported, but it will drop out of support when newer versions ship.

What does it cost to upgrade Odoo 19 to 20?

+

Every upgrade is quoted on its complexity after the free assessment. Cost depends on database size, the 1 hop involved and the number of custom or third-party modules to port.

Get your Odoo 19 → 20 upgrade plan

Run a read-only scan of your database. You get a module-by-module risk report, a timeline, a downtime estimate and a quote based on your complexity. No obligation.