Stop orders that erode your margin before they are confirmed
Define cost-relative minimum-margin policies with tiered rules, enforce them with a real hard block on Sales and POS, and give managers an auditable override path — instead of a warning reps can simply dismiss.
The problem
Odoo's standard sales flow shows a computed margin but never enforces one. A busy rep can confirm a quote at or below cost, and the leakage only surfaces weeks later during a profitability review — by which point the goods are already shipped. A flat currency minimum cannot govern a catalog spanning a €3 item and a €300 item, so most teams end up policing margin by hand, product by product.
The solution
Build reusable margin policies out of cost-band tiers, assign them to products, categories, or the whole catalog in bulk, and let the system hard-block non-compliant sale and POS lines automatically. Reps see a live margin-gap badge before they hit the block, and a manager can approve a documented exception without disabling the control for everyone else.
Everything a margin control needs
Every capability below is implemented in the module.
Reusable margin policies
Build a policy once from cost-band tiers and reuse it across as many products or categories as you need, instead of configuring a minimum on every product form.
Percentage, cost-relative tiers
Set cost bands with their own minimum margin percentage — for example 75% under €5 and 50% between €5 and €10 — so one policy correctly governs both cheap and expensive items.
Product, variant & category assignment
Assign a policy directly on a product or variant, inherit one from the product category, or fall back to a company-wide default — your choice, per product.
Live margin-gap badge
Every sale order line shows a clear badge for how far it sits above or below its minimum, so reps can self-correct pricing before they ever hit a block.
Configurable warn or hard-block
Choose warn-only or a real hard block on confirmation, per company. A blocked quotation shows a violation ribbon and cannot be confirmed without going through the override workflow.
Manager approval & audit trail
Give an authorized approver group a documented override path for genuine exceptions, so enforcement stays strict without being rigid — with a record of who approved what.
Bulk assignment across catalogs
Select thousands of products in a list view and apply a margin policy to all of them in one wizard, instead of opening every product form one at a time.
Point of Sale enforcement
Configure the same margin policy engine to warn or block below-minimum lines at the register, so cashiers get the same protection as your sales desk.
Missing-cost handling
Choose how lines with no recorded cost are treated — warn or ignore — so an incomplete cost catalog never silently blocks every quotation.
How it works
Define a margin policy
Create cost-band tiers, each with its own minimum margin percentage, to match how your catalog actually prices.
Assign it to your catalog
Set the policy on a product, a whole category, or bulk-assign it to thousands of SKUs at once from the product list.
Reps quote as usual
The margin badge updates live on each line, and the system warns or blocks automatically the moment a line falls below minimum.
Managers override with a trail
An authorized approver can clear a genuine exception, and every override is logged for later review.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Yes. Each margin policy is built from cost-band tiers, so you can require a higher percentage on cheap items and a lower percentage on expensive ones within the same policy.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Minimum Sales Margin Restriction
Reusable cost-relative margin tiers assigned by product, variant or category, enforced as a warning or a real hard block on Sales and POS — with a manager override that is recorded.
Buy on Odoo App Store