Skip to main content
iVentureTeam

Odoo 20 Studio Release Notes

All 9 Studio changes from the official Odoo 20 release notes, explained in plain words with a screenshot from a live Odoo 20 database, plus where to find each one and what it means for your upgrade.

Planning the move? See our Odoo upgrade services, the Odoo 20 upgrade guide or get a number from the migration cost calculator.

New feature 2Enhancement 7In Community 3Enterprise only 6
Type
Edition

Change 1 of 9

Automation rules: activity plans

New featureCommunity

Trigger activity plans through automations.

Official Odoo 20 release note

In plain words

An automation rule's Create Activity action can now launch a whole Activity Plan, a preset series of activities such as Onboarding, instead of only a single activity.

Settings > Technical > Automation Rules > rule > ActionsThe Create Activity action on an Employee automation now offers an Activity Plan, Onboarding, instead of a single activity.

Where to find it

  1. Settings > Technical > Automation Rules, open or create a rule.
  2. Add an action of type Create Activity, then choose an Activity Plan instead of a single Activity Type.

For users

One automation rule can schedule a full plan of activities, possibly for several people, instead of one activity for one person.

For developers

ir.actions.server's Create Activity action gains an activity_plan_id and a plan mode alongside the existing single activity_type_id, reusing the same scheduling logic as the Launch Plan button on a record.

Upgrading from Odoo 19

No migration impact; existing single-activity automations keep working unchanged.

Change 2 of 9

Form view customization

EnhancementEnterprise only

Part 1

Reorder a form view's buttons and smart buttons.

Official Odoo 20 release note

In plain words

In Studio's form view editor, a button or smart button can now be dragged to a new position in the button bar instead of only being added, edited or removed.

Events > an event > Edit in Studio > ViewDragging the Attendees smart button to a new position among the Registration, Sales and PoS Sales smart buttons on the Event form.

Part 2

Reorder tabs in a form view by dragging and dropping them.

Official Odoo 20 release note

In plain words

In the same editor, a notebook tab can now be dragged to a new position among the other tabs instead of only being added or removed.

Events > an event > Edit in Studio > ViewDragging the Tickets tab to a new position among the Communication, Questions and Notes & Documents tabs.

Where to find it

  1. Bullet 1: open any form in Studio, drag a smart button (or a regular button) to a new position in the button bar.
  2. Bullet 2: on the same form, drag a notebook tab header to a new position among the other tabs.

For users

Nothing changes for regular users; this only affects the people who design forms in Studio, who can now rearrange buttons and tabs by dragging them instead of deleting and re-adding them in the right order.

For developers

The form editor's renderer and its drag/drop "hook" component now accept buttons, smart buttons and notebook pages as draggable targets, alongside the fields and groups that were already draggable. The saved view XML only changes in the order of the existing <button> and <page> elements.

Upgrading from Odoo 19

No migration impact; existing forms are unaffected until someone reorders elements in Studio.

Change 3 of 9

Kanban stage cutomization

EnhancementEnterprise only

Customize Kanban stages (i.e., the status bar) from the form view using Studio.

Official Odoo 20 release note

In plain words

When a form view shows a status bar (statusbar widget) with stages, Studio now lets an admin add a new stage, or drag an existing one to reorder it, directly from that status bar on the form, without opening the model's Kanban view or a separate Stages settings screen.

Events > an event > Edit in Studio > ViewClicking Add Stage on the Event form's status bar opens a dialog to create a new stage without leaving the form.

Where to find it

  1. Open a form view that has a status bar (e.g. Events) in Studio, then click Add Stage or drag a stage on the status bar.

For users

No change for end users; the stages themselves still work the same way on the form and in the Kanban view.

For developers

Studio's form editor now renders its own editable version of the statusbar widget (a dedicated component), with a "+ Add stage" affordance and drag handles wired to the same server calls that creating a stage from the Kanban view uses.

Upgrading from Odoo 19

No migration impact; this is a Studio editing convenience, not a change to how stages are stored.

Change 4 of 9

List view column width

EnhancementCommunity + Enterprise

Define a minimum and maximum width for columns in the list view.

Official Odoo 20 release note

In plain words

A list view column can now be given a minimum and a maximum pixel width, so it never shrinks or grows past those limits when the browser window is resized. In Studio, this is set from a single "Column Width (px)" field on the column's properties.

Events > Edit in Studio > Views > ListThe Event column's new Column Width (px) property, set here to a minimum of 200 and a maximum of 320 pixels.

Where to find it

  1. Open a list view in Studio, select a column, then set Column Width (px) in the Properties panel, e.g. [200, 320].

For users

List views that set this keep their important columns readable: a name column will not be squeezed unreadably narrow, and a badge or amount column will not stretch too wide.

For developers

The list renderer's column_width_hook now reads optional min_width/max_width attributes from the <list> field's arch and clamps the resizable column between them. Studio exposes both values together as one "Column Width (px)" field that writes a [min, max] pair.

Upgrading from Odoo 19

No migration impact; existing list views without these attributes behave exactly as before.

Change 5 of 9

Many2Many fields in PDF reports

EnhancementEnterprise only

Many2Many fields can now be added to PDF reports via the field selector in the report editor.

Official Odoo 20 release note

In plain words

When inserting a field into a PDF report from Studio's report editor, the field selector now also lists Many2many fields, such as Tags, instead of only simple and Many2one fields.

Sales > a quotation > Edit in Studio > ReportsThe report editor's field selector now lists Tags, tag_ids (many2many), alongside regular fields.

Where to find it

  1. In Studio's report editor, click into the report body, type / and choose Field, then search for a Many2many field such as Tags.

For users

Report designers can print a record's tags or other many2many values directly, without first adding a helper field on the model.

For developers

The report editor's field-selector plugin no longer filters out x2many relations when inserting a bare field expression (t-out) into the report body; it inserts the field's raw value, which the developer can still wrap in a template loop for a nicer layout.

Upgrading from Odoo 19

No migration impact; only affects reports edited in Studio going forward.

Change 6 of 9

Report editor

EnhancementEnterprise only

Part 1

A new user interface has been introduced for the report editor.

Official Odoo 20 release note

In plain words

Studio's PDF report editor has a redesigned interface, with clear Editor, Preview and Sources tabs, styled to match the rest of Studio, instead of the previous layout.

Sales > a quotation > Edit in Studio > ReportsThe report editor's redesigned Editor, Preview and Sources tabs.

Part 2

When editing a PDF report, a warning appears if the element is shared with other PDF reports.

Official Odoo 20 release note

In plain words

When an element being edited (for example the tax totals block) is a template shared by several reports, the properties panel now shows a warning that changes there will affect every report using it.

Sales > a quotation > Edit in Studio > ReportsSelecting the sale.document_tax_totals block shows a warning that changes to this shared block will affect other reports using it.

Where to find it

  1. Bullet 1: open Studio's report editor on any PDF report and look at the Editor / Preview / Sources tabs.
  2. Bullet 2: in the same editor, click a shared element such as the tax totals block and check the sidebar warning.

For users

No change for people who only read or print reports.

For developers

The report editor's tabs (Editor/Preview/Sources) are now built as a proper notebook component instead of ad hoc buttons, and the sidebar reads a "shared block" flag on the selected element to show a caution message before a report designer edits a template used elsewhere.

Upgrading from Odoo 19

No migration impact; purely an editing-experience change inside Studio.

Change 7 of 9

Report translations

EnhancementEnterprise only

The report code can be translated in a single block that also displays the technical context.

Official Odoo 20 release note

In plain words

Translating a PDF report's text from Studio's Sources (XML) view now opens a single Translate Report dialog showing the whole report code with every translatable phrase highlighted in place, instead of translating one small text at a time.

Sales > a quotation > Edit in Studio > Reports > SourcesThe Translate Report dialog shows the report's XML as one block, with translatable phrases like "Quotation #" and "Tax ID" highlighted.

Where to find it

  1. In Studio's report editor, open Sources, then click the Translate button in the code editor's header.

For users

Translators and report designers see each translatable sentence with the surrounding XML around it, making it clear which part of the report a phrase belongs to.

For developers

A dedicated translate_xml component replaces the previous per-field translation approach for report QWeb code, reusing the report's own structure list (report_saleorder, document_tax_totals, and so on) on the left to jump between templates.

Upgrading from Odoo 19

No migration impact; this only changes how translations are edited inside Studio.

Change 8 of 9

User-friendly technical names

EnhancementEnterprise only

The technical name of the fields created with Studio are now more readable.

Official Odoo 20 release note

In plain words

When a new field is added through Studio, its technical name is now built from the field's label, shown split into the fixed x_studio_ prefix and an editable, readable name such as venue_booking_reference, instead of a hard to read auto-generated name.

Events > an event > Edit in Studio > ViewA field labeled "Venue booking reference" gets the readable technical name x_studio_venue_booking_reference.

Where to find it

  1. In Studio, add a new field on a form and open its Properties to see the Technical Name.

For users

Not applicable to regular users; this is a Studio field-creation detail.

For developers

Studio derives the technical name from the field's label at creation time and displays it as a fixed x_studio_ prefix plus an editable slug, so a field named "Venue booking reference" becomes x_studio_venue_booking_reference instead of a generic name like x_studio_char_field_1.

Upgrading from Odoo 19

No migration impact for existing fields, which keep their current technical names; only newly created Studio fields get the friendlier naming.

Change 9 of 9

Warning for past or future dates

New featureCommunity + Enterprise

When adding a "Date" or "Datetime" field, use the "Warning" property to display a warning icon when a user enters a past or future date.

Official Odoo 20 release note

In plain words

A Date or Datetime field can now show a small warning icon when the value entered is in the past or in the future, depending on which one is configured. In Studio this is a single Warning property on the field, with the choices No warning, Past date or Future date.

Events > an event > Edit in Studio > ViewThe Date field's new Warning property set to Past date, so past event dates get a warning icon.

Where to find it

  1. In Studio, select a Date or Datetime field and set its Warning property to Past date or Future date.

For users

A date field configured this way shows a warning icon and tooltip as soon as a date on the wrong side of today is entered, catching likely mistakes such as an event date typed in the wrong year.

For developers

DateTimeField gained a warning prop ("none" | "future" | "past") that compares the field's value to today and displays a warning icon; it is set through the widget's options, for example options="{'warning': 'past'}", and Studio's date/datetime field properties expose the same choice as a dropdown.

Upgrading from Odoo 19

No migration impact; the option is off ("No warning") by default, so existing views and data are unaffected until a developer or Studio user turns it on for a field.

See all 585 Odoo 20 changes across 52 apps

Odoo 20 Studio: common questions

What is new in Odoo 20 Studio?

The official Odoo 20 release notes list 9 Studio changes (2 new features, 7 enhancements). They include Automation rules: activity plans, Form view customization, Kanban stage cutomization, List view column width and more.

Are the Odoo 20 Studio changes available in Community edition?

3 of the 9 changes are in Odoo 20 Community (and Enterprise). 6 are Enterprise only. Each change on this page is labeled with its edition.

Do Odoo 20 Studio changes affect my customizations when upgrading from Odoo 19?

None of the Studio changes call for data migration work on their own. Custom modules that extend Studio screens or reports should still be tested on a copy of your database before the upgrade.

How do I upgrade Studio to Odoo 20?

Restore a copy of your database, run the Odoo 20 upgrade on the copy, fix any custom modules that extend Studio, then test your main Studio flows with real users before switching production. iVentureTeam runs Odoo upgrades end to end, including custom module migration and user testing.

Odoo services for this

More Odoo 20 release notes

Planning your Odoo 20 move

Want these Studio changes in your database?

We upgrade Odoo databases with their customizations and data intact, and test every custom module against the new version before go-live.