Skip to Content

How to change the chatter position in Odoo (right, bottom, or however you like)

May 3, 2026 by
How to change the chatter position in Odoo (right, bottom, or however you like)
Loïc Vina Ranchel

How to change the chatter position in Odoo (right, bottom, or however you like)

Quick answer: by default, Odoo puts the chatter on the right on screens wider than 1534 pixels and at the bottom on all other screens, with no user option. To choose for yourself, install Kameos's free Chatter Position module: it adds a button to the chatter bar that switches between side and bottom layouts, with a resizable splitter. Compatible with Odoo 17, 18 and 19, Community and Enterprise.

In summary

  • Module: Chatter Position (LGPL-3, free)
  • Compatibility: Odoo 17.0, 18.0, 19.0 — Community & Enterprise
  • Effect: toggle button in the chatter + resizable splitter
  • Persistence: browser localStorage, nothing written to the database
  • Author: Kameos, Belgian Odoo integrator

Why Odoo decides the chatter position on its own

The chatter — the messaging and history panel attached to every Odoo record — can take two positions: to the right of the form (side mode) or below the form, across the full width (bottom mode). The choice between the two is automatic: Odoo applies the o_xxl_form_view CSS class as soon as the viewport exceeds 1534 pixels in width.

This threshold is hard-coded in Odoo's web module. It takes into account neither the information density of the form, nor user preferences, nor the working context. A purchase order form with 8 columns per line is treated exactly like a 4-field contact form.

The result: on screens between 1280 and 1534 pixels (most 13" and 14" business laptops), the chatter systematically drops to the bottom, even when the user would rather keep it on the right. And on very large screens, it is forced to the right and eats into the width of dense forms.

The Chatter Position module: one button, two modes, zero database

Chatter Position is an open-source Odoo module published by Kameos under the LGPL-3 licence. It adds a button to the chatter bar (right next to the search magnifier) that switches the layout between side and bottom on demand, regardless of screen width.

In side mode, a vertical separator (the splitter) appears between the form and the chatter. Users can drag it with the mouse to adjust the proportions, or double-click it to return to the default 60/40 ratio with a smooth 180 ms transition.

The layout choice and the ratio are stored in the browser's localStorage, under the keys chatter_position and chatter_split_ratio. The module creates no model, no table, no field and never writes server-side: two users sharing the same Odoo database each keep their own configuration without any special permission.

Native Odoo vs Chatter Position: what actually changes

Behaviour Native Odoo With Chatter Position
Choice of position Automatic (viewport width) User button
Switching threshold 1534 px (hard-coded) No threshold, manual choice
Preference memory None localStorage per browser
Resizable splitter No Yes (side mode)
Reset Not applicable Double-click = 60/40 ratio
Database impact N/A Zero (nothing written)
Permission required N/A None (browser-side)

How to install Chatter Position in Odoo

Installation takes less than two minutes and requires no configuration.

  1. 1 Download the module from the Odoo App Store or our public GitHub repository.
  2. 2 Drop the chatter_position folder into the addons directory of your Odoo instance.
  3. 3 Restart the Odoo service and activate developer mode in Settings.
  4. 4 Update the apps list and search for Chatter Position, then click Install.
  5. 5 Open any record that has a chatter (contact, quote, invoice…) and click the new button in the chatter bar to switch between the two layouts.

Three real-world uses from the field

USE 1

Win back the width of dense forms

On a purchase order with product, description, quantity, UoM, unit price, discount, taxes and total (8 columns), the side chatter forces horizontal scrolling. One click, the chatter moves to the bottom, and the one2many lines can breathe.

USE 2

Keep the chatter on the right on 13" and 14" screens

On a laptop, Odoo moves the chatter to the bottom as soon as the viewport drops below 1534 px. Yet users often prefer to see the conversation next to the form while entering data. The module overrides that threshold.

USE 3

Per-user preferences on a shared database

No more CSS overrides workstation by workstation, no theme changes: each user configures their own browser. Ideal for mixed field and office teams who share the same Odoo instance.

Public API for Odoo developers

The module exposes a service named chatterPosition in the Odoo registry. Any OWL component can read the current position or toggle it programmatically, without manipulating the DOM or localStorage directly:

/** @odoo-module **/
import { Component } from "@odoo/owl";
import { useService } from "@web/core/utils/hooks";

class MyComponent extends Component {
    setup() {
        this.cp = useService("chatterPosition");
    }
    isSided()    { return this.cp.getPosition() === "sided"; }
    flip()       { this.cp.toggle(); }
}

Under the hood, the module patches the FormController and FormRenderer classes of the web module to neutralise Odoo's native o_xxl_form_view logic. No global monkey-patch, no XML override, no data file.

Odoo compatibility

Odoo version Community Enterprise Status
Odoo 19.0 Yes Yes Tested in production
Odoo 18.0 Yes Yes Tested in production
Odoo 17.0 Yes Yes Tested in production

Frequently asked questions

How do I change the chatter position in Odoo?

By default, Odoo places the chatter on the right on screens wider than 1534 pixels and at the bottom below that, with no user option. The free Chatter Position module adds a button to the chatter bar to switch between the two layouts on demand, whatever the screen size.

Why does the Odoo chatter move to the bottom on my laptop?

Odoo moves the chatter to the bottom as soon as the viewport width drops below 1534 pixels, via the o_xxl_form_view CSS class. This threshold is hard-coded in the web module and ignores user preferences. To force it to the right whatever the screen, you need a module that overrides this logic.

Is the Chatter Position module really free?

Yes. Chatter Position is published under the LGPL-3 licence by Kameos, a Belgian Odoo integrator. It is available free of charge on the Odoo App Store and compatible with Odoo 17, 18 and 19, in Community and Enterprise editions. No feature limitations, no paid version.

Does the module modify my database?

No. Chatter Position creates no model, no table, no field and never writes to the database. The layout choice and the splitter ratio are stored only in the browser's localStorage, under the keys chatter_position and chatter_split_ratio. Uninstalling the module requires no migration.

How do I reset the chatter ratio?

In side mode, double-click the vertical separator between the form and the chatter. The layout instantly returns to the default 60/40 ratio, with a smooth 180 ms transition. You can also clear the browser's localStorage to reset the position and the ratio at the same time.

Is it compatible with Odoo Enterprise?

Yes. Chatter Position works on Odoo 17, 18 and 19 in Community and Enterprise editions. The module depends only on the standard mail and web modules, with no known incompatibility with other modules in the Odoo ecosystem.

Is there a keyboard shortcut to toggle the chatter?

Not by default: the module does not define a keyboard shortcut. Developers can call cp.toggle() through the public chatterPosition service exposed in the Odoo registry to add their own shortcut or to build the toggle into another business workflow.

What is the difference between the side and bottom chatter layouts?

The side layout places the chatter to the right of the form, sharing the width (60/40 by default). The bottom layout places the chatter below the form, across the full width. The side layout suits following a conversation while entering data, the bottom layout frees up the width of fields and one2many lines.

Can the chatter become too narrow to be usable?

No. The module enforces a minimum chatter width of 240 pixels. This limit guarantees that the Send Message and Log Note buttons always stay on the same line in the chatter bar. If space runs short, the secondary buttons wrap onto the next line rather than hiding behind a horizontal scroll.

A more complex Odoo need?

Kameos supports Belgian SMEs and non-profits with their Odoo Enterprise integrations, custom module development and Flutter mobile apps connected to Odoo.

Discuss your project

Usually a reply within one working day.

About the author

Kameos is a Belgian Odoo integrator specialising in custom module development and Odoo ↔ Flutter integrations for SMEs and non-profits. Chatter Position is published and maintained by the Kameos technical team. Contact: [email protected].


Custom Odoo Module: The Booking App of a Physiotherapy Practice in Belgium