Skip to main content
iVentureTeam

Odoo 20 Spreadsheet Release Notes

All 30 Spreadsheet 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 21Enhancement 7Performance 1Security 1In Community 29Enterprise only 1
Type
Edition

Change 1 of 30

Bubble charts

New featureCommunity + Enterprise

Use bubble charts to display data with both quantitative and categorical values.

Official Odoo 20 release note

In plain words

Bubble is a new chart type. Each point is placed by two numbers (horizontal and vertical axis) and its size shows a third number, with an optional label per bubble, so one chart compares three values across categories.

Documents > a spreadsheet > Insert > Chart > Chart type: BubbleA bubble chart built from the demo sales table: units on the horizontal axis, revenue on the vertical axis and the margin as bubble size.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select the data, then Insert > Chart.
  3. In Chart type pick Bubble (Miscellaneous), then set Bubble sizes and Bubble labels.

For users

Pick Bubble in the chart type list and fill the new Bubble sizes and Bubble labels ranges.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 2 of 30

Calculated columns

New featureCommunity + Enterprise

It is now possible to add calculated columns in dynamic lists.

Official Odoo 20 release note

In plain words

Dynamic lists inserted from Odoo can now include calculated columns: extra columns built from a formula that uses the row's other columns, instead of only real fields from the model.

Documents > a spreadsheet > list side panel > Columns > AddThe new Commission 5% calculated column added to the list, with its formula amount_total*0.05 shown under the column name.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Insert an Odoo list.
  3. In the list side panel, click Add under Columns and mark the new column as calculated.
  4. Name it and write a formula using the row's other field names.

For users

Lists brought into a spreadsheet can show a computed value, such as a commission or margin, as a normal column instead of needing an extra formula column outside the list.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 3 of 30

Calendar charts

New featureCommunity + Enterprise

Calendar charts have been added.

Official Odoo 20 release note

In plain words

Calendar is a new chart type for date based data. It draws a heat map grid (for example day of the week against month) where the colour of each square shows the value for that period.

Documents > a spreadsheet > Insert > Chart > Chart type: CalendarA calendar chart of daily orders: days of the week across, months down, darker squares for busier days.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select a date column and a value column, then Insert > Chart.
  3. In Chart type pick Calendar; choose the horizontal and vertical grouping (Day of Week, Month).

For users

Show daily or weekly patterns as a coloured calendar grid.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 4 of 30

Cell value orientation

New featureCommunity + Enterprise

Change the orientation of cell values.

Official Odoo 20 release note

In plain words

A Rotation button in the toolbar turns the text of the selected cells: no rotation, 45°, 90°, -90° or -45°. Rotated headers take less width, which helps narrow tables.

Documents > a spreadsheet > toolbar > RotationThe header row after applying 45° rotation from the new Rotation button of the toolbar.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select the cells (here the header row A1:F1).
  3. Click the Rotation button in the toolbar and pick 45° rotation.

For users

Tilt header text to save space.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 5 of 30

Charts

EnhancementCommunity + Enterprise

Part 1

Add annotations to charts to provide more additional context or explanations.

Official Odoo 20 release note

In plain words

Charts have a new Annotation section in the Design tab. Write a short text and an optional See more link; the chart then shows an info icon that opens this note, so readers get context without extra cells.

Documents > a spreadsheet > chart > Design > AnnotationThe new Annotation section of a chart: a note about the July peak and a See more link.

Part 2

Get chart suggestions from selected columns using the Data Analysis feature.

Official Odoo 20 release note

In plain words

Data > Data analysis opens a side panel with Suggested charts built from the selected columns. Click a suggestion to insert it; the suggestions depend on the column types and their order.

Documents > a spreadsheet > Data > Data analysisThe Data analysis panel suggests three charts for the selected Product, Units and Revenue columns.

Part 3

Define the colors of pie chart slices.

Official Odoo 20 release note

In plain words

Pie charts have a Pie Slice section in the Design tab: pick a slice (for example North) and set its own Series color instead of the automatic palette.

Documents > a spreadsheet > pie chart > Design > Pie SliceThe Pie Slice section: the North slice is selected and gets its own Series color.

Part 4

Define minimums and maximums for x and y axes to better highlight your data.

Official Odoo 20 release note

In plain words

In the Axes section of the Design tab, value axes now have an Axis range with Minimum and Maximum, so you can zoom the chart on the part of the scale that matters.

Documents > a spreadsheet > chart > Design > AxesThe new Axis range fields: the vertical axis now starts at 1500 and stops at 6500.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Insert a chart and open its Design tab.
  3. Open Annotation, Pie Slice or Axes to use the new options.
  4. For suggestions, select columns and use Data > Data analysis.

For users

More control over charts and quick chart ideas from the data.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 6 of 30

Column statistics

New featureCommunity + Enterprise

Access quick statistics per column from the "Data" menu.

Official Odoo 20 release note

In plain words

Data > Column statistics opens a side panel for the selected column: a Count or Distribution chart of its values and general statistics such as unique values, sum, average, median, minimum and maximum. Arrows switch to the next or previous column.

Documents > a spreadsheet > Data > Column statisticsThe Column statistics panel for the Revenue column: value chart plus sum, average, median, minimum and maximum.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select a column (here Revenue).
  3. Data > Column statistics.

For users

Get a quick profile of a column without writing formulas.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 7 of 30

Conditional formatting by date

EnhancementCommunity + Enterprise

Apply conditional formatting based on dates.

Official Odoo 20 release note

In plain words

Conditional formatting rules can now test dates: Date is, Date is before, Date is after, Date is on or before and Date is on or after, compared to an exact date or a relative one such as today.

Documents > a spreadsheet > Format > Conditional formattingA single colour rule using the new Date is before condition: dates before 6/1/2026 are highlighted.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select the date cells, Format > Conditional formatting.
  3. In Format cells if... pick Date is before, choose exact date and enter the date.

For users

Highlight overdue or upcoming dates without a custom formula.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 8 of 30

Curly brackets

New featureCommunity + Enterprise

Use curly brackets, i.e., {}, to create arrays or as a custom formula parser.

Official Odoo 20 release note

In plain words

Formulas accept array literals written in curly brackets: commas separate columns and semicolons separate rows. For example ={"Q1","Q2","Q3";1200,1500,1800} spills a small two row table.

Documents > a spreadsheet > cell H1The array literal typed in H1 (visible in the formula bar) spills into H1:J2.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. In a cell type ={"Q1","Q2","Q3";1200,1500,1800} and press Enter.

For users

Build constant arrays directly in formulas.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 9 of 30

Custom format

New featureCommunity + Enterprise

Define custom formats for dates & numbers.

Official Odoo 20 release note

In plain words

Format > Number now ends with Custom currency, Custom date and time and Custom number format. They open a More formats panel where you pick a preset or type your own format code, for example #,##0 "USD".

Documents > a spreadsheet > Format > Number > Custom number formatThe More formats panel: a custom number format code applied to the selected Revenue cells.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select the cells, Format > Number > Custom number format.
  3. Pick a type or type a format code in Format.

For users

Show numbers and dates exactly as needed.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 10 of 30

Data cleanup

New featureCommunity + Enterprise

Remove unused data sources using the "Data Cleanup" menu.

Official Odoo 20 release note

In plain words

Data > Data cleanup groups cleaning tools: Remove duplicates, Trim whitespace and the new Remove unused data sources, which lists Odoo pivots and lists no longer used in any cell so you can delete them.

Documents > a spreadsheet > Data > Data cleanupThe Data cleanup submenu with the new Remove unused data sources entry.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Data > Data cleanup > Remove unused data sources.
  3. Tick the unused pivots or lists in the panel and remove them.

For users

Keep spreadsheets light by removing forgotten Odoo data sources.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 11 of 30

Disable automatic recalculation

New featureCommunity + Enterprise

Disable the automatic recalculation of formulas and manually recalculate them by pressing F9.

Official Odoo 20 release note

In plain words

Data > Calculation lets you switch from Automatic to Manual. In manual mode formulas are not recomputed after each change; press F9 to recalculate, which helps with heavy spreadsheets.

Documents > a spreadsheet > Data > CalculationThe new Calculation submenu with Automatic (current) and Manual modes.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Data > Calculation > Manual.
  3. Press F9 when you want to recalculate.

For users

Avoid slow recalculation while editing big files.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 12 of 30

Global filters

EnhancementCommunity + Enterprise

Part 1

Set default operators for global filters.

Official Odoo 20 release note

In plain words

Global filters can now have a default operator, such as is equal to, greater than or between, so a new filter already compares values the way you want.

Documents > a spreadsheet > Filters > new filter > Default valueThe Default value of a new filter with its operator dropdown open: is equal to, is not equal to, greater than, lower than, between.

Part 2

Create global filters from the properties of a data source by directly selecting the field to filter on.

Official Odoo 20 release note

In plain words

When creating a global filter, you can search and pick the field to filter on directly from the fields of a data source, instead of only choosing from a fixed list of filter types.

Documents > a spreadsheet > list side panel > add filter from a fieldPicking Order Date directly from the Select a field list to build a global filter on it.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Click Filters at the top right and add a new filter, or add one from a data source's field list.
  3. Set a Default value and its operator, or search and pick a field directly.

For users

Filters can start with a chosen comparison and can be created straight from a field name, with less setup than before.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 13 of 30

List insertion

New featureCommunity + Enterprise

Insert a dynamic list directly from a spreadsheet.

Official Odoo 20 release note

In plain words

An Odoo list can now be inserted straight from the spreadsheet: open Insert, then List, pick a model, and the list is added, without first opening that model's own list view to use its Insert in spreadsheet action.

Documents > a spreadsheet > Insert > List > Odoo listThe New Odoo list panel: picking the Sales Order model to insert its list directly into the spreadsheet.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. In the spreadsheet, open Insert > List > Odoo list.
  3. Pick a model, here Sales Order, and click Save.

For users

Adding an Odoo list to a spreadsheet no longer requires opening that record list first; it can be inserted from within the spreadsheet itself.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 14 of 30

Lock sheets

New featureCommunity + Enterprise

Lock entire sheets to prevent modifications.

Official Odoo 20 release note

In plain words

Right click a sheet tab and choose Lock sheet. A locked sheet cannot be modified until someone unlocks it from the same menu, which protects reference data or finished reports.

Documents > a spreadsheet > sheet tab > right clickThe sheet tab menu with the new Lock sheet entry.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Right click the sheet tab.
  3. Choose Lock sheet (Unlock sheet to edit again).

For users

Protect a sheet against accidental edits.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 15 of 30

Mobile: pinch to zoom

New featureCommunity + Enterprise

Pinch to zoom in the grid when using Spreadsheet on mobile devices.

Official Odoo 20 release note

In plain words

On phones and tablets, pinching two fingers on the grid now zooms the spreadsheet in and out.

Mobile: Documents > spreadsheetThe spreadsheet grid on a phone after zooming to 150%. The two finger pinch itself cannot be shown in a still image; the zoom level in the toolbar is the result.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Open a spreadsheet on a mobile device.
  3. Pinch the grid with two fingers to zoom.

For users

Read and navigate spreadsheets more easily on small screens.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

  • The pinch gesture is a touch interaction, so the screenshot shows the zoomed grid rather than the gesture. Verified in the o-spreadsheet touch handler (useTouchHandlers calls setZoom from the distance between two pointers), which is absent from the Odoo 19 library.

Change 16 of 30

Multiple selection on figures

EnhancementCommunity + Enterprise

Select multiple figures, i.e., images, charts, or carousels, to reposition them at once, or select multiple charts to create a carousel.

Official Odoo 20 release note

In plain words

Hold Ctrl (or Shift) and click several figures (charts, images or carousels) to select them together and move them at once. When several charts are selected, the right click menu offers Create carousel to group them into one carousel.

Documents > a spreadsheet > two charts selected > right clickTwo charts selected together; the right click menu offers Create carousel.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Insert two charts.
  3. Click the first, Ctrl+click the second, then right click.

For users

Arrange dashboards faster and turn several charts into a carousel.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 17 of 30

Named range

New featureCommunity + Enterprise

Use the "Named Ranges" feature to add labels on cells or ranges. These named ranges can then be used in formulas or to better structure your spreadsheet.

Official Odoo 20 release note

In plain words

Data > Named ranges opens a panel to give a name to a cell or range. The name can then be used in formulas instead of the reference, and the new name box at the left of the toolbar shows and jumps to named ranges.

Documents > a spreadsheet > Data > Named rangesThe Named ranges panel: E2:E13 is named Revenue and used in =SUM(Revenue).

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select a range, Data > Named ranges > Add a new named range.
  3. Rename it (here Revenue) and use the name in a formula.

For users

Readable formulas and easier navigation.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 18 of 30

New functions

New featureCommunity + Enterprise

Part 1

New functions have been added: Lookup functions: CHOOSE, DROP, FORMULATEXT, and TAKE

Official Odoo 20 release note

In plain words

Lookup functions: CHOOSE returns one of its values by position, TAKE and DROP keep or remove rows or columns from the start or end of an array, and FORMULATEXT returns the formula of a cell as text.

Documents > a spreadsheet > Functions sheetCHOOSE, TAKE, DROP and FORMULATEXT in use; column A itself shows each formula with FORMULATEXT.

Part 2

Statistical functions: CHISQ.TEST, CHISQ.TEST, CONFIDENCE.NORM, F.TEST, GEOMEAN, HARMEAN, KURT, SKEW, and TRIMMEAN

Official Odoo 20 release note

In plain words

Statistical functions: CHISQ.TEST, CONFIDENCE.NORM, F.TEST, GEOMEAN, HARMEAN, KURT, SKEW and TRIMMEAN are now available.

Documents > a spreadsheet > Functions sheetResults of the new statistical functions on the demo sales data.

Part 3

Text functions: ARRAYTOTEXT

Official Odoo 20 release note

In plain words

Text functions: ARRAYTOTEXT turns a range into a single text value.

Documents > a spreadsheet > Functions sheetARRAYTOTEXT joins the product names of C2:C5 into one text.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Type one of the new functions in a cell, for example =GEOMEAN(E2:E13).

For users

More Excel compatible functions.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 19 of 30

Pivot tables

New featureCommunity + Enterprise

Part 1

Add a "Domain" to a pivot table created from a range of spreadsheet data to filter the data by values or by criterion.

Official Odoo 20 release note

In plain words

A pivot table built from a range of spreadsheet data can now have a Domain: add a field and pick which of its values to keep, to filter the rows that feed the pivot.

Documents > a spreadsheet > pivot side panel > DomainThe Domain section of a range pivot: a filter on Region, with South picked from its values.

Part 2

Customize the appearance of pivot tables using the style options in the side panel.

Official Odoo 20 release note

In plain words

The pivot's Design tab has a new Display section with layout choices, such as showing totals and titles or turning on the tabular layout.

Documents > a spreadsheet > pivot side panel > Design > DisplayThe new Display section of the Design tab: options for totals, titles and the tabular layout.

Part 3

Apply specific styles to pivot tables.

Official Odoo 20 release note

In plain words

The Design tab also offers ready made pivot table styles, for example banded rows or columns, applied with one click from a small gallery.

Documents > a spreadsheet > pivot side panel > Design > Table styleThe Table style section: banded rows and columns options plus a gallery of ready made styles.

Part 4

Expand and collapse all in dynamic pivots.

Official Odoo 20 release note

In plain words

Right click a group in a dynamic pivot table for the new Expand/Collapse menu, with Collapse all and Expand all to open or close every group at once.

Documents > a spreadsheet > pivot group > right clickRight clicking a group row opens Expand/Collapse, with Collapse and Collapse all in the submenu.

Part 5

In dynamic pivot tables, switch between the nested view and the tabular view, which flattens the row dimensions.

Official Odoo 20 release note

In plain words

Dynamic pivot tables can switch between the normal nested layout and a tabular layout, which flattens all the row groupings into plain columns.

Documents > a spreadsheet > pivot side panel > Design > tabular layoutThe same pivot switched to the tabular layout: Region and Product become plain columns instead of nested row groups.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select a data range, then Insert > Pivot table > From range.
  3. Add fields to Rows and Measures.
  4. Use Domain to filter, or open the Design tab for display options, table styles and the tabular layout.
  5. Right click a group row for Expand/Collapse.

For users

Pivots built from spreadsheet ranges can be filtered and restyled from the side panel, every group can be expanded or collapsed together, and a flat tabular layout is available next to the usual nested one.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps. The pivot definition also gained a tabularForm flag and style fields; code that reads or writes pivot definitions directly should tolerate these new optional properties.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 21 of 30

Property fields in inserted lists

EnhancementCommunity + Enterprise

Property fields visible in a list view are now included when inserting the list into an Odoo spreadsheet.

Official Odoo 20 release note

In plain words

Property fields (custom fields added per record with the Properties widget) that are visible in a list view are now included when that list is inserted into a spreadsheet, instead of being left out.

Documents > a spreadsheet > list side panel > ColumnsThe Renewal window property column included in the inserted Pipeline list, marked Properties > Renewal window in the Columns section.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Add a Properties field to a list view and give it a value on a few records.
  3. Select records and use Actions > Insert in spreadsheet.
  4. Check the Columns section of the list side panel: the property appears like a normal column.

For users

Custom Properties fields shown in a list are no longer dropped when that list is sent to a spreadsheet; their column and values now come along with the model's regular fields.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 22 of 30

Reduced JSON file size

PerformanceCommunity + Enterprise

Downloaded JSON files have a new formula structure to reduce their overall size.

Official Odoo 20 release note

In plain words

Inserted Odoo lists and pivots now use one formula that fills the whole table, for example ODOO.LIST(1, 80) in the first cell, instead of a separate formula in every cell, so the spreadsheet's JSON file is smaller and faster to download and save.

Documents > a spreadsheet > cell A1 > formula barCell A1 of an inserted 80 row Odoo list holds a single formula, ODOO.LIST(1, 80), instead of one formula per cell.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Insert an Odoo list.
  3. Click the first cell of the list and look at the formula bar.

For users

Spreadsheets and downloaded JSON files with Odoo lists or pivots are smaller and open and save faster.

For developers

Formulas referencing Odoo data are written in a shorter, spillable form (mode dynamic) in the JSON; code that parses spreadsheet JSON directly should rely on the o-spreadsheet migrations instead of the raw structure.

Upgrading from Odoo 19

Older files are migrated automatically when opened.

Change 23 of 30

Regex formulas

New featureCommunity + Enterprise

The REGEXTEST and REGEXREPLACE formulas have been added.

Official Odoo 20 release note

In plain words

Two new text functions use regular expressions: REGEXTEST(text, pattern) returns TRUE or FALSE, and REGEXREPLACE(text, pattern, replacement) replaces the matching parts.

Documents > a spreadsheet > columns G and HColumn G uses REGEXTEST to flag products starting with D; column H uses REGEXREPLACE to remove vowels (formula visible in the bar).

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Type =REGEXTEST(C2,"^D") or =REGEXREPLACE(B2,"[aeiou]","").

For users

Pattern based text checks and clean up.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 24 of 30

Scientific notation

New featureCommunity + Enterprise

Format numbers in scientific notation.

Official Odoo 20 release note

In plain words

Format > Number has a new Scientific format (shown as 1.01e-01) for very large or very small values.

Documents > a spreadsheet > Format > NumberThe Number format menu with the new Scientific entry.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select the cells, Format > Number > Scientific.

For users

Display numbers in scientific notation.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 25 of 30

Sheet background colors

New featureCommunity + Enterprise

Set a background color on an entire sheet grid.

Official Odoo 20 release note

In plain words

Right click a sheet tab and use Change grid color to give the whole grid of that sheet a background color, for example to set apart input sheets.

Documents > a spreadsheet > sheet tab > Change grid colorThe grid of the Sales sheet after picking a background color with Change grid color.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Right click the sheet tab, Change grid color, pick a color.

For users

Color code sheets.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 26 of 30

Spill range operator

New featureCommunity + Enterprise

When using a spilled array function such as SEQUENCE, use the spilled range operator (#) to dynamically reference the entire spill range from a single cell.

Official Odoo 20 release note

In plain words

When a formula spills (like SEQUENCE), add # after its first cell, for example =SUM(H2#), to refer to the whole spilled range. The reference grows or shrinks with the result.

Documents > a spreadsheet > cells H1:I6=SUM(H2#) in I2: the # operator selects the whole range spilled by =SEQUENCE in H2 (highlighted).

Where to find it

  1. Documents, create or open a spreadsheet.
  2. In H2 type =SEQUENCE(5,1,1000,500).
  3. In I2 type =SUM(H2#).

For users

Formulas that follow dynamic arrays automatically.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 27 of 30

Template access

SecurityEnterprise only

Limit template visibility and access to defined user groups.

Official Odoo 20 release note

In plain words

Spreadsheet templates, used when creating a new spreadsheet or dashboard, can now be limited to chosen user groups through an Access Groups field, so only users in one of those groups can see and use a restricted template.

Documents > Configuration > Spreadsheet TemplatesThe Spreadsheet Templates list with its Access Groups column: each template is limited to one or more groups such as Sales or Accounting.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Open Documents > Configuration > Spreadsheet Templates.
  3. Set the Access Groups field on a template to the groups that should see it.

For users

Only users in one of a template's Access Groups can pick it when starting a new spreadsheet, so sensitive templates can be kept away from the wrong audience.

For developers

The restriction is a group_ids (Access Groups) many2many field on the spreadsheet.template model; code that creates templates programmatically can set this field to control who sees them.

Upgrading from Odoo 19

Existing templates keep their default Access Groups (the internal Employee group), so they stay visible to the same users as before until an administrator changes it.

Change 28 of 30

Top menu navigation

EnhancementCommunity + Enterprise

Use keyboard shortcuts to open the top menus, and navigate them using the keyboard's arrow keys and the Enter and Escape buttons.

Official Odoo 20 release note

In plain words

Top menus open from the keyboard: Alt+Shift+F (File), E (Edit), V (View), I (Insert), O (Format) and D (Data). Move with the arrow keys, Enter runs the item and Escape closes the menu.

Documents > a spreadsheet > Alt+Shift+DThe Data menu opened with Alt+Shift+D; the arrow keys moved the highlight to Data cleanup.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Press Alt+Shift+D, then use the arrow keys, Enter and Escape.

For users

Use the menus without the mouse.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 29 of 30

Top/bottom ranking conditional formatting

EnhancementCommunity + Enterprise

The "Is in Top/Bottom ranking" conditional formatting option has been added, allowing cells to be formatted based on their ranking.

Official Odoo 20 release note

In plain words

Conditional formatting has a new Is in Top/Bottom ranking condition: highlight the top or bottom N values, or N percent, of the range.

Documents > a spreadsheet > Format > Conditional formattingA rule with the new Is in Top/Bottom ranking condition: the top 3 revenues are highlighted.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. Select the cells, Format > Conditional formatting.
  3. Pick Is in Top/Bottom ranking, choose Top, enter 3 and Values.

For users

Spot best and worst values at a glance.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

Change 30 of 30

Zoom in/out

New featureCommunity + Enterprise

Zoom in or out to adjust the view of a spreadsheet.

Official Odoo 20 release note

In plain words

View > Zoom sets the zoom of the grid from 50% to 200%; the zoom level is also available in the toolbar.

Documents > a spreadsheet > View > ZoomThe new Zoom submenu with levels from 50% to 200%.

Where to find it

  1. Documents, create or open a spreadsheet.
  2. View > Zoom and pick a level.

For users

Adjust the view for wide or detailed sheets.

For developers

The feature is part of the o-spreadsheet library bundled in the Community spreadsheet module (version 19.5.0-alpha.20 in Odoo 20, 19.0.51 in Odoo 19); editing spreadsheets needs the Enterprise spreadsheet apps.

Upgrading from Odoo 19

Nothing to migrate: existing spreadsheets open as before and simply gain the option.

See all 585 Odoo 20 changes across 52 apps

Odoo 20 Spreadsheet: common questions

What is new in Odoo 20 Spreadsheet?

The official Odoo 20 release notes list 30 Spreadsheet changes (21 new features, 7 enhancements, 1 performance, 1 security). They include Bubble charts, Calculated columns, Calendar charts, Cell value orientation and more.

Are the Odoo 20 Spreadsheet changes available in Community edition?

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

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

2 of the 30 changes have something to check when upgrading from Odoo 19, for example Reduced JSON file size, Template access. Each change on this page has an "Upgrading from Odoo 19" note. Test custom modules on a copy of your database before moving production.

How do I upgrade Spreadsheet to Odoo 20?

Restore a copy of your database, run the Odoo 20 upgrade on the copy, fix any custom modules that extend Spreadsheet, then test your main Spreadsheet 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 Spreadsheet 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.