Turn one2many lists into a spreadsheet your team already knows
Add selection checkboxes, a bulk-action toolbar, and single-click boolean toggling to any one2many or many2many field — no coding, no configuration model, just one widget attribute.
Flipping a handful of booleans on order lines, invoice lines, or stock moves means entering edit mode, clicking into each row, finding the checkbox, and repeating the cycle for every line. On documents with 50+ lines, that is a slow, repetitive, error-prone chore, and Odoo ships no way to select several one2many records and act on them together.
This widget adds native-feeling selection checkboxes and a bulk-action toolbar to any one2many or many2many list. Select rows once, then mark a boolean, archive, or delete them all in a single step — with locked-document protection and an audit trail built in.
Everything a bulk-edit workflow needs
Every capability below is implemented in the module.
Native-feel selection checkboxes
Per-row selection checkboxes plus a working select-all header on any one2many or many2many list, styled exactly like Odoo's native list view.
Reliable single-click toggle
Boolean columns flip on the first click, with no double-click bug and no need to enter edit mode first.
Bulk toolbar with live count
A toolbar showing "X of Y selected" appears the instant a row is checked, so users always know the scope of the action about to run.
Bulk mark and clear
Every boolean column in the list is auto-detected and gets its own Mark/Clear button — no configuration step required.
Bulk delete with confirmation
Deleting selected lines always shows a confirmation dialog stating exactly how many lines will be removed.
Bulk archive
Deactivate many lines at once without deleting them, for a softer alternative to bulk delete.
One-click undo
Reverse the last bulk mark/clear action within the same session, removing the biggest trust barrier to enabling bulk edits.
Locked-document protection
Rows on locked or Done documents are automatically shown as non-selectable, with an inline reason, so confirmed records stay safe.
Built-in audit trail
Every bulk change or deletion is posted as a summary to the parent record's chatter, so managers can see who changed what and when.
How it works
Add the widget
Set widget="o2m_checkbox" on any one2many or many2many field in a form view. No configuration model needed.
Select rows
Use the header select-all or check individual rows, just like a native list view.
Run a bulk action
Mark or clear a boolean, archive, or delete the selected lines from the toolbar that appears.
Save and audit
Changes commit together on save and a summary is posted to the record's chatter automatically.
See it in action
From the checklist overview to bulk actions and locked-document safety.
The Checklists list view shows every checklist's status badge, line and done counts, and progress bar at a glance.
Each checklist's lines appear in an embedded list with selection checkboxes, boolean toggles, and a live progress percentage on the form header.
Selecting one or more lines reveals a bulk toolbar with a live selection count and per-boolean Mark/Clear, Archive, and Delete actions.
On a locked (Done) checklist, protected rows are shown as non-selectable with an inline reason, preventing accidental edits.
Bulk delete always asks for confirmation first, showing exactly how many lines will be removed before anything is deleted.
Frequently asked
Do I need to write any code to enable this?
No. Add widget="o2m_checkbox" to the field in your view and the checkboxes, select-all header, and bulk toolbar appear automatically — there is no configuration model to set up.
Does it work with many2many fields too?
Yes. The widget registers for both one2many and many2many fields, with bulk delete correctly unlinking or removing the relation as appropriate for each field type.
What happens if I try to bulk-edit lines on a locked document?
Rows on a locked document are automatically shown as non-selectable with an inline reason. Users configured as managers can still override the lock when a genuine correction is needed.
Can I undo a bulk action?
Yes, for mark/clear actions. The toolbar's Undo button restores the previous value on every line affected by the last bulk field change, within the same session.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Empowering growth through technology.
Checkboxes, multi-select, and bulk actions for one2many and many2many list fields, with locked-document safety and an audit trail.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 446 |
| Technical Name |
cerevantix_one2many_checkbox |
| License | OPL-1 |
| Website | https://cerevantix.com |
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