List Column Reorder
Drag to reorder — saved server-side, per user
Reorder the columns of any Odoo list view by dragging their headers, and have that arrangement remembered for each user, in the database — not in the browser.
The problem with browser-side add-ons
Odoo lets each user choose which optional columns to show, but not the order they appear in. Add-ons that do add reordering almost always store the layout in the browser's local storage — so it is lost the moment the user clears their cache, switches browser, or moves to another computer. This module stores the preference in Odoo instead, so it:
- Survives clearing the browser cache.
- Follows the user across devices and browsers.
- Is completely independent per user — nobody else's layout is affected.
- Needs zero configuration — it works on every list view out of the box.
Drag & drop, with a live drop indicator
Grab a column header and drag it left or right. A live indicator shows exactly where it will land; the new order is saved automatically.
Saved server-side — and it sticks
The order is stored per user in the database, so it is there the next time the view opens — after a reload, and on any device the user logs into.
One-click reset to the default order
A Reset column order entry in the list's options menu restores the view's default layout for the current user, whenever they want it back.
Works on One2many lists too
Reordering also works on embedded One2many lists (sales order lines, invoice lines, and more), where several competing modules break. Drag-to-sort handles and technical columns keep their place; only real data columns move.
Private and safe
Each user can only see and change their own column order. Preferences live in a dedicated model protected by Odoo record rules, and the module never modifies your views or their access rights — it only rearranges how columns are drawn for the user who chose that order.
Supported Odoo versions
Odoo 16.0 · 17.0 · 18.0 · 19.0
Each version maintained on its own branch.
No configuration required after installing — just open any list view and drag a column header.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 484 |
| Technical Name |
tll_list_column_reorder |
| License | OPL-1 |
| Website | https://tlldevelopers.com/ |
List Column Reorder — saved server-side, per user
Reorder the columns of any Odoo list view by dragging their headers, and have that arrangement remembered for each user, in the database — not in the browser.
The problem
Odoo lets each user choose which optional columns to show, but not the order in which they appear. The add-ons that do add reordering almost always store the layout in the browser's local storage. That means the arrangement is lost the moment the user:
- clears their browser cache,
- switches to a different browser, or
- logs in from another computer.
The layout never really belongs to the user — it belongs to one browser profile.
What this module does
Drag a column header left or right to reorder it. A live indicator shows exactly where the column will drop. The new order is then saved server-side, per user, keyed by model and view, and read back automatically the next time that view is opened.
Drag a header; the drop indicator shows where it will land.
Saved server-side and restored automatically on the next visit — on any device the user logs into.
Why server-side saving matters
- Survives clearing the browser cache. The preference is in Odoo, not in the browser.
- Follows the user across devices and browsers. Same layout at the office and at home.
- Independent per user. Each user's arrangement is private; nobody else's layout is affected.
- Zero configuration. It works on every list view out of the box — no setup, no per-view settings.
Reset to the default order
A Reset column order entry is added to the list view's optional-columns dropdown, restoring the view's default layout for the current user in one click.
One click restores the view's default column order.
Works on One2many lists too
Reordering also works on embedded One2many list views, where several competing modules break. Drag-to-sort handle columns and technical columns keep their original place; only real data columns move.
Column reordering inside an embedded One2many list.
Private and safe
Each user can only see and change their own column order. Preferences live in a dedicated model protected by Odoo record rules, and the module never modifies your views or their access rights — it only rearranges how columns are drawn for the user who chose that order.
Supported Odoo versions
Odoo 16.0, 17.0, 18.0 and 19.0, each maintained on its own branch.
Note
No configuration is required after installing. Just open any list view and drag a column header.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module