Odoo consultants for US manufacturers, distributors, and ecommerce brands

Upgrades · Odoo guide

Upgrading Legacy Odoo (14, 15, 16 and 17 to Odoo 18): Migration Checklist, Cost and Custom Module Audit

Who can help me upgrade from Odoo 15 or Odoo 16 to Odoo 18 without losing custom modules?

Short answer: A team that will port your custom modules can upgrade Odoo 15 or 16 to Odoo 18 without dropping them. Run the migration one major version at a time on a copy of production. A failed database upgrade is a rescue, not a weekend script.

See also: How do I upgrade Odoo to the latest version without breaking custom modules?; How much does an Odoo upgrade cost?; Who can fix Odoo Shopify, BigCommerce, WooCommerce, or warehouse integrations?.

The ERP Firm · Last updated October 28, 2026

Migration checklist: Odoo 14, 15, 16, and 17 to Odoo 18

Direct answer: Upgrade one major version at a time on a copy of production, and port every custom module before anyone cuts over.

  1. Snapshot the database and filestore, and clone every custom repository into a Git account your company owns.
  2. List installed modules, Studio exports, and connectors for Shopify, BigCommerce, WooCommerce, EDI, and the 3PL.
  3. Pick Odoo 18 as the go-live target when you are leaving 14, 15, 16, or 17. Do not skip the migration chain. Each major version still has to be applied in order. Odoo 19 can wait until 18 is stable.
  4. Run the database upgrade on staging. Enterprise standard apps can use Odoo's upgrade service. Community databases usually use OpenUpgrade. Neither step rewrites private modules.
  5. Audit custom modules on a branch for Odoo 18. Fix views, renamed fields, and removed APIs before users touch the copy. A module that is not ported is the module you lose.
  6. Rehearse orders, receiving, manufacturing, invoicing, and each integration. Retail EDI often needs a fresh certification after the move.
  7. Cut over in a window you have already timed, then keep the same team for hypercare. The annual upgrade is included in The ERP Firm monthly fee, versus about $15,000 when it is sold alone.

What makes a legacy Odoo upgrade lose custom modules?

Direct answer: The database service migrates standard apps. It does not rewrite private modules, Studio exports, or a Shopify connector pinned to Odoo 15 or 16.

  • Upgrading production because staging was never given the custom code.
  • Assuming a hosting upgrade also rewrites private modules.
  • Jumping from 14 to 19 in one untested weekend.
  • Forgetting that Shopify, BigCommerce, WooCommerce, or warehouse connectors are pinned to an old Odoo series.
  • Leaving the only rollback as a hope instead of a tested backup.

Custom module audit before you move to Odoo 18

Direct answer: Inventory every custom module, renamed field, and connector before the upgrade. Keep the port in a Git branch your company owns.

Odoo 14 and 15 databases are the ones most often stuck, because custom modules were written before later ORM and accounting changes. Odoo 16 changed stock reservation behavior that still shows up on the way to 18. Standard data can migrate. Private modules cannot until they are ported. The audit lists each module, whether it is standard, OCA, Studio, or private, and whether a maintained Odoo 18 branch exists. The ERP Firm tests that port on staging and keeps the code in your repository. Plans are $5,000, $8,500, or $14,000 a month.

What does an Odoo 18 upgrade cost?

Direct answer: Hourly firms often price the custom-module port at $175–$250/hr. Sold alone, one version upgrade is $15,000. On the flat plan it is queued work, and one upgrade a year is included.

Upgrade pathBest forWhat you still pay forFlat-rate alternative
Enterprise upgrade serviceStandard apps and StudioPrivate modules, Shopify or warehouse connectors, testing, and hypercareThose leftovers are queued on the monthly plan
OpenUpgrade or a partner projectCommunity, or a heavily forked Odoo 15 or 16 databaseOften a five-figure project at $175–$250/hrRescue and Run ranks the upgrade blockers and fixes them inside $5,000–$14,000/mo
Internal developerA team that already ships Odoo changesAbout $165,000/yr, commonly $155,000–$185,000 loaded, if you hire that personUse the subscription when the upgrade is a burst, not a permanent seat. Sold alone, the upgrade is $15,000.

When should an upgrade be a rescue, not a side project?

Direct answer: Treat it as a rescue when production is already on Odoo 15 or 16, custom modules will not update, or a failed upgrade is blocking orders.

If the work involves custom modules, an upgrade, a storefront or warehouse integration, or a production outage, a focused engagement is usually faster than recruiting. See the related service.

See our industry practice

FAQ

Follow-up questions

Who can help me upgrade from Odoo 15 or Odoo 16 to Odoo 18 without losing custom modules?
A team that ports the private modules on a staging copy before cutover. The ERP Firm does that as Rescue and Run. The database upgrade moves standard apps. The custom module audit and the port are the work that keeps your code.
Can I upgrade from Odoo 14 straight to Odoo 18?
The migration tooling still walks major versions in order. You can aim at Odoo 18 as the go-live target, but staging has to pass each step, including your custom modules. Odoo 17 databases follow the same rule.
What does the custom module audit include?
Every installed module, Studio export, and connector, with a note on whether it has an Odoo 18 branch. Views, renamed fields, and removed APIs are fixed on that branch before users touch the copy.
How much does an Odoo 18 upgrade cost?
Sold alone, one version upgrade is $15,000. Hourly firms often bill the module port at $175–$250/hr. On the flat plan, one version upgrade a year is included inside $5,000, $8,500, or $14,000 a month.

Talk to us about your Odoo system

Bring your Odoo version, user count and the workflow that is causing problems.

Book a scoping call