Tech Reads
ERP & Enterprise Systems9 min read

What Actually Changed in Odoo 17 That Enterprise Teams Should Care About

Odoo releases a changelog every year and every year it runs to several hundred bullet points. Most of them are irrelevant to teams running Odoo in production at scale. Here is the short version: what actually changed in Odoo 17 that affects how you operate, what the AI features are worth, and one strong opinion about multi-company setups.

The spreadsheet module: the upgrade nobody talks about

The single most impactful change in Odoo 17 for most enterprise clients we work with is not a headline feature. It is the Spreadsheet module — a collaborative spreadsheet tool embedded directly in Odoo with native access to all your ERP data.

Before Odoo 17, the reporting workflow at most mid-market companies looked like this: export data from Odoo, import it into Excel, build the report, email it around, someone updates the Excel, everyone loses track of which version is current. It is a workflow so common that people have stopped noticing how broken it is.

The Odoo 17 Spreadsheet module lets you pull live ERP data directly into a spreadsheet without exporting anything. A pivot table connected to your sales orders that updates when you hit refresh. A cashflow projection that reads directly from your account move lines. Shared, with permissions, inside Odoo.

On the accounts we have migrated to Odoo 17, this has replaced approximately 40% of the custom reporting modules that were built on top of Odoo 15 or 16. Not because the custom modules were bad — because the Spreadsheet module is good enough for most of what those modules were doing, without the upgrade risk of maintaining custom code.

The eCommerce and website performance rewrite

Odoo's website and eCommerce modules were rewritten in Odoo 17 with a new rendering engine. The practical result: page load times dropped meaningfully on every client site we migrated. We measured before and after on three accounts. Average improvement was around 40% on Time to First Byte for product listing pages.

The catch: if you have custom website themes built on Odoo 16, they will not migrate cleanly. The new rendering engine uses a different component system. One client had 28 custom website blocks. We spent three weeks rebuilding them for Odoo 17. The client's site is faster and cleaner now, but the migration cost was real.

Our take

Before committing to an Odoo 17 upgrade, audit your custom website components. If you have more than 10 custom blocks, budget for a rebuild rather than a migration — the rendering engine change means some customizations simply do not port forward.

The AI copilot: where it works and where it does not

Odoo 17 ships with an AI assistant — branded as Odoo AI — across multiple modules. The marketing presents it as a broadly capable copilot. The reality is more specific than that, and knowing exactly where it is useful saves you from disappointment everywhere else.

Where it actually helps:

Sales

AI-generated email drafts for follow-ups and proposals are genuinely useful. Not perfect, but they produce a reasonable first draft that a salesperson can edit rather than write from scratch. We have seen response time on outbound sales emails drop.

HR/Recruitment

AI-assisted job description generation and CV summarization work well. This is a narrow task that plays to LLM strengths — structured output from unstructured text.

Where it is not useful: Accounting, Manufacturing, Purchase, Inventory, Project, Field Service, Helpdesk, Timesheets — in all of these, the AI features are either absent, cosmetic, or not reliable enough for production use. The accounting AI assistant in particular should not be trusted for anything you have not reviewed. We tested it on GL coding suggestions across 50 transactions and got a 34% accuracy rate on non-trivial transactions.

34%accuracy on GL coding suggestions from the Odoo 17 AI assistant on non-trivial transactions in our testing — not production-ready

Multi-company improvements: the first version we would recommend for MENA

Here is the strong opinion: Odoo 17 is the first version we would recommend without hesitation for multi-entity MENA operations. Earlier versions had multi-company support but it was friction-heavy — switching between companies was slow, intercompany transactions required manual journal entries, and consolidated reporting was only possible with custom modules.

Odoo 17 improved three things that matter for multi-entity setups:

  1. 1.Intercompany rules now handle automatic journal generation for intercompany transactions. When Company A sells to Company B, both the sale and the purchase are recorded automatically. This was possible before but required configuration that broke regularly.
  2. 2.Consolidated financial reporting — a single view of P&L across all entities in a group — is now stable and usable in the Accounting module without customization. On Odoo 16 we had to build this for every multi-entity client.
  3. 3.Branch accounting — a sub-entity structure below the company level, relevant for organizations that operate across multiple locations within a single legal entity — was added properly in Odoo 17. This addresses a specific gap that caused problems for UAE free zone companies with multiple registered branches.

For a group with 4 entities across Saudi Arabia, UAE, and Egypt — which is a very common MENA holding structure — Odoo 17 handles the complexity without the custom modules that Odoo 15 and 16 required for the same setup.

What changed in the codebase that affects custom module owners

Odoo 17 migrated the frontend from OWL 1 to OWL 2. If you have custom JavaScript modules — custom views, custom widgets, anything that touches the frontend — they likely require rewriting rather than porting. This is a larger effort than it sounds. OWL 2 is not backward compatible with OWL 1 in any meaningful way.

On the backend: the Python code migration from Odoo 16 to 17 is relatively clean — most server-side modules port without major issues. The frontend migration is where most of the upgrade cost sits for clients with significant customization.

Before upgrading a heavily customized Odoo 16 instance to Odoo 17, run a dependency audit across all custom modules. Any module that imports from the old OWL 1 APIs needs a rewrite budget, not a migration budget. The two are different scopes of work.

The bottom line on upgrading

For teams on Odoo 15 or earlier: upgrade. The improvements in performance, multi-company, and the Spreadsheet module justify the work. For teams on Odoo 16 with minimal customization: upgrade — the performance improvements alone are worth it. For teams on Odoo 16 with significant custom website or frontend work: budget carefully and audit your custom modules before committing.

The one thing we would not do: upgrade to Odoo 17 primarily because of the AI features. They are an addition, not a transformation. The value is in the platform improvements, not the copilot.

Share

Related reading