Every child record, inline — without leaving the list.

One2many Sublist lets your team expand any list-view row to review its one2many children as a live sub-table — right there, no form view required.

The problem

Reviewing a record's related lines today means opening its form view, one record at a time — repetitive context-switching for accountants reconciling journal entries or sales staff auditing quotations. The handful of existing sublist add-ons make it worse with documented widget-loading failures and inconsistent column labels.

The solution

One2many Sublist adds a reliable, arch-driven list-view class that expands any row inline into a read-only sub-table of its one2many children — complete with expand-all, sorting, column visibility, and duplicate detection, and no per-field setup required.

Capabilities

Everything you need to review nested records

Every capability below is implemented in the module.

01

Inline expand and collapse

Click the chevron on any row to reveal its one2many children as a sub-table, with zero per-field setup required.

02

Works on any one2many field

Driven entirely by view arch attributes, so it renders on sales lines, journal items, purchase receipts, or any other one2many relation out of the box.

03

Expand-all and collapse-all

One click opens or closes every sublist on the page, removing the need to toggle rows one by one.

04

Configurable pagination

Long sublists page automatically at an admin-configurable threshold, with Show more, Show all, and Show less controls.

05

Duplicate detection and filtering

Matching child rows are highlighted with a warning badge, and a one-click filter isolates duplicates for quick resolution.

06

Column visibility and per-column sorting

A column menu lets users hide fields they do not need, and clicking any header sorts the sub-table by that column.

07

Sticky headers and row numbers

Sub-table headers stay visible while scrolling, and each child row is numbered for easy reference across long lists.

08

Avatar columns and row selection

User and partner columns show avatars automatically, and selected rows are highlighted for clear visual tracking.

09

Configurable default page size

Administrators set the default sublist page size once from Settings, applied across every model that uses the widget.

Workflow

How it works

1

Add the widget

Set js_class="o2m_sublist" on any list view's one2many field — no Python required.

2

Expand a row

Click the chevron, or press Enter or Space, to reveal that record's children inline.

3

Filter and sort

Use the column menu, per-column sort, and duplicate filter to focus on what matters.

4

Review at a glance

Scan totals, avatars, and sticky headers across every expanded row without leaving the list.

Questions

Frequently asked

No sales fog. If your question isn't here, email us and we'll answer it the same way.

It works with any one2many field generically — just set js_class="o2m_sublist" on the field in your list view arch. No per-model or per-field Python is required.

Get the app

Buy it on the Odoo App Store

Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.

One2many Sublist

An inline sub-table that expands any one2many field right in the list row, with pagination, column visibility, per-column sorting, sticky headers and expand-all — no form view required.

Buy on Odoo App Store