section_and_note_one2many
This is the widget behind order and invoice lines, the one that lets a line be a section or a note instead of a product. It reads four settings that appear in no option list.
| Technical name | section_and_note_one2many |
|---|---|
| Field types | one2many |
| Views | form |
| Module | account, present wherever Invoicing or Accounting is installed |
| Used in core | 0 explicit uses under this exact name in Odoo 19. The document line editors reach it through view inheritance. |
| Versions | Odoo 19.0, Odoo 20.0 |
| No-code setup | No. There is no Studio entry, and none of its options are exposed anywhere. |
| Alternatives | one2many, section_and_note_text |
What the section_and_note_one2many widget does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
hide_prices | boolean | <strong>Undocumented.</strong> Suppresses the price columns in the line editor. Read from options in extractProps but absent from supportedOptions.(default: false) |
hide_composition | boolean | <strong>Undocumented.</strong> Suppresses the composition display on lines. Read from options in extractProps but absent from supportedOptions.(default: false) |
subsections | boolean | <strong>Undocumented.</strong> Enables nested subsections beneath a section header. Read from options in extractProps but absent from supportedOptions.(default: false) |
aggregated_fields | attribute, comma-separated field names | <strong>Undocumented, and an attribute rather than an option.</strong> Names the columns to aggregate per section. Read from the field tag as attrs.aggregated_fields and split on commas with surrounding spaces tolerated. Placing it inside options does nothing.(default: empty) |
None of the four appear in supportedOptions, so Studio will show nothing and no options helper will suggest them. They are read directly in extractProps and are as real as any declared option. Note in particular that aggregated_fields is an attribute, not an option: putting it inside options="{...}" does nothing.
Working examples
Four settings read from two different places
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 19.0 | Verified | Verified against the shipped 19.0 source. |
| Odoo 20.0 | Verified | Unchanged, though the related section_and_note_text widget was removed. |
Unchanged in Odoo 20, though a closely related widget was removed.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| aggregated_fields has no effect | It was placed inside options. The source reads it from attrs, not options. Move it onto the field tag as an attribute: aggregated_fields="price_subtotal, quantity". |
| None of the four settings appear in Studio | All four are undeclared. supportedOptions is empty for this widget. Set them in the view XML. They work despite being undocumented. |
| A section header behaves like an empty product line | The plain one2many widget is in use rather than this one. Set widget="section_and_note_one2many" on the line field. |
| section_and_note_text stopped working after upgrading to Odoo 20 | That sibling widget was removed in Odoo 20. This one was not. Remove the reference. There is no drop-in replacement; check how Odoo 20 renders the same lines. |
Section_and_note_one2many widget vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
section_and_note_one2many | Order and invoice lines with sections and notes | Four real settings that appear in no option list, one of them an attribute |
| one2many | Line fields with no sections or notes | Renders a section header as an empty product line |
| section_and_note_text | The text of a section or note line in Odoo 19 | Removed in Odoo 20 |
Frequently asked questions
How do I hide prices on Odoo order lines?+
Why does aggregated_fields do nothing in my options?+
What options does section_and_note_one2many support?+
Does this widget change in Odoo 20?+
Quotes and invoices that do not read the way you sell?
Sections, notes, hidden prices and per-section totals are all view-level settings that Studio will never show you. We shape Odoo's document line editors around how your quotes actually need to look to a customer.
Talk to an Odoo consultant