Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
Lines of code | 53 |
Technical Name |
pv_mass_line_edit_sale |
License | LGPL-3 |
Mass Line Edit – Sale
Bulk-edit sale order lines directly in the order form. Tick Apply to All on the lines you want to sync, change one of them (Quantity, Price, Taxes, Description, etc.), and the same change is propagated to the other selected lines automatically.
Odoo 18
Sales
Quotations & Sales Orders
LGPL-3
Why this module?
Updating the same value across several order lines is repetitive and error-prone. This add-on introduces an opt-in mass-edit flow so you change once and apply consistently—no wizards, no exports.
Key features
- Master toggle: a Mass Edit box with Select All Lines on the SO form.
- Per-line control: each order line gets an Apply to All toggle (compact switch).
- Instant propagation: edits to any enabled line are copied to all other enabled lines of the same order.
- Generic by design: the module pushes whatever fields you changed on the edited line, excluding the toggle itself.
- Safe recursion guard: a context flag prevents infinite loops while propagating.
- Native UX: master control above the tabs; per-line switch as the first column in the lines list.
Supported flows
Quotations
Draft stage
Draft stage
Sales Orders
Confirmed orders*
Confirmed orders*
Note: Standard Odoo restrictions apply (e.g., some fields become read-only after confirmation).
How it works
- Open any quotation / sales order.
- Use Select All Lines to opt in every line, or toggle Apply to All only on the lines you want linked.
- Edit a value on one of the enabled lines (e.g., Quantity, Price, Taxes, Description).
- All other enabled lines update immediately with the same change.
Permissions & compatibility
- Respects standard
sale
security and record rules. - No configuration required. Install and use.
- Works with the standard Sales Order form and lines list.
Technical overview
- Model extensions:
sale.order
→ Booleanselect_all_lines
+ onchange to toggle line flags.sale.order.line
→ Booleanapply_all
+write()
override that pushes edited fields to sibling lines (same order).
- Safety: propagation uses a
mass_edit_propagation
context guard to avoid recursive writes.
Changelog
- 18.0.1.0.1 – Initial public release for Odoo 18.
Please log in to comment on this module