Sale Line Subtotal Editable | Direct price_subtotal Control on SO Lines
by Vizion Tools https://viziontools.com$ 8.00
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 68 |
| Technical Name |
vizion_so_line_total_editable |
| License | LGPL-3 |
| Website | https://viziontools.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 68 |
| Technical Name |
vizion_so_line_total_editable |
| License | LGPL-3 |
| Website | https://viziontools.com |
Sale Line Subtotal Editable
Direct price_subtotal Control on Odoo 19 Sale Order Lines
Directly edit price_subtotal on Odoo sale order lines. Unit price is automatically back-calculated from the total you enter — respecting quantity, discount, and taxes. Auto-locks invoiced lines.
The Problem: Locked Subtotals on Odoo Sale Order Lines
Every Odoo sales team managing customer quotations, service contracts,
or negotiated pricing has hit the same wall — the
price_subtotal field on Odoo sale order lines is
locked by default and cannot be edited directly.
When customers agree on a fixed total for a line item, sales teams are forced to manually reverse-engineer the unit price. This creates real workflow problems:
- Cannot enter a negotiated line total directly — must calculate unit price manually
- Discount + quantity combinations make back-calculation error-prone
- Sales reps waste time on arithmetic instead of closing deals
- Quotation turnaround slows when every line needs price gymnastics
- Fixed-price service contracts require awkward unit price workarounds
- Odoo implementers spend hours on bespoke development just to unlock a single field
The Solution: Editable price_subtotal with Automatic Unit Price Calculation
Sale Line Subtotal Editable unlocks the
price_subtotal field on Odoo 19 sale order product lines,
letting you type the total amount directly.
Odoo automatically back-calculates the correct unit price based on quantity and discount percentage. Tax amounts and order totals update instantly. Type the subtotal. Save. Done.
Already-invoiced lines are automatically locked — preventing accidental
modification to price_subtotal on lines where
qty_invoiced > 0, maintaining complete accounting consistency
between your sale orders and customer invoices.
Key Features
- ✓ Direct price_subtotal Editing: Click the Subtotal column on any product sale order line and type the total amount you need. No unit price calculation required. The module does the math for you.
- ✓ Automatic Unit Price Back-Calculation: Unit price is recalculated instantly from the subtotal you enter, accounting for quantity and discount percentage. Taxes and order totals update automatically.
-
✓ Invoiced Line Protection:
Lines where
qty_invoiced > 0are automatically locked read-only. Prevents accidental changes to already-invoiced amounts and maintains full accounting consistency. -
✓ Discount & Tax Aware:
Back-calculation fully respects the discount percentage on each line. Tax amounts
(
price_tax) and totals (price_total) recompute correctly. -
✓ Pricelist Safe:
Does not interfere with Odoo's pricelist engine. Uses a smart inverse method that
preserves
technical_price_unitseparation, preventing pricelist overrides on manually edited lines. - ✓ Zero Configuration: No settings to configure. No user access rights to modify. Install and the editable subtotal field is immediately live on all sale order and quotation views.
Real-World Use Cases
Fixed-Price Customer Negotiations
Customer agrees on a total for a line item? Type the agreed total directly into the Subtotal column. Unit price back-calculates automatically. No manual math.
Service Contracts & Project-Based Pricing
Service businesses, consultancies, and agencies quoting project-based totals can enter the agreed service amount directly without reverse-engineering hourly rates.
Volume Discount Quotations
When offering a customer a specific total after volume discounts, enter the final subtotal directly. The module respects the discount percentage in the back-calculation.
Fast Quotation Turnaround
Sales reps building quotations under time pressure can enter line totals directly instead of calculating unit prices. Faster quoting, fewer errors, more deals closed.
Odoo Implementers & Consultants
Deploy editable subtotals instantly for clients who need total-based pricing workflows. No custom development. Install, activate, done.
Who Is This For?
- ✔ Sales managers and reps using Odoo 19 for customer quotations
- ✔ Service businesses quoting fixed-price project totals
- ✔ Account managers handling negotiated pricing on sale orders
- ✔ Odoo implementers and consultants delivering clean SO workflows
- ✔ Businesses with volume discount or tiered pricing models
- ✔ E-commerce and wholesale companies managing bulk order pricing
- ✔ Any Odoo user needing direct price_subtotal editing on SO lines
Before vs After
| Before | After | |
|---|---|---|
| SO line subtotal | Locked (read-only) | Editable |
| Unit price when editing subtotal | Manual calculation | Auto back-calculated |
| Tax & total recomputation | Manual | Automatic |
| Discount handling | Must factor in manually | Respected automatically |
| Invoiced line protection | N/A (field locked) | Auto-locked when qty_invoiced > 0 |
| Pricelist compatibility | N/A | Fully preserved |
| Workaround unit prices needed | Yes | No |
Screenshots
Available in the Odoo 19 Apps Store
Sale Line Subtotal Editable (vizion_so_line_total_editable)
by Vizion Tools in the Odoo 19 Apps Store under the Sales category —
one-click install, zero configuration.
Video Demo
Live Demo: Editing price_subtotal on Sale Order Lines
Live demonstration of direct price_subtotal editing on Odoo 19
sale order lines, with automatic unit price back-calculation and invoiced line
locking — vizion_so_line_total_editable in action.
Technical Details
The module extends the sale.order.line model with a smart
inverse method on the price_subtotal field,
enabling direct editing while maintaining full computation integrity.
How the Back-Calculation Works:
- You type a subtotal value on a sale order product line.
- The inverse method divides by quantity and discount factor to derive
price_unit. price_taxandprice_totalare recomputed using Odoo's tax engine.- The pricelist is preserved —
technical_price_unitis intentionally kept separate to prevent pricelist overrides.
View Inheritance:
- sale.order form view — editable
price_subtotalon the embedded SO line tree inside the sale order form - Readonly condition:
display_type or qty_invoiced > 0— section/note lines stay read-only, invoiced lines are locked
- No JavaScript widget overrides
- No database migrations
- No performance impact
- No impact on sale order confirmation or invoicing workflows
- No interference with customer pricelist calculations
- No conflict with analytic accounting integration
| Field | Value |
|---|---|
| Technical Name | vizion_so_line_total_editable |
| Version | 19.0.1.0 |
| Odoo Version | 19.0 |
| Category | Sales |
| Dependencies | sale |
| Author | Vizion Tools |
| License | LGPL-3 |
| Compatibility | Odoo 19 Community & Enterprise |
Installation
- Open the Apps menu in your Odoo 19 instance.
- Search for
sale_lineor Sale Line Subtotal Editable. - Locate
vizion_so_line_total_editableby Vizion Tools. - Click Activate.
- Open any Sale Order or Quotation.
- Click the Subtotal field on any product line — it is now editable.
No post-install configuration required.
Frequently Asked Questions
Q: How does the unit price get recalculated?
A: The module uses an inverse method on price_subtotal. When you enter a
subtotal, it divides by quantity and discount factor to derive the correct
price_unit. Tax amounts recompute automatically.
Q: What happens to invoiced lines?
A: Lines where qty_invoiced > 0 are automatically locked read-only.
This prevents accidental modification and maintains accounting consistency with
existing invoices.
Q: Does this affect pricelists?
A: No. The module preserves technical_price_unit separation, which
prevents Odoo's pricelist engine from overriding your manually entered subtotal.
Pricelist calculations on other lines are completely unaffected.
Q: What about section and note lines?
A: Section and note lines (lines with a display_type) remain read-only.
The editable subtotal applies to product lines only, where a meaningful unit price
back-calculation is possible.
Q: Compatible with Odoo Enterprise?
A: Yes. Works on both Odoo 19 Community and Enterprise editions, including Enterprise sale approval workflows and analytic accounting.
Q: Will this break after an Odoo 19 update?
A: The module uses stable, officially supported Odoo API patterns (field inverse methods and XML view inheritance). Designed to survive standard Odoo 19 updates.
Q: What happens when the module is uninstalled?
A: The price_subtotal field returns to its default computed, read-only
state. No sale order data is lost and no records are modified.
Vizion Tools develops precision-focused Odoo 19 modules that solve real sales, procurement, accounting, invoicing, and operational pain points. Clean code, minimal dependencies, zero bloat, full respect for Odoo's core architecture.
Also by Vizion Tools: Purchase Line Subtotal Editable
(vizion_po_line_total_editable) — the companion module for direct
price_subtotal editing on Odoo purchase order section and note lines.
© 2025 Vizion Tools. All rights reserved.
For support and inquiries, please contact us.
Please log in to comment on this module