| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 46 |
| Technical Name |
prevent_selling_below_cost |
| License | GPL-3 |
| Website | http://sm-iot.com |
| Versions | 16.0 17.0 18.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 46 |
| Technical Name |
prevent_selling_below_cost |
| License | GPL-3 |
| Website | http://sm-iot.com |
| Versions | 16.0 17.0 18.0 |
Prevent Selling Below Cost
Blocks quotation confirmation whenever a product line is priced below its standard cost — discounts included.
Features
| ✓ | Discount-aware — checks effective price after discount |
| ✓ | UOM-aware — converts cost to the selling unit of measure |
| ✓ | Multi-currency — uses Odoo's built-in currency conversion |
| ✓ | Multi-company — cost is read in the order's company context |
| ✓ | Zero-cost products skipped — no false positives on free items |
| ✓ | Clear error message — lists every underpriced product by name |
| ✓ | No configuration needed — works immediately after install |
How It Works
- Salesperson creates a quotation and clicks Confirm.
- Module checks each line:
effective_price = price_unit × (1 − discount/100) - If effective price < standard cost → confirmation is blocked.
- A dialog lists every offending product by name so the rep can fix it.
Screenshot
Requirements
- Odoo 18.0
- Depends on:
sale_management
Please log in to comment on this module