Financial TimesAmericas' Fastest-Growing 2025
Certified PartnerOdoo Gold · Adobe Solution · Shopify Plus partnershipsOdoo Gold · Adobe · Shopify Plus partnerSee all
One business dayA senior architect replies to every inquiry · +1 (631) 897-7276Architect reply within one business dayLet's talkCall us
Inc. Regionals 2025Fastest-growing private companies in AmericaInc. Regionals 2025 honoreeSee awards
Americas' Fastest-Growing Companies 2025Recognized by the Financial TimesFT Fastest-Growing Companies 2025See the rankingRanking
4.8 / 5 on Clutch265 verified client reviews4.8/5 on Clutch · 265 reviewsRead the reviews
4.8 · 265 Clutch reviews
US United States

Odoo 17 to Odoo 18 migration: what changes and how we move you

Odoo’s platform converts the standard database. Everything built on top of it is somebody else’s job, and this page says whose. Brainvire inventories your Odoo 17, makes each module installable on 18, then proves it on a copy before a date is agreed.

OdooGold Partner
2,000+Brands served
95%Client retention
14+Years of experience
What it is

Moving a live database from Odoo 17.0 to Odoo 18.0. Odoo’s own upgrade platform performs the technical conversion of the standard modules and data. Making custom modules work on 18 is the customer’s or partner’s responsibility, and that is where the real work sits.

Who it is for

Teams running Odoo 17.0 in production, especially those carrying custom modules, Studio changes or third-party apps nobody has inventoried since they were built.

Typical timeline

Brainvire plans a straight version upgrade at 3 to 8 weeks, assuming a code freeze and one full rehearsal. These are our own planning figures, not Odoo published ones. Where new scope travels with the upgrade, our implementation bands apply instead.

Typical team

A technical consultant who ports the modules, a functional consultant who owns the test script, a solution architect on the upgrade posture, and your application owner as counterpart.

/ Before the next version lands

Why does the Odoo 17 upgrade keep getting postponed?

Four reasons we hear, and none of them is the upgrade itself.

Support

The clock is not yours to set

Odoo supports each major version for a fixed window and publishes the dates. Waiting does not pause it, and a version you can no longer upgrade from is a decision made for you.

Unknowns

Nobody has listed what is on top

Studio changes, custom modules, third-party apps, things edited in place. Odoo will not upgrade a database with custom modules until a version of them exists for the target release.

Redundancy

You may be carrying what 18 now ships

Odoo’s own guidance is to challenge every customization against what has been added since. Some of it is standard now, and the cheapest module is the one you delete.

Rehearsal

The only test on the calendar is go-live

Without a test database and a run through the real flows, the first time anyone sees Odoo 18 holding your data is the morning it has to work.

Odoo Gold PartnerBest Partner North America 2025 FinalistOutstanding Customer SatisfactionOdoo 19

Trusted by enterprise Odoo teams worldwide

Bay Alarm MedicalTentAndTableFood Bank SingaporeAmerican Tire DepotEden TextileCadarPuma EnergySuper Asia FoodsUltimate ToysAjmal PerfumesPan HomeNike

/ Version to version

What actually changed between Odoo 17 and Odoo 18?

Twelve changes that alter how a working Odoo 17 database behaves on 18, each taken from Odoo’s own Odoo 18 release notes. The third column is our reading, not theirs.

AreaWhat Odoo 18 changedWhat it means for your upgrade
Removed modulesThe eBay Connector was removed, and the Alipay, PayU Latam and PayUmoney payment providers were removedIf you run any of these, a replacement is chosen and built before cut-over. The row that most often moves a date
PaymentsPayments no longer create an accounting move unless an outstanding account is set on the linked payment methodEvery payment method is checked for its outstanding account before anything is posted on 18
Warehouse routesPush rules now fire when a transfer is validated instead of creating onward transfers in advance, and all default multi-step routes were redesigned around thatRoutes are re-tested end to end. The change most likely to surprise an operations team on day one
Close controlsA lock dates wizard allows locking by journal type and adds a Hard Lock date with an exceptions mechanismA Hard Lock date cannot be changed once saved, so it is set late and deliberately
TaxesAll standard sales taxes now follow a company setting defining them as price-included or price-excluded, with individual taxes able to override itOne decision at company level, then a check that every tax overriding it still behaves as it did
BudgetsBudget management was rebuilt around analytic budgets: no more dates on budget lines, no more budgetary positions. Separate financial budgets compare against the profit and loss reportBudget structure is redesigned, not carried. Agree the new shape with finance before cut-over
StatementsThe Follow-up and Customer Statement views and modules were removed and merged, and the Partner Ledger was revamped to read like a customer statement that can be sent to customersReports, automations, saved filters and training material pointing at the old views are re-pointed
Inventory valuationValuation by lot or serial number means each lot or serial of the same product now carries its own valuationCosting can be answered per lot, but only once configured. A decision to take, not a gain that arrives
DeliveryA dispatch management system plans delivery rounds, builds loads and tracks fleet capacity, using your own vehicles or a carrierCustom delivery logic may now be replaceable with standard configuration, which is a module you stop maintaining
ManufacturingThe Master Production Schedule gained yearly planning, an automatic replenishment mechanism, maximum batch sizes, an import template and visibility across all BoM levelsPlanning customizations are worth challenging before they are ported, not after
StudioStudio can add table columns in the report editor, relabel and highlight form buttons, and declare a customized invoice template compatible with Send & PrintSome report code can be retired in favor of Studio, which the upgrade service carries while Studio stays installed
SpreadsheetsPivot tables are inserted as dynamic pivots, calculated fields and the SEQUENCE, INDIRECT, OFFSET, CONVERT and CELL functions were added, and ODOO.PIVOT formulas are renamed PIVOTEvery saved spreadsheet calling ODOO.PIVOT is opened during testing. The rename is silent until someone looks

/ Responsibilities

Who does what in an Odoo 17 to 18 upgrade?

The boundaries are published, not negotiable. All of it is stated in Odoo’s upgrade documentation and its guide to upgrading a customized database. We name them here so nobody finds the boundary in week five.

OdooRuns the upgrade

Odoo converts the standard database

Odoo’s upgrade platform performs the technical conversion of standard modules and data to the target version. Its Enterprise agreement covers standard applications, Studio customizations while Studio stays installed and subscribed, and developments under a maintenance of customizations subscription. Brainvire does not perform this step.

Where it leads: What the Enterprise edition includesTalk it through →
BrainvirePorts the code

Your custom modules are our job

That same agreement expressly excludes additional modules without a maintenance contract, built in-house or by third parties, including Odoo partners. So we do it: each module made installable on an empty Odoo 18 database first, then on the upgraded copy, with upgrade scripts where models or fields were renamed.

Where it leads: How we build upgrade-safe codeTalk it through →
Nobody, by defaultOutside the SLA

Three things no upgrade includes

Odoo lists what its upgrade service does not cover: cleaning pre-existing data and configurations while upgrading, upgrading additional modules without a maintenance contract, and training people on the new version’s features and workflows. Each is real work, scoped separately and up front.

Where it leads: Training on the new versionTalk it through →
Both of usProves it works

Testing is shared, and it is the point

Odoo is explicit: if a change in a new version breaks a customization, making it compatible is the responsibility of whoever maintains it. We test on a copy against your real flows, you confirm the outcomes, and what fails is fixed before a date is agreed.

Where it leads: Book an upgrade rehearsalTalk it through →

/ Delivery

How does a 17 to 18 upgrade actually run?

Odoo publishes a six-step path for a customized database; we run it as four stages. Brainvire plans a straight version upgrade at 3 to 8 weeks. With new scope, our implementation bands apply instead:

01020304

Freeze and challenge

Development stops: anything built during the upgrade has to be upgraded and tested again. Every customization is argued against what Odoo 18 does as standard. Retiring redundant code here is the cheapest work on the plan.

Request an upgraded test database

Odoo delivers a converted copy. How you request it depends on hosting: the Upgrade platform, the Odoo Online database manager, your Odoo.sh project, or the command line on-premise. This stage only proves the conversion completes.

Make every module installable

Each module goes on an empty Odoo 18 database first, so tracebacks come from the module rather than your data, then on the upgraded copy. Renamed models and fields are handled with upgrade scripts.

Test, rehearse, cut over

Your flows run end to end on the upgraded copy, including integrations, automated actions and exports. If time has passed we request a fresh copy, rehearse the day before, then take production down in the quietest window you have.

/ Scope

What makes a 17 to 18 upgrade bigger or smaller?

Four things decide it, and only one is Odoo. Two databases on the same version, size and hosting can sit weeks apart on this list.

Custom modules

How many, and how they were built

A module that extends Odoo by inheritance moves forward. One that edited a standard file has to be found first, because nothing announces it. Quality matters more than count.

Studio and config

What was changed without code

Studio work is carried by the upgrade service while Studio stays installed and the subscription is active. Configuration, saved filters, mail templates and translations are still re-checked by hand.

Integrations

What talks to the database

EDI feeds, APIs, connectors and scheduled jobs are on Odoo’s own do-not-forget-to-test list. A connector removed in 18 needs a replacement chosen before the date, not after.

Hosting

Where the database lives

Odoo Online, Odoo.sh and on-premise each request and deploy the upgrade differently. On Odoo.sh the upgraded copy is restored and your modules updated on every commit, which resequences the work.

/ Version moves, on the record

Have we moved a customized Odoo database before?

Three version-to-version moves, each with the case study behind it.

/ The target decision

Should you move to Odoo 18, or straight to Odoo 19?

Odoo 19 exists, so 18 is not automatically the answer. The dates below are quoted from Odoo’s published standard and extended support table, which gives every major version three years of standard support and marks future end dates as planned.

CriterionMove to Odoo 18Move to Odoo 19
Version gap from Odoo 17One major versionTwo major versions in one pass
Support window Odoo publishesReleased October 2024. Standard support listed to September 2027 (planned)Released September 2025. Standard support listed to September 2028 (planned)
Release notes to absorbThe Odoo 18 release notesThose plus the Odoo 19 release notes, landing together
Work on your custom modulesEach made installable on 18, then retested against your flowsEach made installable on 19, with more standard change to absorb first
What comes afterA second, smaller upgrade to 19 whenever you choose itNothing further until the next major version
Odoo’s own guidanceOdoo notes that the smaller the version gap, the easier the upgrade should beSame guidance, applied once instead of twice

Choose 18 if you carry real custom code and want the smallest change in one pass. Choose 19 if your customization surface is light. The work is the same shape either way; only the volume differs, so we size both first. Other routes onto Odoo start at Odoo migration.

/ Questions we are asked

Odoo 17 to 18 migration FAQs.

What is an Odoo 17 to 18 migration?

An Odoo 17 to 18 migration moves a production database from Odoo 17.0 to Odoo 18.0. Odoo's own upgrade platform performs the technical conversion of the standard modules and data. Your partner makes every custom module installable on 18, runs the business flows on a test copy, and plans the cut-over with you.

What changed between Odoo 17 and Odoo 18?

Odoo 18 rebuilt budgets around analytic and financial budgets, added a hard lock date and locking by journal type, merged the Follow-up and Customer Statement views, set sales taxes as price-included or excluded by a company setting, added valuation by lot or serial number, and redesigned the default multi-step routes.

Who performs the upgrade, Odoo or the partner?

Odoo runs the database upgrade. Its platform converts standard modules and data to the target version, and its service level agreement covers standard applications, customizations created with Studio while Studio is installed and the subscription is active, and developments under a maintenance of customizations subscription. Everything else is the customer's or partner's work.

Will our custom modules work on Odoo 18?

Not automatically. Odoo states that a database containing custom modules cannot be upgraded until a version of those modules exists for the target version, and its service level agreement excludes the upgrade of additional modules not covered by a maintenance contract that are created in-house or by third parties, including Odoo partners. Brainvire makes each module installable on 18, then retests it.

How long does an Odoo 17 to 18 upgrade take?

Brainvire plans a straight version upgrade at three to eight weeks. That is our own planning figure, not an Odoo published one, and it assumes a code freeze and one full rehearsal. Where new scope travels with the upgrade, our implementation bands apply instead: eight to twelve weeks small, twelve to twenty-four weeks mid-market.

How long is Odoo 17 supported?

Odoo gives every major version three years of standard support, then an extended support window. Its published support table lists Odoo 17.0 as released in November 2023 with standard support ending September 2026, and Odoo 18.0 as released in October 2024 with standard support ending September 2027. Both end dates are marked planned.

Should we move to Odoo 18 or straight to Odoo 19?

Both are real options and we size both before you decide. Odoo 19.0 exists and carries a longer support runway, but it sits two major versions from 17, so your custom code absorbs more standard change in one pass. Odoo's own guidance is that the smaller the version gap, the easier the upgrade should be.

What happens to our Odoo Studio customizations?

Studio work is carried by Odoo's upgrade service, with conditions. The service level agreement covers customizations created with the Studio app for as long as Studio is still installed and the subscription is still active. Studio stores changes as data rather than code, so they are reviewed against the new standard views instead of rewritten.

How do you test an Odoo 18 upgrade before go-live?

On a copy, never on production. Odoo delivers an upgraded test database and neutralizes it: scheduled actions are disabled, outgoing mail servers are archived, payment providers and delivery carriers are reset to test, and bank synchronization is off. We run your flows end to end, then rehearse the whole upgrade the day before.

Can an Odoo upgrade be done without downtime?

No, and no partner should promise it. Odoo states that the production database is unavailable while it upgrades, which is why the move is planned for the window when usage is lowest. On Odoo.sh the platform reverts automatically if the upgrade fails and keeps a pre-upgrade backup. On Odoo Online a completed upgrade cannot be reversed.

What does Odoo's upgrade service not cover?

Odoo lists three exclusions: cleaning pre-existing data and configurations during the upgrade, upgrading additional modules that are not covered by a maintenance contract, whether built in-house or by third parties including Odoo partners, and training people on the new version's features and workflows. Brainvire scopes each of those as its own piece of work.

Can Brainvire upgrade an Odoo database another partner built?

Yes, and it is a common starting point. Before any date is discussed we inventory what sits on your Odoo 17: Studio changes, custom modules, third-party apps and anything edited in place. Each item gets a verdict of keep, rebuild or retire, and Odoo 18 often does as standard what an older version needed code for.

/ Next step

Let’s find out what is really sitting on top of your Odoo 17.

  • A senior architect replies within one business day
  • Your details are never shared or sold
  • An NDA can be signed before we hear any detail

US +1 (631) 897-7276 · Gulf +971-54-737-4253 · Singapore +65-9086-0319 · India +91-22-6116-3300.

Fox SportsSouthwestNikeDisneyMcAfeeUnder ArmourSesame WorkshopInsomnia CookiesPan Emirates Home

Trusted by 2,000+ brands worldwide

“Brainvire has helped our business grow. We feel like it’s a true partnership. They’re always present. It’s been seven great years, looking forward to more.”
Mr. Kevin ClorCIO - Tent and Table

Book a working session

Tell us which Odoo version you run and what has been built on top of it.

    Ten characters minimum. An NDA can be signed before we hear any detail.