Skip to main content
TechUltra Solutions Pvt. Ltd. — AI-Enabled ERP Transformation
Free Consultation
Menu

Odoo 20 · detailed guide

What's new in Odoo 20 Website & eCommerce

AI site building, smarter product pages, smoother bookings.

120 new features
6 apps covered
93 screenshots

Odoo 20 brings a wide set of changes to the apps that face your customers online. The website editor gains an AI assistant, new building blocks and finer design controls. The online shop adds smarter product suggestions, self-service returns and delivery date choices. Blog, eLearning, Events and Appointments get practical updates that save time for both your team and your visitors.

These improvements are useful for business owners who run their own website, marketing teams who publish content, shop managers who handle online orders, and service businesses that take bookings. In this post we walk through the most useful features app by app, explain how they are used, and list the other notable additions you may want to explore.

Last updated 14 October 2026

60 new in Odoo 20

Website

60 features
01
ImprovedCommunity + Enterprise

Accented characters in URLs

Website > Site > Pages

Website page URLs can contain accented letters. When a page is created with a name such as Café Crème Brûlée, its address keeps those characters rather than being reduced to plain ASCII. The URL is normalized with Unicode rules when the slug is generated, so the same address always matches the same page. Accented URLs can be seen in the Page URL column of the Pages list. This applies to pages created by website editors in any language that uses such characters.

Why it matters Lets businesses keep accented letters in page URLs so addresses read naturally in their language.

How to use it

  1. Go to Website > Site > New Page and use an accented name.
  2. Go to Website > Site > Pages.
  3. Check the Page URL column.
Odoo 20 · Website
Website Pages: new page URL keeps accents (/café-économie)
02
NewCommunity + Enterprise

Age verification popup

Website > Edit > Blocks > Contact & Forms

An Age Verification Popup block is available in the Contact & Forms group of the website editor. Visitors confirm their age by answering Yes or No, by entering a birth year, or by entering a full birth date. With the year or date methods, the editor sets a Minimum Age, which is 18 by default, and can blur the page behind the popup. A visitor below the minimum age sees a rejection message and cannot use the site.

Why it matters Helps businesses selling age-restricted products block underage visitors with a customizable age check.

How to use it

  1. Go to Website > Edit and open the Blocks tab.
  2. Drag Contact & Forms and search for Age Verification.
  3. Click the popup and set Confirmation under Style.
Odoo 20 · Website
Insert a block: Age verification popup asking Are you 18 years or older?
03
ImprovedEnterprise

AI Website Assistant

Website > Edit > AI

The website editor has an AI button that opens the AI Website Assistant chat. Users describe what they want, and the assistant chooses and edits building blocks, adds Unsplash or generated images, searches the web and the database, and creates pages. Separate skills let it build working website forms that send emails or create records, and edit website menus. With Select Elements in the chat's + menu, users click blocks to show which part they mean. Agent skills and tools are listed in the AI app.

Why it matters Lets teams build and edit pages, forms and menus by chatting with AI inside the editor.

How to use it

  1. Go to Website > Edit and click the AI button.
  2. Use a ready prompt or type a request.
  3. Use + > Select Elements to point at a block.
Odoo 20 · Website
Editor AI button opens the AI Website Assistant chat with ready prompts
04
NewCommunity + Enterprise

Animated number building block

Website > Edit > Blocks > Inner Content

Animated Number is an inner content block for website pages. It shows a title, for example Clients, and a number that counts up from a start value to an end value when the visitor scrolls the block into view. Options in the editor control the alignment, the position of the title, the start and end values, and the animation. It is placed inside an existing section, such as a column, to highlight figures like customers served or projects completed.

Why it matters Lets businesses highlight key figures with numbers that count up as visitors scroll.

How to use it

  1. Go to Website > Edit and open the Blocks tab.
  2. Scroll to Inner Content.
  3. Drag Animated Number into a section.
Odoo 20 · Website
Blocks tab Inner Content: new Animated Number block
05
ImprovedEnterprise

Appointment page layout

Website > /appointment > Edit > Style

On the website's /appointment page, the editor's Style tab includes an Appointments Page option with a Layout setting. Three layouts are offered: List, which shows rows with an image on the side; Cards; and Pictures. The chosen layout controls how available appointment types are presented to visitors who want to book. Website editors switch between layouts while editing the page and see the result immediately, so they can pick the one that fits the rest of their site.

Why it matters Lets businesses present their appointment listings as a list, cards or pictures to suit their site.

How to use it

  1. Open the website /appointment page and click Edit.
  2. Click the appointment list.
  3. Open Style > Appointments Page > Layout and choose a layout.
Odoo 20 · Website
Appointments Page Style: Layout selector with List, Cards and Pictures
06
NewCommunity + Enterprise

Banners

Website > Edit > Style > Header

The header options in the website editor include a Show Disclaimer switch. When it is turned on, a slim banner appears above the header on every page. Its default text reads Free Returns and Standard Shipping, and the editor can change that text like any other content on the page. Companies use the banner to announce promotions, holiday opening hours or other notices that every visitor should see, and switch it off when the message is no longer relevant.

Why it matters Lets businesses announce promotions or holiday notices in a slim banner above the site header.

How to use it

  1. Go to Website > Edit, click the header, open Style.
  2. Under Header, turn on Show Disclaimer.
  3. Edit the banner text directly on the page.
Odoo 20 · Website
Slim disclaimer banner shown above the website header
07
NewCommunity

Card and column anchors

Website > Edit > Style > Card

Cards and columns in the website editor have a chain-link icon, like the one sections already use. Clicking it from the Card panel's header row gives the element an id if it lacks one and copies a #id link to the clipboard, confirmed by a notification. The copied link can be used in menus, buttons or other pages to send visitors directly to that card or column. This lets editors build direct links to specific content inside long pages.

Why it matters Lets teams share links that jump visitors straight to a specific card or column.

How to use it

  1. Go to Website > Edit and click a card.
  2. In the Style tab, click the link icon next to Card.
  3. Paste the copied #id link where needed.
Odoo 20 · Website
Style tab: link icon next to Column creates a shareable anchor
08
NewCommunity

Card enhancements

Website > Edit > Style > Card

Cards in the website editor have two extra options. The Animation dropdown in the Style panel offers an On Hover trigger, available only when the selected element is an actual image, so card images can animate when visitors point at them. The Card panel also has a Make it clickable toggle; when it is on, a Your URL field appears, and once a link is entered, clicking anywhere on the published card opens that URL.

Why it matters Lets businesses add hover animations to card images and make whole cards clickable.

How to use it

  1. Go to Website > Edit, click a card image, open Style.
  2. Set Animation to On Hover.
  3. Select the card, turn on Make it clickable and fill Your URL.
Odoo 20 · Website
Card Style options: Make it clickable toggle with Your URL field
09
NewCommunity

Carousel transition

Website > Edit > Style > Carousel

The Carousel panel in the website editor has a Duration range next to the Transition setting. It sets how long the animation between slides lasts, from 0.1 to 5 seconds. This is separate from the Autoplay Timespan, which sets how long each slide stays on screen. The panel opens when the editor clicks the outer section of the carousel rather than an individual slide, and the value is adjusted by dragging the range.

Why it matters Lets site editors control how fast carousel slides animate between each other.

How to use it

  1. Go to Website > Edit and click a carousel's edge.
  2. In Style, find Transition and the Duration range.
  3. Drag Duration to change the slide animation speed.
Odoo 20 · Website
Carousel Style options: Transition with Duration range slider
10
NewCommunity

Color palette preview

Website > Edit > Theme > Colors

In the website editor's Theme tab, the Colors panel has an eye icon. Clicking it opens a Colors Preview dialog that renders every saved colour preset, plus general interface elements such as inputs and status badges, on the same sample content. Editors can check how a palette really looks on the site before applying it to the live website, which reduces trial and error when choosing theme colours for different sections.

Why it matters Helps designers compare every color preset on sample content before choosing one.

How to use it

  1. Go to Website > Edit and open the Theme tab.
  2. Click the Colors row to expand it.
  3. Click the eye icon to open the preview.
Odoo 20 · Website
Eye icon in Theme > Colors opens the Colors Preview dialog
11
ImprovedCommunity + Enterprise

Connection shape color

Website > Edit > Style > Shape > Connections

When a background shape from the Connections group is applied to a website section, the shape reads the section's own background and the colours of neighbouring sections. It then colours its dark and light fill areas to match that context, so the shape blends with the surrounding design. Editors apply these shapes from the Shape options in the Style tab of a selected section, and the colours adapt without manual adjustment.

Why it matters Keeps connection background shapes visually consistent by matching colors to the surrounding section.

How to use it

  1. Go to Website > Edit and select a section.
  2. In Style, open Shape.
  3. Choose a shape from the Connections group.
Odoo 20 · Website
Connections 03 shape applied, colored from the adjacent section context
12
ImprovedCommunity

Cookies

Website > Configuration > Settings

The website cookie consent bar includes a close button, so visitors can dismiss it without choosing an option. In the website settings, administrators can also choose any existing page of the site as the cookie policy page that the bar links to. Both options are part of the Cookies Bar setting. Visitors see the close button when the bar appears on any page, and the policy link opens whichever page the administrator selected.

Why it matters Lets businesses add a close button to the cookie bar and link it to their chosen policy page.

How to use it

  1. Go to Website > Configuration > Settings and enable Cookies Bar.
  2. Set the Cookie policy page to an existing page.
  3. Open a page as a visitor to see the bar.
Odoo 20 · Website
Cookies Bar settings with selectable Cookie policy page
13
ImprovedCommunity

Countdown snippets

Website > Edit > Style > Countdown

The Countdown block and its inner content version share the same set of options in the website editor. A Title Position control lets editors place the countdown heading above the numbers, beside them, or hide it. These options sit alongside the existing layout and colour settings in the Countdown panel of the Style tab. Editors use countdowns for events, launches or limited offers, and can adjust their look from one consistent panel.

Why it matters Lets businesses build countdowns for launches or deadlines with unified options, including title positioning.

How to use it

  1. Go to Website > Edit and select a Countdown block.
  2. Open the Countdown panel in Style.
  3. Use Title Position to move or hide the heading.
Odoo 20 · Website
Countdown Style options with new Title Position control
14
NewCommunity

Customizable portal cards

My Account > Edit > Style

The summary cards on the customer portal home page, such as Orders or Invoices, can be restyled in the website editor. When the My Account page (/my) is opened in Edit mode and a card is selected, the Style tab offers Background Color, Gap and Border options. Changes apply to all the cards, letting the portal match the look of the rest of the website. Website editors make these changes while logged in.

Why it matters Lets businesses restyle My Account summary cards to match their website's look.

How to use it

  1. Log in and open My Account (/my) in Edit mode.
  2. Click a card such as Orders or Invoices.
  3. In Style, set Background Color, Gap and Border.
Odoo 20 · Website
My Account in edit mode: Portal Cards style options (color, gap, border)
15
ImprovedCommunity

Donation snippet customization

Website > Edit > Style > Donation Form

The Donation snippet sends contributions through the standard eCommerce cart and checkout rather than a separate form. Donations therefore use the shop's regular checkout fields, such as name, address and payment details, which lets organisations collect the details they are legally required to record. Pre-filled amounts and Donation Form options are set in the Style tab of the block. Editors add or select the Donation block in the website editor.

Why it matters Helps organizations collect legally required donor details while processing donations through the standard checkout.

How to use it

  1. Go to Website > Edit and add or select a Donation block.
  2. Open Style to set amounts and Donation Form options.
  3. Submit a donation to go through the shop checkout.
Odoo 20 · Website
Donation Form Style options: prefilled amounts, descriptions, custom amount
16
NewCommunity + Enterprise

Dynamic carousels

Website > Edit > Blocks > Blogs

The website editor includes building blocks that show rotating carousels of blog posts, events and appointments. These dynamic carousels can be placed on any page, and they display live records that update automatically as content changes. In the Style tab, a panel for the block, such as Blog Posts, controls which records appear and how many. Editors find them in the related categories of the Blocks tab, for example Blogs.

Why it matters Lets businesses showcase blogs, events or appointments in rotating blocks on any page.

How to use it

  1. Go to Website > Edit and open the Blocks tab.
  2. Open Blogs and drag Blog Posts Carousel onto the page.
  3. In Style, choose which posts and how many.
Odoo 20 · Website
Blogs blocks: ready-made Dynamic Carousel of blog posts
17
ImprovedCommunity

Events, Jobs, and Blog pages

Blog post page > Share icons

On blog posts, events and job pages that display a sidebar, the follow and share sections are standard Social Media and Share snippets. These are the same editable building blocks used elsewhere on the website, so editors can change their networks, look and layout with the usual options. To edit them, the user opens the page in Edit mode and clicks the share icons, for example near a blog post title.

Why it matters Lets teams edit Follow/Share sections on Events, Jobs and Blog pages like any other snippet.

How to use it

  1. Open a blog post with its sidebar enabled.
  2. Switch to Edit mode.
  3. Click the Share icons and edit the snippet.
Odoo 20 · Website
Blog post share icons are now a standard editable Share snippet
18
NewCommunity

Font weight selector

Website > Edit > Theme > Paragraph

The website editor's Theme tab has Font Weight controls in the Headings and Paragraph sections. Expanding a Font Weight setting shows separate values for Light and Bold weights, so editors can fine-tune text weight for each typography level across the whole site from a single place. The settings apply to all pages that use the theme, giving a consistent look to headings and body text.

Why it matters Lets designers set light, normal or bold weights for each typography level from the Theme tab.

How to use it

  1. Go to Website > Edit and open the Theme tab.
  2. Open Headings or Paragraph.
  3. Expand Font Weight and set Light and Bold values.
Odoo 20 · Website
Theme tab: Paragraph Font Weight with Light and Bold selectors
19
NewCommunity + Enterprise

Form enhancements

Website > Edit > Style > Field

Website forms have many extra options. Dropdowns can start empty to force a choice, and checkboxes get their own design options, such as Hide Label. The Theme tab offers borders per side, and the form itself has a Labels Position setting. Fields can restrict file types, limit characters in text fields and check email domains. Text blocks can be dragged between fields, and labels can be edited inline. Options appear in the Style tab when a field or the form is selected.

Why it matters Helps businesses build cleaner, stricter website forms with required fields, upload limits and email domain checks.

How to use it

  1. Go to Website > Edit and click a form field.
  2. Use the field's Style options or change Type.
  3. Select the form for Labels Position; drag Text blocks between fields.
Odoo 20 · Website
Form field Style options with new Character Limit toggle
20
NewCommunity + Enterprise

Forum notifications

Forum > Question > Answer > Follow button

Each answer in a forum question has its own Follow button, separate from the button on the question. Users who follow a specific answer are notified only about activity on that answer, such as edits or comments, rather than the whole thread. This helps people track one reply they care about without receiving notifications for every other answer posted to the same question.

Why it matters Lets forum users follow a single answer and get notified only about its activity.

How to use it

  1. Open a forum question with at least one answer.
  2. Find the Follow icon next to an answer.
  3. Click it to follow that answer only.
Odoo 20 · Website
Forum answer with its own Follow (bell) button
21
NewCommunity + Enterprise

Fullscreen images

Website > Edit > Style > Image > Pop-up on Click

Any single image on a website page can use a Pop-up on Click option. When the option is enabled, visitors who click the image on the published page see it at full size in a lightbox. The setting is found in the Style options of the selected image in the website editor and works for images outside gallery blocks as well.

Why it matters Lets visitors click an image to view it full-size in a lightbox.

How to use it

  1. Go to Website > Edit and select an image.
  2. In Style, enable Pop-up on Click.
  3. Click the image on the published page.
Odoo 20 · Website
Image Style options with Pop-up on Click toggle
22
NewCommunity + Enterprise

General shadow options

Website > Edit > Theme > Shadow

The Theme tab in the website editor includes a Shadow section with Small, Normal and Large presets. Each preset has adjustable horizontal and vertical offsets. Editors set these values once and they apply site-wide to the drop shadows used on elements such as cards and sections, giving a consistent look without styling each element separately. Shadow presets are part of the theme settings.

Why it matters Lets designers apply consistent shadow styles across the whole site from one place.

How to use it

  1. Go to Website > Edit and open the Theme tab.
  2. Scroll to the Shadow section.
  3. Adjust the Small, Normal or Large values.
Odoo 20 · Website
Theme tab: Shadow section with Small, Normal and Large presets
23
ImprovedCommunity + Enterprise

Google Tag Manager (GTM)

Website > Configuration > Settings > Tracking & SEO

The website settings have a single Identifier field for Google tracking. Odoo detects whether the value is a Google Analytics measurement ID, starting with G-, or a Google Tag Manager container ID, starting with GTM-, and loads the matching script. Administrators enable the option in the Tracking & SEO part of the Website settings and enter one identifier. Only one identifier is needed.

Why it matters Lets marketers connect Google Analytics or Tag Manager by entering a single ID.

How to use it

  1. Go to Website > Configuration > Settings.
  2. Enable Google Tag Manager/Google Analytics.
  3. Enter a G- or GTM- identifier in the Identifier field.
Odoo 20 · Website
Single Identifier field accepting G- or GTM- IDs
24
NewCommunity + Enterprise

Inner content blocks: icons and Instagram

Website > Edit > Blocks > Inner Content

The Inner Content section of the website Blocks tab contains an Icon block and an Instagram block. The Icon block places a single icon inside any section, while the Instagram block shows an Instagram profile feed sized to fit inside a column. They sit beside other inner blocks such as Image, Video and Facebook and are dragged into columns like them.

Why it matters Lets editors place icons and Instagram content inside other blocks.

How to use it

  1. Go to Website, open a page and click Edit.
  2. In the Blocks tab, scroll to Inner Content.
  3. Drag Icon or Instagram into a column.
Odoo 20 · Website
Blocks tab Inner Content: new Icon and Instagram blocks
25
NewCommunity

Job and eLearning course building blocks

Website > Edit (debug) > Dynamic Snippet > Filter

With developer mode active, the website Blocks tab shows a Debug group containing the Dynamic Snippet and Dynamic Carousel blocks. Their Filter list includes Latest eLearning Courses and Latest Job Positions, so a page can display courses and open job positions that update automatically as records change. The filter is chosen in the Style tab of the block. Both blocks belong to the Debug group shown in developer mode.

Why it matters Lets businesses display job offers and courses dynamically on any website page.

How to use it

  1. Activate developer mode.
  2. Go to Website > Edit > Blocks > Debug > Dynamic Snippet.
  3. In the Style tab, choose a Filter.
Odoo 20 · Website
Dynamic Snippet Filter list with Latest Job Positions and Latest eLearning Courses
26
ImprovedCommunity + Enterprise

Link and button styling

Website > Edit > Style > Button

When a button is selected on a website page, the Style tab shows its Type, such as Primary or Secondary, with a pencil icon beside it. Clicking the pencil opens the Theme tab at the button settings, where the look of that button type is changed for the whole website at once. This connects the styling of one button to the site-wide theme settings.

Why it matters Lets designers edit theme button and link styles directly from the Style tab.

How to use it

  1. Go to Website > Edit.
  2. Click a button on the page.
  3. In Style > Button, click the pencil next to Type.
Odoo 20 · Website
Button Style options: pencil next to Type edits theme button styles
27
NewCommunity

Link tracker: QR codes

Link Tracker form

Every tracked link can be downloaded as a QR code. The link tracker form has a Download QR Code button, and the website link shortener page at /r shows the same button next to each link. The QR code can then be placed on slides or printed material so people reach the short URL by scanning it. The button is on the link tracker record.

Why it matters Lets marketers turn tracked links into QR codes for print or offline campaigns.

How to use it

  1. Open a link tracker record, for example from Website.
  2. Click Download QR Code.
  3. Use the downloaded image in print or slides.
Odoo 20 · Website
Link tracker form with new Download QR Code button
28
NewCommunity + Enterprise

llms.txt

Website > Configuration > Settings > Tracking & SEO

The website settings include an LLMs.txt option in the Tracking & SEO section. Clicking Edit llms.txt lets the administrator write a short Markdown document describing the site. Odoo publishes it at /llms.txt, where AI tools can read what the site contains and how its content may be used. The file is meant for machine readers and is written in Markdown by the site administrator.

Why it matters Helps AI tools understand a business's website by publishing machine-readable documentation at /llms.txt.

How to use it

  1. Go to Website > Configuration > Settings.
  2. Find LLMs.txt under Tracking & SEO.
  3. Click Edit llms.txt and write the content.
Odoo 20 · Website
Website settings: LLMs.txt and Google Tag Manager
29
NewCommunity + Enterprise

Module-specific search

Website > Edit > header search > Style

The search box in the website header can be limited to one type of content. In Edit mode, clicking the header search icon shows a Search group in the Style tab with a Search within option. Editors choose Everything, or restrict the search to a single type such as Pages, Blogs, Events, Jobs, Courses or Products. This setting applies to the header search only.

Why it matters Lets businesses limit header search to one content type or search everything.

How to use it

  1. Go to Website > Edit.
  2. Click the search icon in the header.
  3. Set Style > Search > Search within.
Odoo 20 · Website
Header search Style options: Search within restricts to one content type
30
ImprovedCommunity + Enterprise

Multiple websites: change default site

Website > Configuration > Websites

When a database runs several websites, the default website is the first one in the Websites list. Administrators drag a website to the top row with its handle to make it the default, and website settings meant for the default site move to it. The list is found in the Website configuration menu. The order of the list therefore decides which site is used as the default.

Why it matters Lets businesses with several websites choose the default one by reordering the list.

How to use it

  1. Go to Website > Configuration > Websites.
  2. Drag a website to the first row with the handle.
  3. Check that it is now the default site.
Odoo 20 · Website
Websites list with drag handles; the first website becomes the default
31
NewCommunity + Enterprise

New Icon List inner content block

Website > Edit > Blocks > Inner Content

Icon List is an inner content block that adds a list in which every line begins with an icon, a check mark by default. Editors can change the icon and the text of each line. It is dragged from the Inner Content section of the Blocks tab into a column, and is suited to feature lists or short bullet points on a page.

Why it matters Lets editors create lists with custom icons next to each line of text.

How to use it

  1. Go to Website > Edit.
  2. Open the Blocks tab and scroll to Inner Content.
  3. Drag Icon List into a column.
Odoo 20 · Website
Blocks tab Inner Content: new Icon List block
32
NewCommunity

Partners page

Apps > Website Partnership

Installing the Website Partnership module adds a /partners page that lists members and partners. Entries are grouped by partnership level, and the module provides building blocks for the page. It is installed from the Apps menu.

Why it matters Lets businesses showcase members and partners on a /partners page grouped by partnership level.

How to use it

  1. Go to Apps.
  2. Install Website Partnership.
Odoo 20 · Website
/partners page listing partners grouped by partnership level
33
NewCommunity

Portal users: profile picture

Portal > My Account > Account Details

Portal users can manage their own profile picture from the Account Details page of their portal account. They can view the current picture and upload, change or delete it themselves.

Why it matters Lets portal users manage their own profile picture from Account Details.

How to use it

  1. Open the portal and go to My Account.
  2. Open Account Details to manage the picture.
Odoo 20 · Website
Portal Account Details with profile picture edit and delete buttons
34
ImprovedCommunity

Publish/unpublish partners

Website > Site > Partners

The Partners menu under Website > Site lists partner pages with a Published column. Users can publish or unpublish several partners at once from this list.

Why it matters Helps teams publish or unpublish several partner pages at once from one list.

How to use it

  1. Go to Website > Site > Partners.
  2. Select partners and publish or unpublish them.
Odoo 20 · Website
Partner Pages list with Is Published column and bulk Publish/Unpublish actions
35
ImprovedCommunity + Enterprise

Redirections

Website > Configuration > Redirects

Creating website redirects has several defaults. New redirects use type 301, their names are filled in automatically, and a warning is shown when the source URL is an existing page.

Why it matters Helps teams create correct 301 redirects faster and avoid accidentally redirecting existing pages.

How to use it

  1. Go to Website > Configuration > Redirects.
  2. Create a redirect.
Odoo 20 · Website
New redirect: defaults to 301 and warns the source URL is an existing page
36
ImprovedCommunity + Enterprise

Repositioning text over cover image

Website > Edit > Cover block

In the Cover block, text is placed in a column with its own move handle. Editors can drag that text box to a different position over the cover image.

Why it matters Lets editors drag cover text to the best spot over the image.

How to use it

  1. Go to Website > Edit and select a Cover block.
  2. Drag the text column by its move handle.
Odoo 20 · Website
Cover block text column selected with its own move handle
37
ImprovedCommunity

Search results

Website search results show translated page names on multi-language sites. Results are grouped by category with improved layouts, and the search uses fuzzy matching to find close matches.

Why it matters Helps visitors find content faster with grouped, translated and typo-tolerant search results.
Odoo 20 · Website
Website search results grouped by category with result counts
38
ImprovedCommunity + Enterprise

Sidebar revamp

Website > Edit > Style tab

In the website editor's Style tab, only the option group of the clicked element stays open. The groups for its parent elements fold to a single line, which keeps the sidebar shorter and focused.

Why it matters Helps editors focus on the clicked element's options without a cluttered sidebar.

How to use it

  1. Go to Website > Edit.
  2. Click an element and check the Style tab.
Odoo 20 · Website
Style tab: parent Products Carousel group folded, only Column options open
39
ChangedCommunity + Enterprise

Simplified inner content blocks

Website > Edit > Share block

The Share and Social Media inner blocks use one shared option panel. In the Share block, each network appears as a row that can be switched on or off and dragged to change the order.

Why it matters Lets editors manage Share and Social Media blocks from one panel and reorder networks by dragging.

How to use it

  1. Go to Website > Edit and select a Share block.
  2. Toggle networks and drag rows to reorder them.
Odoo 20 · Website
Share block options: networks as on/off rows with drag handles to reorder
40
ImprovedCommunity + Enterprise

Social media links

Website > Edit > Social Media block

In the Social Media block, each link is a single URL row. The block recognises the network from the address entered and displays the matching icon automatically.

Why it matters Lets editors add social links by pasting a URL, with the right icon shown automatically.

How to use it

  1. Go to Website > Edit and select a Social Media block.
  2. Enter a URL in a row.
Odoo 20 · Website
Social Media block options: one URL row per network, icon detected from address
41
NewCommunity + Enterprise

Block preview for mobile devices

Website > Edit > Blocks > category

The Insert a block dialog in the website editor has a phone button. Clicking it previews all blocks of the chosen category at mobile width before one is inserted.

Why it matters Lets editors check how blocks look on phones before inserting them.

How to use it

  1. Go to Website > Edit > Blocks and open a category.
  2. Click the phone button in the dialog.
Odoo 20 · Website
Insert a block dialog in mobile preview via the phone button
42
ImprovedCommunity + Enterprise

Theme layout and background options

Website > Edit > Theme > Page Layout

The Page Layout options in the Theme tab, Full, Boxed, Framed and Postcard, are shown as pictures. Background options appear directly below them, grouping these theme settings together.

Why it matters Lets designers pick page layouts and backgrounds visually in one unified place.

How to use it

  1. Go to Website > Edit and open the Theme tab.
  2. Open Page Layout and choose a layout.
Odoo 20 · Website
Theme tab: Page Layout picker with Full, Boxed and Framed pictures
43
ImprovedCommunity + Enterprise

Website editor UI/UX

Website > Edit

The website editor sidebar has several refinements: option groups fold, switching tabs is animated, overlay buttons are clearer, the colour picker is redesigned, and a palette preview is available.

Why it matters Helps editors work faster with a cleaner sidebar, clearer buttons and a redesigned color picker.

How to use it

  1. Go to Website > Edit.
  2. Use the sidebar tabs and options.
Odoo 20 · Website
Redesigned editor color picker with presets, gradient and opacity sliders
44
NewCommunity + Enterprise

WhatsApp widget snippet

Website > Edit > Blocks > WhatsApp

A WhatsApp block lets website visitors open a WhatsApp chat with the company in one click. Editors add it from the Blocks tab of the website editor.

Why it matters Lets visitors start a WhatsApp chat with the company in one click.

How to use it

  1. Go to Website > Edit and open the Blocks tab.
  2. Drag the WhatsApp block onto the page.
Odoo 20 · Website
Insert a block: WhatsApp chat widget block
45
NewEnterprise

AI-generated content indicator

Website > Edit > Style

Blocks created or modified by the AI Website Assistant are flagged. When such a block is selected in the editor, a small AI mark appears next to the block name in the Style tab. Its tooltip explains that the standard options may be limited on blocks the AI has customized. This helps editors know which parts of a page came from the assistant before they change them by hand, and why some usual settings might not be available for them.

Why it matters Helps editors spot which blocks were created or changed by AI before publishing.

How to use it

  1. Let the AI Website Assistant edit a block.
  2. Go to Website > Edit and click the block.
  3. Open the Style tab to see the AI mark.
46
NewCommunity

Blurred headers

Website > Edit > Style > Header

When the website header is placed over the page content with a transparent or semi-transparent background, a Blur slider appears beside the background colour option. Raising the slider applies a CSS backdrop blur to the header band, so content scrolling underneath is seen through a frosted-glass effect rather than a flat colour. The effect is configured in the header's Style options and only appears when the Header Position is set to Over The Content.

Why it matters Gives transparent headers a frosted-glass blur so menus stay readable over page content.

How to use it

  1. Go to Website > Edit, click the header, open Style.
  2. Set Header Position to Over The Content.
  3. Choose a semi-transparent colour and drag the Blur slider.
47
NewCommunity

Breadcrumbs on static pages

Website > static page > Style

Static pages built with the website editor, such as About or Contact pages, display a breadcrumb trail above their content, for example Home / Services / Contact Us. The trail follows the page's position in the website menu, so visitors can see where they are and go back to a parent page. Each page's Style options include Show Breadcrumb to hide or display it. Product pages and blog posts are not covered by this option.

Why it matters Helps visitors see where they are on the site through automatic breadcrumb trails on static pages.

How to use it

  1. Open a static website page in Edit mode.
  2. Look for the Home / ... trail above the content.
  3. Use Show Breadcrumb in the page Style options.
48
NewCommunity

Column content selection

Website > Edit

While editing text in a website building block, pressing Ctrl+A, or Cmd+A on a Mac, selects only the content of the nearest structural container, such as one column of a multi-column row. The editor works out the first and last editable positions inside that container and selects everything between them. Editors can then copy, delete or restyle the content of a single column without affecting the rest of the page or other columns.

Why it matters Lets editors select just one column's content with Ctrl+A instead of the whole page.

How to use it

  1. Go to Website > Edit.
  2. Click inside a paragraph in one column.
  3. Press Ctrl+A, or Cmd+A on Mac.
49
NewCommunity

DOM elements

Browser > View Page Source

Every website and portal page adds extra CSS classes to its body tag automatically. One class comes from the QWeb template that renders the page, and another comes from the page URL; they use an o_ prefix. Designers and developers can use these classes to target specific pages or page types in custom CSS without editing templates. The classes can be seen by viewing the source of a page in the browser.

Why it matters Lets designers style specific pages using automatically generated CSS classes on each page.

How to use it

  1. Open a website or portal page, for example the Shop.
  2. Use the browser's View Page Source.
  3. Find the o_ classes on the body tag.
50
ImprovedCommunity

Dropzones and overlays

Website > Edit > Blocks

When a building block is dragged onto a page in the website editor, the drop zones appear as soft striped bands in muted colours rather than solid blocks. The outlines around selected or edited blocks are also lighter. These visual changes make it easier to see where a block will land and what is selected while arranging content on a page. They appear automatically during drag and drop in Edit mode.

Why it matters Helps editors see clearly where blocks can be dropped while dragging content.

How to use it

  1. Go to Website > Edit.
  2. Open the Blocks tab.
  3. Drag a block and watch the striped drop zone.
51
NewCommunity

Dynamic "Today" value

Website > Edit > Style > Field > Requirement

Date and Datetime fields in website forms can compare against a dynamic Today value in their requirement rules, such as Is date after. The rule then always checks the entry against the date on which the form is submitted, rather than a fixed calendar date entered by the editor. This is set in the field's Style options by choosing a date comparison and clicking the today icon.

Why it matters Lets form builders validate date fields against today's date automatically.

How to use it

  1. Go to Website > Edit and select a Date field on a form.
  2. In Style, set Requirement to Is date after or similar.
  3. Click the today icon to use Today.
52
NewCommunity + Enterprise

Mega menu

Website > Edit > Mega menu > Style > Template

Mega menus on a website can contain any building block, such as Text, Image, Columns or Buttons, in addition to menu links. A blank mega menu template is offered as the last choice in the Template options, so editors can build a mega menu from scratch. The template is selected in the Style tab after clicking inside an open mega menu in the editor.

Why it matters Lets businesses build rich mega menus from scratch using blocks and inner content.

How to use it

  1. Go to Website > Edit and open a menu item with a mega menu.
  2. Click inside the mega menu and open Style > Template.
  3. Pick the last, blank template.
53
NewCommunity + Enterprise

Property fields supported in website forms

Website > Edit > form > add field

Property fields can be added to website forms when the form's action is Create a Customer or Subscribe to Newsletter. Values entered by visitors are stored in those property fields.

Why it matters Lets businesses collect custom property details in customer creation and newsletter signup forms.

How to use it

  1. Go to Website > Edit and select a form.
  2. Add a field and choose a property field.
54
ImprovedCommunity + Enterprise

SEO

Website > Edit > image

Several SEO tools apply to website pages. Images use adaptive sizing through srcset so pages load faster on mobile devices, paginated pages are handled so they do not create duplicate content, and AI assistance is available for improving the SEO of a page.

Why it matters Helps businesses improve search rankings with faster mobile images, no duplicate paginated content and AI SEO help.

How to use it

  1. Go to Website > Edit.
  2. Select an image on the page.
55
ImprovedCommunity

Sitemap enhancements

/sitemap.xml

The website sitemap contains only URLs that can be indexed and return a 2XX status. It also stays within the size and URL count limits set by Google.

Why it matters Helps search engines crawl the site efficiently with sitemaps listing only indexable pages within Google limits.

How to use it

  1. Open the website in a browser.
  2. Add /sitemap.xml to the site address.
56
NewCommunity

Structured data

Website pages include structured data in JSON-LD format in their HTML by default. Search engines use this markup for SEO and for Google Rich Results.

Why it matters Helps pages qualify for Google Rich Results through structured data added by default.
57
ImprovedCommunity + Enterprise

Translation

Website > Site > Pages > Properties

Website translation covers more elements. Selection options in contact forms are easier to translate, and static page URLs as well as images, videos or documents can differ for each language.

Why it matters Lets multilingual businesses use language-specific URLs, media and easily translated form options.

How to use it

  1. Go to Website > Site > Pages.
  2. Open a page's Properties.
58
NewCommunity + Enterprise

Vertical video format

Website > Edit > video > Vertical

Videos on website pages can be inserted in vertical, or portrait, format. The option is chosen when configuring a video in the website editor. The format is set from the video options.

Why it matters Lets businesses embed portrait videos, such as phone recordings, on their pages.

How to use it

  1. Go to Website > Edit and select a video.
  2. Choose Vertical.
59
ImprovedCommunity + Enterprise

Visitor tracking

Website > Reporting > Visitors

Website visitor tracking runs with fewer database queries and records visits on more types of pages. Visitor data is reviewed in the Website reporting menu.

Why it matters Helps businesses track visitors across more page types with less database load.

How to use it

  1. Go to Website > Reporting.
  2. Open Visitors.
60
ImprovedCommunity + Enterprise

Website configuration wizard

Website > Configuration > Website Configurator

The website configurator offers an improved industry list that matches synonyms. It suggests AI-generated positioning based on the type of business, and includes new and refreshed themes to choose from.

Why it matters Helps new businesses set up a site faster with industry matching, AI positioning suggestions and fresh themes.

How to use it

  1. Go to Website > Configuration.
  2. Open Website Configurator.

37 new in Odoo 20

eCommerce

37 features
61
NewEnterprise

AI-assisted product editing

Website > Shop > [product page] > Edit > AI

In Odoo 20 the website editor on a shop product page includes an AI assistant. A shop manager opens the product page, switches to Edit mode and clicks the AI button in the top bar of the editor. From there the assistant can produce product images, or change the product's name, its price or its description, directly from the Shop page. The feature is part of the Enterprise edition and works from the front-end editor, so changes are made while looking at the published product page rather than in the back-end product form.

Why it matters Lets shop managers create product images and update names, prices or descriptions with AI help.

How to use it

  1. Open a product page on the website.
  2. Click Edit.
  3. Click the AI button in the editor top bar.
Odoo 20 · eCommerce
AI Website Product Edit chat on a product page in edit mode
62
ImprovedCommunity

Attribute filters

Website > Shop

On the Odoo 20 /shop page, the attribute filters in the sidebar only list values that are relevant to the products loaded on the current page. For example, when a shopper opens a category such as Desks and expands the Color filter, colors that no product in that category uses are left out of the list. This keeps filter lists short and avoids offering choices that would return no products. The behaviour applies automatically to attribute filters on the shop and its category pages, with no setting to turn on.

Why it matters Helps shoppers filter products without seeing attribute values that do not apply to the current page.

How to use it

  1. Go to the /shop page.
  2. Open a category, for example Desks.
  3. Expand the Color filter to see only relevant values.
Odoo 20 · eCommerce
Desks category filters show only relevant attributes and Color values
63
NewCommunity

Automated cross-sell suggestions

Website > Configuration > Settings

Odoo 20 can fill in suggested products for eCommerce items automatically. When the option is active, accessory products, optional products and alternative products are generated for the products sold on the website, so shop managers do not have to link each suggestion by hand on every product. The option is a single checkbox called "Automate suggested products" in the eCommerce section of the Website settings. Once it is ticked and saved, the generated suggestions are used wherever the shop shows accessories, optional items or alternatives.

Why it matters Lets online stores suggest accessory, optional and alternative products without setting them up by hand.

How to use it

  1. Go to Website > Configuration > Settings.
  2. In the eCommerce section, tick "Automate suggested products".
  3. Save.
Odoo 20 · eCommerce
Website settings: Automate suggested products, Hide Add To Cart
64
NewCommunity

Automated review requests

Website > Configuration > Settings

In Odoo 20 the website can email customers automatically to ask them to rate what they bought. In the eCommerce settings, the "Request ratings" option is ticked and two values are set: the number of days to wait after the order is confirmed, and the email template used for the request. Once saved, the review request emails are sent on that delay without manual action. Shop managers use it to collect product ratings from buyers in a regular way after each confirmed eCommerce order.

Why it matters Helps collect product reviews by emailing customers automatically after a chosen delay following order confirmation.

How to use it

  1. Go to Website > Configuration > Settings.
  2. In eCommerce, tick "Request ratings".
  3. Set the number of days and the email template, then save.
Odoo 20 · eCommerce
Website settings: Request ratings with delay in days and email template
65
NewCommunity

Default journal for eCommerce orders

Website > Configuration > Settings

Odoo 20 lets a company choose one accounting journal that is used by default for all orders placed through the eCommerce website. The choice is made in the eCommerce section of the Website settings, in a field named "Invoicing Journal". After a journal is picked and the settings are saved, invoices coming from website orders are recorded in that journal. This lets accountants keep online sales in a separate journal from other sales channels without changing each order or invoice by hand.

Why it matters Lets accountants record all eCommerce orders in one chosen accounting journal.

How to use it

  1. Go to Website > Configuration > Settings.
  2. In the eCommerce section, pick a journal in "Invoicing Journal".
  3. Save.
Odoo 20 · eCommerce
Website settings: Invoicing Journal sets default journal for online orders
66
ImprovedCommunity + Enterprise

Donations

Website > Edit > Blocks > Contact & Forms > Donation

In Odoo 20 donations made through the website go through the normal eCommerce cart. A website editor drops the Donation block, found under Contact & Forms in the editor's block list, onto a page. Next to its Donate button there is a recurrence selector, so a visitor can give once or choose a repeating gift. Recurring donations are handled through subscriptions. Because the flow uses the cart, a donation follows the same checkout and payment steps as an ordinary online purchase.

Why it matters Lets organizations collect one-time or recurring donations through the website cart.

How to use it

  1. Go to Website and click Edit.
  2. Under Blocks > Contact & Forms, drop the Donation block.
  3. Use the recurrence selector next to the Donate button.
Odoo 20 · eCommerce
Donation block with recurrence selector (Once) next to the Donate button
67
ImprovedCommunity

Dynamic product building block

Website > Edit > Blocks > eCommerce > Products Carousel

The dynamic product building block in the Odoo 20 website editor has a reworked layout. Website editors find it in the eCommerce group of blocks as "Products Carousel" and drop it onto a page; the block then lists products automatically. Its options include the placement of the section title, which can be set to Left among other positions. The change concerns how the block is laid out on the page; the products it shows are still chosen by its settings.

Why it matters Helps websites present products in dynamic blocks with a better layout.

How to use it

  1. Go to Website and click Edit.
  2. Under Blocks > eCommerce, drop "Products Carousel".
  3. In the block options, set Section Title to Left.
Odoo 20 · eCommerce
Products Carousel block with Section Title set to Left layout
68
NewCommunity

External identifiers

Sales > Configuration > Attributes > [attribute] > eCommerce tab

Odoo 20 lets product attributes carry external identifiers. These identifiers are used so that product data feeds and the microdata published on product pages match what each external platform expects for attribute names. The field sits on the eCommerce tab of an attribute in the Sales configuration and is only visible with developer mode active. It is aimed at shop managers who send catalogue data to outside platforms and need attribute values labelled the way those platforms define them.

Why it matters Helps product data feeds and microdata meet each platform's requirements using attribute identifiers.

How to use it

  1. Activate developer mode.
  2. Go to Sales > Configuration > Attributes and open an attribute.
  3. Open the eCommerce tab to set the external identifier.
Odoo 20 · eCommerce
Attribute eCommerce tab with new External Identifier field
69
ImprovedCommunity

Extra step granularity

Website > Cart > Edit > Style > Checkout

The checkout in Odoo 20 can include an extra step, and this step can be limited to certain product categories. When it is restricted, the extra step only appears if the cart holds at least one product from the chosen categories; other carts skip it. The setting is made from the website editor on the cart page: in the Style options of the checkout area, Extra Step is enabled and categories are picked in the "Restrict to" field.

Why it matters Lets stores show the extra checkout step only when the cart contains products from chosen categories.

How to use it

  1. Open the cart page and click Edit.
  2. Click the checkout area, then go to Style > Checkout.
  3. Enable Extra Step and pick categories in "Restrict to".
Odoo 20 · eCommerce
Cart editor Checkout options: Extra Step with Restrict to categories selector
70
ImprovedCommunity

Location selector: country filter

Checkout (Click & Collect)

In the Odoo 20 checkout, the dialog where customers choose a pickup point can be filtered by country. When a customer selects in-store pickup and several stores are configured, the location list shows a country selector next to its search bar. Changing the country limits the list to pickup points in that country. This helps shops with pickup locations in more than one country, since customers only see the places that are relevant to them.

Why it matters Lets customers find pickup points faster by filtering locations by country.

How to use it

  1. At checkout, choose "Pick up in store".
  2. Open the location list.
  3. Change the country next to the search bar.
Odoo 20 · eCommerce
Pick-up point dialog with country selector beside the search bar
71
NewCommunity

Loyalty progress bar

Website > Shop > Cart

Odoo 20 shows progress bars on the website cart for loyalty and promotion rewards. Both the notification that appears when a product is added and the cart summary display how close the customer is to unlocking a reward, and they show a success state once the reward is reached. For example, with an automatic promotion that needs a minimum purchase amount, adding a product below that amount displays the remaining progress in the cart.

Why it matters Encourages customers to spend more by showing how close they are to unlocking a reward.

How to use it

  1. Create an automatic promotion with a minimum purchase amount.
  2. Add a product below that amount to the cart.
  3. Open the cart to see the progress bar.
Odoo 20 · eCommerce
Cart summary with progress bars toward free shipping and 10% promotion
72
NewCommunity

Minimum product quantity

Website > eCommerce > Products > [product] > eCommerce tab

In Odoo 20 an eCommerce product can be given a minimum order quantity. The value is set in the Minimum Quantity field on the eCommerce tab of the product form, reached from the Website app's product list. Once set, the website applies this minimum when customers order the product online, so they cannot buy fewer units than the shop requires. Shop managers use it for items that are only sold from a certain quantity upwards.

Why it matters Lets sellers require a minimum order quantity for eCommerce products.

How to use it

  1. Go to Website > eCommerce > Products.
  2. Open a product.
  3. In the eCommerce tab, set Minimum Quantity.
Odoo 20 · eCommerce
Product eCommerce tab with Minimum Quantity field
73
ImprovedCommunity

Open attribute value on search

Website > header search

On an Odoo 20 website, a shopper can search for a product with an attribute value in the query, such as a color. When they then click a matching product in the results, the product page opens with that attribute value already chosen. For example, searching "black desk" from the header search and opening the Customizable Desk result shows the black variant selected. This saves the shopper from picking the value again on the product page.

Why it matters Helps shoppers land on the searched variant, such as a color, already selected.

How to use it

  1. Click the search icon in the website header.
  2. Type a query such as "black desk".
  3. Open the product result.
Odoo 20 · eCommerce
Product opened from 'black desk' search with Black color preselected
74
NewCommunity

Order dashboard

Website > eCommerce > Orders

The list of website orders in Odoo 20 includes a dashboard above the list. It gives a quick summary of eCommerce orders and shows how they are distributed across their statuses, so sales or shop staff can see at a glance how many orders are in each stage. The dashboard appears when opening the Orders menu of the Website app's eCommerce section and sits on top of the normal list view of orders.

Why it matters Helps teams see eCommerce orders and their statuses at a glance from the order list.

How to use it

  1. Go to Website > eCommerce > Orders.
  2. View the dashboard above the order list.
Odoo 20 · eCommerce
eCommerce Orders list with status tiles, visitors, orders and sales dashboard
75
ImprovedCommunity

Pay Now button

Website > Checkout > Payment > Edit

In Odoo 20 every "Pay now" button shown during checkout can be edited and translated. A website editor goes to the payment step of the checkout, clicks Edit, then clicks inside the button text and types a new label. The same approach works for each Pay now button used in the checkout, and the labels can be translated for multilingual websites. This lets shops adjust the wording of the final payment button to their own needs.

Why it matters Lets stores edit and translate Pay Now buttons to suit their checkout wording and languages.

How to use it

  1. Go to the payment step of the checkout and click Edit.
  2. Click in the Pay now button text.
  3. Type the new label.
Odoo 20 · eCommerce
Checkout payment step in edit mode with editable Pay now button text
76
NewCommunity

Preferred delivery date

Delivery method form > eCommerce tab

Odoo 20 lets customers pick a preferred delivery date during checkout. On a delivery method, the eCommerce tab offers an estimated delivery option with lead days and a working calendar. At checkout the customer sees the first possible delivery date and can open a date picker to choose another day. The picker only offers working days allowed by the calendar. This gives shops a way to collect the date a customer wants while respecting their own delivery constraints.

Why it matters Lets customers pick when they want their order delivered.

How to use it

  1. Open a delivery method form, eCommerce tab.
  2. Tick the estimated delivery option; fill days and calendar.
  3. At checkout, click the pencil next to the date.
Odoo 20 · eCommerce
Delivery method eCommerce tab: Estimated Delivery with selectable day range
77
ImprovedCommunity

Prevent sales by category

Website > Configuration > Settings

In Odoo 20 a shop can stop online sales for whole eCommerce categories while still showing product prices. The "Hide Add To Cart" option in the Website settings can target specific categories. Products in those categories keep their visible price, but the Add to Cart button is replaced by a "Contact Us" button whose link URL can be configured. This suits products that should be presented with a price but sold only after the customer gets in touch.

Why it matters Lets stores block sales for a whole category while still showing its prices.

How to use it

  1. Go to Website > Configuration > Settings.
  2. In eCommerce, tick "Hide Add To Cart".
  3. Set For to "Specific categories" and pick the categories.
Odoo 20 · eCommerce
Website settings: Hide Add To Cart for zero-priced products or chosen categories
78
ImprovedCommunity

Pricelist selector

Website header/footer

In Odoo 20 the pricelist selector of an eCommerce website is available on every page, not only on shop pages. It sits in the website header and footer, so visitors can switch pricelist, for example a currency such as USD, while on any page of the site, such as Contact us. The chosen pricelist then applies to the prices they see in the shop. No extra setting is needed to show it across the site.

Why it matters Lets customers switch pricelists from any page of the online store.

How to use it

  1. Open any website page, for example Contact us.
  2. Click the pricelist selector in the header.
Odoo 20 · eCommerce
Pricelist selector in header on the Contact Us page
79
ImprovedCommunity

Product reference price

Website > Configuration > Settings

Odoo 20 can show a product's reference price, meaning the price per reference unit, across all eCommerce pages by default. Once "Product Reference Price" is ticked in the Website settings, the price per unit appears on shop product cards, in product building blocks, in the wishlist and in the product configurator. This helps customers compare prices of products sold in different quantities. The display follows the setting for the whole website.

Why it matters Helps shoppers compare prices by showing reference prices on all eCommerce pages.

How to use it

  1. Go to Website > Configuration > Settings.
  2. Tick "Product Reference Price" and save.
  3. Open the shop to see reference prices.
Odoo 20 · eCommerce
Website settings: Product Reference Price option for per-UoM prices
80
ImprovedCommunity

Product features

Website > Edit > Blocks > eCommerce > Products Carousel

Dynamic product building blocks in the Odoo 20 website editor display the same product details as the shop. These include ribbons such as Out of stock or On Sale, comparison prices, attributes and secondary images. A website editor drops the "Products Carousel" block from the eCommerce blocks and chooses a category; products from that category appear with their ribbons and prices. This keeps product presentation consistent between the shop and pages built with these blocks.

Why it matters Helps highlight products with ribbons, comparison prices, attributes and secondary images in dynamic blocks.

How to use it

  1. Go to Website and click Edit.
  2. Under Blocks > eCommerce, drop "Products Carousel".
  3. Set Category to one with discounted or out-of-stock products.
Odoo 20 · eCommerce
Products Carousel card showing Out of stock ribbon and secondary images
81
ImprovedCommunity

Product variant thumbnails

Sales > Configuration > Attributes > eCommerce tab

Odoo 20 adds a "Show Thumbnails" field to product attributes. When it is enabled on an attribute, the website product page shows the images of the product variants as the choices for that attribute, in place of the usual color dots or text names. Shoppers then pick a variant by clicking its picture. The field is on the eCommerce tab of the attribute form in the Sales configuration, and it applies to every product using that attribute.

Why it matters Lets shoppers choose variants by their images instead of plain attribute values.

How to use it

  1. Go to Sales > Configuration > Attributes and open an attribute.
  2. In the eCommerce tab, enable Show Thumbnails.
  3. Open a product using that attribute on the website.
Odoo 20 · eCommerce
Attribute eCommerce tab with Show Thumbnails toggle
82
NewCommunity

Products grid building block

Website > Edit > Blocks > eCommerce > Products Grid

The Odoo 20 website editor includes a grid version of the Products building block. Found in the eCommerce group of blocks, the Products Grid block lays out products in rows and columns instead of a carousel. Its options have separate column settings for desktop and for mobile, so the number of products per row can differ by screen size. Website editors use it to present product selections on any page of the site.

Why it matters Lets websites display products in a grid layout.

How to use it

  1. Go to Website and click Edit.
  2. Under Blocks > eCommerce, drop the Grid products block.
  3. Adjust Desktop and Mobile columns in its options.
Odoo 20 · eCommerce
Insert a block dialog: eCommerce Grid products block
83
NewCommunity

Range filter for attribute values

Sales > Configuration > Attributes

In Odoo 20 an attribute with numerical values can use the Range display type. With this type, the shop filter for the attribute becomes a slider with a minimum handle and a maximum handle, and shoppers filter products by dragging them. The attribute is created in the Sales configuration with Display Type set to Range and numeric values, then used on published products. The slider then appears on the /shop page.

Why it matters Lets shoppers narrow products by numeric attributes using a slider.

How to use it

  1. Go to Sales > Configuration > Attributes.
  2. Create an attribute with Display Type Range and numeric values.
  3. Use it on published products and open /shop.
Odoo 20 · eCommerce
Attribute Display Type dropdown with new Range option
84
NewCommunity

Restrict packagings per website

Website > Configuration > Settings

Odoo 20 lets each website limit which units and packagings customers can buy. The "Restrict Packagings" setting lists the units and packagings that are not available for purchase on that website, and product pages there no longer offer them. The setting is in the Website settings and requires Units of Measure to be enabled. It is useful when several websites sell the same products but in different packaging options.

Why it matters Lets businesses offer different units and packagings on each website.

How to use it

  1. Go to Website > Configuration > Settings (Units of Measure enabled).
  2. Pick packagings in "Restrict Packagings".
  3. Save.
Odoo 20 · eCommerce
Website settings: Restrict Packagings field to block specific packagings
85
NewCommunity

Return management

Sales > Configuration > Settings

Odoo 20 lets customers start product returns themselves from the customer portal. When "Allow Spontaneous Returns" is enabled in the Sales settings, delivered orders show a Return button in the portal for a set number of days, which the company configures. The customer opens the order under Sales Orders in the portal and clicks Return. This gives buyers a self-service way to request returns within the allowed period.

Why it matters Lets customers start product returns themselves from the customer portal.

How to use it

  1. Go to Sales > Configuration > Settings.
  2. Enable Allow Spontaneous Returns.
  3. In the portal, open a delivered order and click Return.
Odoo 20 · eCommerce
Settings: Allow Spontaneous Returns option enabling portal product returns
86
NewCommunity

Standalone categories

Website > Configuration > eCommerce Categories

Odoo 20 lets chosen top-level eCommerce categories stay off the main Shop page. A "Not in Shop" option on the category hides it from /shop, while the category can still be linked to. This is used to build separate website sections with curated product selections, for example a page dedicated to a themed collection, without those products appearing as a category in the general shop. The option is set on the category record.

Why it matters Lets stores build dedicated website sections with curated products hidden from the main Shop page.

How to use it

  1. Go to Website > Configuration > eCommerce Categories.
  2. Open a top category.
  3. Tick Not in Shop.
Odoo 20 · eCommerce
eCommerce category form with Not in Shop checkbox
87
NewCommunity

Stock-based product publishing

Website > Configuration > Settings

Odoo 20 can publish and unpublish website products automatically based on stock. With the "Unpublish out-of-stock products" option ticked in the eCommerce section of the Website settings, a product is taken off the website when its stock runs out and is published again once stock is replenished. Shop managers no longer need to switch publication by hand when availability changes. The option applies to products sold on the eCommerce website.

Why it matters Keeps out-of-stock products off the website and brings them back automatically when restocked.

How to use it

  1. Go to Website > Configuration > Settings.
  2. In eCommerce, tick "Unpublish out-of-stock products".
  3. Save.
Odoo 20 · eCommerce
Website settings: Unpublish out-of-stock products
88
ImprovedCommunity

Taxes included/excluded price display

Sales > Products > Pricelists > eCommerce tab

In Odoo 20 each pricelist decides whether website prices are shown with or without taxes. A "Price Display" field on the pricelist's eCommerce tab holds this choice. Because different customers can use different pricelists, one website can show tax-included prices to consumers and tax-excluded prices to business buyers at the same time. Sales managers set the field on each pricelist from the Pricelists menu of the Sales app.

Why it matters Lets one website serve both B2C and B2B customers with tax-included or tax-excluded prices.

How to use it

  1. Go to Sales > Products > Pricelists.
  2. Open a pricelist.
  3. In the eCommerce tab, set Price Display.
Odoo 20 · eCommerce
Pricelist eCommerce tab: Price Display
89
ImprovedCommunity

Variant image management

Website > eCommerce > Products > eCommerce tab > Media

Odoo 20 manages product and variant images from one place: the eCommerce tab of the product form. Its Media list gathers all images of the product and of its variants, and each image has an "Apply to attributes" selector showing which variants use it. Shop managers can add or reassign images for all variants without opening each variant separately. The list is reached by opening a product with variants from the Website app.

Why it matters Lets teams manage all variant images in one place from the product form.

How to use it

  1. Go to Website > eCommerce > Products.
  2. Open a product with variants.
  3. In eCommerce tab > Media, set "Apply to attributes" on each image.
Odoo 20 · eCommerce
eCommerce tab Media: images with Apply to attributes selectors
90
NewCommunity + Enterprise

WhatsApp abandoned cart follow-up

Website > Configuration > Settings

Odoo 20 can follow up abandoned website carts with a WhatsApp message as well as by email. In the Website settings, "Follow up abandoned carts" is ticked and an approved WhatsApp template is chosen. Scheduled actions then send the message automatically to customers who left items in their cart. Shop managers use it to remind buyers about unfinished orders through the channel they prefer.

Why it matters Helps recover abandoned carts by following up with customers on WhatsApp.

How to use it

  1. Go to Website > Configuration > Settings.
  2. Tick "Follow up abandoned carts".
  3. Choose an approved WhatsApp template and save.
Odoo 20 · eCommerce
Abandoned cart follow-up settings with WhatsApp template selector
91
NewCommunity

Withdrawal requests

Website > Edit > Form > Action

Website forms in Odoo 20 can use a "Request Withdrawal" action. A website editor selects a form, for example on the Contact us page, and sets its Action to Request Withdrawal. Customers can then submit a cancellation request through that form by entering their email and order number. This gives shops a form-based way to receive withdrawal requests for orders placed online.

Why it matters Helps teams handle customer withdrawal requests directly from contact forms.

How to use it

  1. Go to Website and edit a page with a form.
  2. Select the form.
  3. Set Action to "Request Withdrawal".
Odoo 20 · eCommerce
Form Action dropdown with new Request Withdrawal option
92
NewCommunity

Email gift card directly to recipient

Portal > Sales Orders > [order with gift card]

In Odoo 20 a customer who buys a gift card on the website can send it to someone else by email after the purchase is finished. The customer opens the confirmed order in the customer portal, types the recipient's email address and clicks "Send as gift". The gift card then reaches the recipient straight away, without the buyer forwarding it manually. This applies to orders that contain a Gift Card product, whether bought on the shop or confirmed with that product on the order.

Why it matters Lets customers send a purchased gift card straight to the recipient by email.

How to use it

  1. Buy a Gift Card product on the shop.
  2. Open the order in the customer portal.
  3. Type an email and click "Send as gift".
93
ImprovedCommunity

Gelato: variant images

Sales > Products > Product Variants > [variant] > Sales tab

For products synchronized with Gelato, the print-on-demand service, Odoo 20 allows print images to be set separately for each product variant. On a synchronized variant, the Sales tab has a Gelato section with a "Generate Print Images" button. After clicking it, a file can be attached for each print placement of that variant. This lets one product offer variants that are printed with different designs, while the variant images are kept on the variant record itself.

Why it matters Lets sellers set a different Gelato print image for each product variant.

How to use it

  1. Go to Sales > Products > Product Variants and open a Gelato variant.
  2. In the Sales tab, Gelato section, click "Generate Print Images".
  3. Attach a file for each placement.
94
ImprovedCommunity

Google Analytics events

Website > Configuration > Settings

Odoo 20 sends eCommerce events to Google Analytics 4 with wider coverage and cleaner data. The events follow the Google Analytics 4 specifications in full, so shop activity such as browsing products and checkout steps is reported in the format GA4 expects. Tracking is turned on by enabling Google Analytics in the Website settings. Shop managers can then browse the shop and check the events as they arrive in the GA4 DebugView to confirm the tracking works.

Why it matters Helps marketers track eCommerce activity in Google Analytics 4 with broader, more accurate event data.

How to use it

  1. Go to Website > Configuration > Settings.
  2. Enable Google Analytics.
  3. Browse the shop and check events in GA4 DebugView.
95
RemovedCommunity + Enterprise

Mondial Relay handled via Sendcloud

Sales > Configuration > Delivery Methods > [Sendcloud]

Odoo 20 does not include a separate Mondial Relay pickup point module for eCommerce. Mondial Relay pickup points are offered through the Sendcloud connector instead, together with the other pickup point networks that Sendcloud supports. To use them, a Sendcloud delivery method is opened from the Delivery Methods configuration in Inventory or Sales, and the "Use Sendcloud Locations" option is used in its SendCloud Configuration tab so customers can choose pickup points at checkout.

Why it matters Use Sendcloud to keep offering Mondial Relay pickup points in your online store.

How to use it

  1. Go to Sales > Configuration > Delivery Methods.
  2. Open a Sendcloud delivery method.
  3. In SendCloud Configuration, use Sendcloud Locations.
96
NewCommunity

Ribbon filters

Website > Shop

The Odoo 20 shop sidebar offers two ribbon-based filters, "On Sale" and "In Stock". They appear as filter pills when the matching automatic ribbons are set up, meaning ribbons assigned to On Sale and Out of stock in the Website ribbon configuration. Shoppers click a pill to see only discounted products or only products available in stock. The filters show up on the /shop page once the ribbons are in place.

Why it matters Helps shoppers quickly find products that are on sale or in stock.

How to use it

  1. Go to Website > Configuration > Ribbons.
  2. Assign ribbons to On Sale and Out of stock.
  3. Open /shop to use the filters.
97
ImprovedCommunity

Simplified inventory management

Website > eCommerce > Products > General Information

In Odoo 20 eCommerce can track stock without the Inventory app being installed. Basic stock handling is part of the product itself: each product keeps one on-hand quantity and no transfers are required. On a database without Inventory, the product form's General Information section has Track Inventory with a single on-hand quantity that can be typed in directly. This suits small shops that only need to know how many units are available to sell.

Why it matters Lets online stores track stock without the Inventory app, using one on-hand quantity per product.

How to use it

  1. Go to Website > eCommerce > Products.
  2. Open a product.
  3. In General Information, use Track Inventory to type the on-hand quantity.

18 new in Odoo 20

Appointments

18 features
98
ImprovedEnterprise

Appointment booking flow

Website > /appointment > [type with manual assignment]

On the website booking page, the choice of staff member or resource is a dropdown placed on the same page as the date and time selection. Customers choose who or what they book and the time slot in one step. This applies to appointment types where the visitor picks the assignee, for example a type assigned by visitor that starts with a user or a resource.

Why it matters Helps customers book faster by choosing a user or resource on the date and time page.

How to use it

  1. Open /appointment on the website.
  2. Choose an appointment type assigned by visitor.
  3. Pick the staff or resource from the dropdown beside the slots.
Odoo 20 · Appointments
Resource selection on the same page as date and time slots
99
ImprovedEnterprise

Appointment names

Appointments > [type] > Bookings > Calendar

Bookings shown in the Gantt and calendar views display the customer's name and the appointment type. For appointment types that manage capacity, the number of booked seats is added after the name. Staff can read who is coming and how many people are booked straight from the schedule. It can be seen in the Bookings of a type with Group Bookings, in the calendar's day scale.

Why it matters Helps staff identify bookings by customer, appointment type and seat count in Gantt and calendar views.

How to use it

  1. Open an appointment type with Group Bookings and click Bookings.
  2. Switch to the Calendar view.
  3. Select the Day scale.
Odoo 20 · Appointments
Gantt bookings labelled with customer name and seat count
100
ImprovedEnterprise

Appointment page design

Website > /appointment/[type]

The appointment booking page has a Date dropdown that opens the month calendar, available time slots shown as buttons in a single column, and the same layout on mobile and desktop. Customers booking from a phone go through the same screens as on a computer. The design applies to the website appointment pages, for example a page for booking a tennis court.

Why it matters Gives customers a cleaner, simpler booking page on mobile and desktop.

How to use it

  1. Open an appointment page on the website, such as /appointment/tennis-court-2.
  2. Use a phone or narrow window to see the layout.
Odoo 20 · Appointments
Simplified appointment page: staff, date and time picker with details panel
101
ImprovedEnterprise

Appointments calendar view

Appointments > Schedule > Resource Bookings > Calendar

In the Schedule calendars of the Appointments app, clicking an empty time slot opens a booking form. The user first chooses the appointment type and then assigns the resources or staff members for the booking. Staff can thus create bookings directly from the calendar of resource or staff schedules, for example from the Resource Bookings view after switching it to the calendar display.

Why it matters Lets staff create bookings for any appointment type and assign resources or users from the calendar.

How to use it

  1. Go to Appointments > Schedule > Resource Bookings.
  2. Switch to the Calendar view.
  3. Click an empty time slot and fill in the form.
Odoo 20 · Appointments
Creating a booking from the Resource Bookings calendar with people and resources
102
ImprovedEnterprise

Automatic resource assignment

Appointments > [type] > Bookings > New

For resource appointments with capacity management and automatic assignment, entering the number of participants on a booking selects resources large enough for the group. If the resources currently chosen are too small, Odoo replaces them with ones that fit. Staff use this when adding bookings from the Gantt view of an appointment type that has Group Bookings enabled and automatic assignment.

Why it matters Helps assign suitable resources automatically based on the number of participants.

How to use it

  1. Open a type assigned automatically with Group Bookings on.
  2. Click Bookings and use the Gantt view.
  3. Click an empty cell and type the number of people.
Odoo 20 · Appointments
New booking from Gantt: number of people with auto-assigned table
103
NewEnterprise

Booking capacity control

Appointments > [resource type] > Options

Resource appointment types have a 'Max slot capacity' option. It sets how many guests may start in the same time slot, whatever the number of available resources. Businesses use it to control congestion at the start of each slot. The option is on the Options tab of a resource appointment type that has Group Bookings enabled, and it applies to all bookings of that type.

Why it matters Lets businesses cap how many appointments can start at the same time.

How to use it

  1. Open a resource appointment type with Group Bookings on.
  2. Go to the Options tab.
  3. Set Max slot capacity.
Odoo 20 · Appointments
Appointment Options tab: Max slot capacity caps guests per time slot
104
ImprovedEnterprise

Booking shortcuts

Appointments (Kanban view)

Appointment type cards in the Appointments Kanban view show counters for bookings waiting for confirmation and for upcoming bookings. Each counter is a shortcut to the matching list of bookings, while clicking the card itself opens the schedule for today. Staff can jump straight to the bookings that need attention from the main screen of the app, without searching or filtering.

Why it matters Helps staff jump straight to pending, upcoming or today's bookings from Kanban.

How to use it

  1. Open the Appointments app in Kanban view.
  2. Click a counter to see those bookings, or the card for today.
Odoo 20 · Appointments
Appointments Kanban counters: to confirm and upcoming meetings/bookings shortcuts
105
ImprovedEnterprise

Closed days management

Appointments > [type] > Bookings

Booking views, including the Gantt and calendar views, have an 'Add Closing Day' button. A closing day is stored as an appointment leave for the chosen resources or users, and no bookings can be made for them on that day. Staff use it to block holidays or closures directly from the booking schedule of an appointment type, without going to a separate menu.

Why it matters Helps businesses manage closed days more easily across appointments.

How to use it

  1. Open an appointment type and click Bookings.
  2. Click Add Closing Day.
  3. Select the resources or users and the day.
Odoo 20 · Appointments
Bookings Gantt view with Add Closing Day button
106
NewEnterprise

Customer feedback

Appointments > [type] > Communication tab

An appointment type can have a Feedback Email. A daily scheduled action sends it to customers once their appointment is over. Their answers are stored as ratings, and dedicated reporting views show the results. Staff choose the email template, such as 'Appointment: Feedback Request', on the Communication tab of the appointment type, and the sending then happens automatically every day for appointments that have ended.

Why it matters Helps businesses learn from customers by requesting feedback after appointments.

How to use it

  1. Open an appointment type.
  2. Go to the Communication tab.
  3. Set Feedback Email to Appointment: Feedback Request.
Odoo 20 · Appointments
Appointment Communication tab with new Feedback Email template field
107
ImprovedEnterprise

Default party size

Website > /appointment > [capacity-based type]

On booking pages for appointment types that manage capacity, the Party size selector starts at 2 when the capacity allows it. Customers booking for two people do not need to change the field, and others can still pick a different size. It can be seen on website booking pages of types with Group Bookings enabled, such as a kayak tour.

Why it matters Speeds up multi-attendee bookings by preselecting two guests.

How to use it

  1. Open a website booking page with Group Bookings enabled.
  2. Check the Party size selector.
Odoo 20 · Appointments
Table booking page with Party size preselected to 2
108
NewEnterprise

Maximum capacity override

Appointments > [type] > Bookings > New

In the backend booking form, staff can enter more attendees than the available resources or staff can hold. Odoo warns that some seats are not assigned but still allows the booking to be saved. The extra seats stay unassigned. Staff can thus accept a larger group, for example twenty people on a tour, from the Bookings view of the appointment type.

Why it matters Lets staff exceed an appointment type's maximum capacity when required.

How to use it

  1. Open an appointment type and click Bookings.
  2. Click an empty cell.
  3. Enter more people than capacity allows and save.
Odoo 20 · Appointments
New booking for 100 people allowed with warning about unassigned seats
109
ImprovedEnterprise

Web page redesign

Website > /appointment

Website pages listing appointment types display cards with the location, duration, price and staff avatars of each type. On the booking pages, a side panel keeps the key details of the appointment visible through every step of the booking. Customers see what they are booking while they choose a slot and enter their details. The listing is at /appointment on the website.

Why it matters Gives customers appointment pages consistent with other Odoo pages, with relevant details throughout booking.

How to use it

  1. Open /appointment on the website.
  2. Pick an appointment type to see the side panel.
Odoo 20 · Appointments
Appointment booking page with details side panel (location, duration, description)
110
ImprovedEnterprise

Website editor blocks

Website > /appointment/[type] > Edit

Appointment pages contain drop zones at the top, inside the booking column and at the bottom. Website editor blocks dropped into these zones are shown on all appointment pages. Website editors use them to add content such as text or images around the booking process once for every page. They are used through the Edit mode of the website editor on any appointment page.

Why it matters Lets businesses customize appointment pages by placing website editor blocks anywhere.

How to use it

  1. Open an appointment page on the website.
  2. Click Edit.
  3. Drag a block onto one of the drop zones.
Odoo 20 · Appointments
Text block dropped onto an appointment booking page in the editor
111
NewEnterprise

Accessory products for appointments

Website > /appointment > [paid type] > Proceed to Checkout

When a customer books a paid appointment whose product has accessory products, the booking leads to the cart rather than straight to payment. The cart suggests those accessory products so the customer can add them before checkout. Accessories are set on the appointment type's product, on the Sales tab of the product form. Businesses can therefore offer extras alongside a paid booking on the website.

Why it matters Lets businesses offer accessory products to customers while they book appointments.

How to use it

  1. Open a paid appointment type and note its product.
  2. In Sales > Products, add accessory products on the Sales tab.
  3. Book the appointment on the website and click Proceed to Checkout.
112
NewEnterprise

Appointment rescheduling

Booking confirmation page > Reschedule

From a booking's confirmation page, customers can click Reschedule, choose a new slot on the booking page and confirm it. The existing booking is moved to the new time; it is not cancelled and booked again. The confirmation page is reached through the link in the booking email, so customers can change their appointment time on their own without contacting the business.

Why it matters Lets businesses reschedule booked appointments in a few clicks.

How to use it

  1. Open the confirmation page from the booking email link.
  2. Click Reschedule.
  3. Pick a new slot and confirm.
113
ImprovedEnterprise

Attendance at a glance

Appointments > [type] > Bookings > Gantt

When the bookings of one appointment type are shown in the Gantt view, a Total row gives the number of people booked for each time slot. The figure is the sum of the seats reserved in all bookings for that slot. Staff use it to see attendance at a glance, for example for a group activity such as a kayak tour viewed with the day scale.

Why it matters Helps businesses prepare for each time slot by seeing expected attendees in the Gantt view.

How to use it

  1. Open an appointment type, such as a group tour.
  2. Click Bookings.
  3. Use the Gantt view with the Day scale.
114
ImprovedCommunity + Enterprise

Availability display

Appointments > [type] > Bookings > Gantt

Gantt and calendar views of bookings show availability correctly across appointment types. Times when a staff member or resource is not available are greyed out, including private events marked as busy. Staff can see free and blocked periods before placing a booking, for instance when an employee has a private busy event in the afternoon that should not be booked over.

Why it matters Helps staff see accurate availability across appointment types, including busy private events.

How to use it

  1. Create a private event marked Busy for a staff member.
  2. Open the appointment type and click Bookings.
  3. Check the greyed-out time in the Gantt Day view.
115
ImprovedEnterprise

Performance improvements

Slot and availability computation for appointments is optimised. Resource availability checks run in batches, unavailable periods are computed more quickly, and the booking page loads one month at a time. There is nothing to configure and no visible change in the screens: customers and staff simply get quicker loading of booking pages, slot lists and booking schedules in the backend.

Why it matters Gives customers a faster booking process through quicker availability calculations.

3 new in Odoo 20

Blog

3 features
116
ImprovedCommunity + Enterprise

Blog module redesign

Website > /blog > Edit > Style

Blog pages have a redesigned layout. The blog list offers Style, Promote Last, Cards Design and Content Width options, while individual blog posts offer cover styles, container size, a table of contents and further options. Website editors set these from the Style panel while editing the /blog page in the website editor. The options are applied visually in the website editor.

Why it matters Lets businesses style blog lists and posts, including cover styles and a table of contents.

How to use it

  1. Go to Website and open /blog.
  2. Click Edit, then open Style.
Odoo 20 · Blog
Blogs Page Style options: Style, Promote Last, Cards Design and Content Width
117
NewCommunity + Enterprise

Recommended post

Website > Blog post > Edit > Style > Blog Page > Content > Bottom > Recommended Post

When the Bottom block is enabled on a blog post, a Recommended Post option lets the editor choose which post is promoted at the end of the article, in place of the default next post. Website editors set it in the post's Style options under Blog Page > Content > Bottom. The selected post is shown in the bottom area of the blog post page.

Why it matters Helps keep readers engaged by suggesting a chosen post at the end of an article.

How to use it

  1. Open a blog post and click Edit.
  2. Go to Style > Blog Page > Content > Bottom.
  3. Choose a Recommended Post.
Odoo 20 · Blog
Blog Page Style: Bottom section with Recommended Post selector
118
ImprovedCommunity + Enterprise

Scheduled blog posts

Website > Configuration > Blogs

Blog posts can be scheduled with a publish date. A scheduled action publishes each post at that time and only then posts the 'Published Post' message, so followers receive the email when the post actually goes live. Editors can prepare posts in advance and let Odoo release them on time. The chatter of the blog, under Website > Configuration > Blogs, records the published message.

Why it matters Lets writers schedule posts so followers are emailed only when they publish.

How to use it

  1. Create a blog post with a publish date.
  2. Let the scheduled action publish it.
  3. Check the blog's chatter in Website > Configuration > Blogs.
Odoo 20 · Blog
Blog Post Pages list with Scheduled column for posts with a publish date

1 new in Odoo 20

eLearning

1 features
119
ImprovedCommunity + Enterprise

Course access from portal

Website > My Account (/my)

Portal users see a Courses card on their My Account page (/my). The card shows how many courses they have joined and opens the eLearning page when clicked. Customers and learners enrolled in at least one course can reach their courses from the portal in one click, without searching the website for them. The card is shown to users enrolled in at least one course.

Why it matters Helps learners reach their enrolled courses directly from their portal account page.

How to use it

  1. Log in as a portal user enrolled in at least one course.
  2. Open the customer portal at /my.
  3. Click the Courses card.
Odoo 20 · eLearning
My Account portal with new Courses card for enrolled courses

1 new in Odoo 20

Events

1 features
120
NewCommunity + Enterprise

Event combos

Events > event > Tickets tab

An event ticket can include Additional Products, such as a lunch box or drinks, sold together with the registration. The ticket's Total Price adds up the ticket and these products. When the ticket is sold, each additional product becomes its own sale order line linked to the ticket, so each product keeps its own taxes. The Additional Products and Total Price columns are optional columns in the event's Tickets tab.

Why it matters Lets organizers sell registrations bundled with food or drinks while keeping correct VAT per item.

How to use it

  1. Open an event in Events and go to the Tickets tab.
  2. Enable the optional Additional Products and Total Price columns.
  3. Add a product, such as a lunch box, to a ticket.
Odoo 20 · Events
Event Tickets tab with Additional Products and Total Price columns

keep exploring

Odoo 20 in other business areas

Odoo 20 Website & eCommerce questions

  • How many new Website & eCommerce features are in Odoo 20?

    120 across 6 apps, 19% of the 637 new features in the release by TechUltra's count. By app: Website (60), eCommerce (37), Appointments (18), Blog (3), eLearning (1), Events (1).

  • What are the biggest Website & eCommerce changes in Odoo 20?

    In Website, google tag manager (gtm): lets marketers connect Google Analytics or Tag Manager by entering a single ID. In eCommerce, automated cross-sell suggestions: lets online stores suggest accessory, optional and alternative products without setting them up by hand. In Appointments, customer feedback: helps businesses learn from customers by requesting feedback after appointments.

  • How do we get the Odoo 20 Website & eCommerce features?

    If you run Odoo 16, 17, 18 or 19, they arrive with the upgrade to Odoo 20. A free written assessment lists your modules, the risks in your build and a fixed price. If you are new to Odoo, start directly on Odoo 20 with a fixed-price implementation, priced after a paid discovery week.

Sources: features, steps and the 93 screenshots are from TechUltra's Odoo 20 feature guide. Counted by TechUltra's Odoo team from the Odoo 20 source code and a live Odoo 20 database; industry packages are based on Odoo's official release notes. Localization changes are not included.

ready when you are

Planning your move to Odoo 20?

Book a free 30-minute call with a TechUltra senior consultant for a process review or a clear upgrade path from Odoo 16, 17, 18 or 19.