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.

Capabilities

Everything a margin control needs

Every capability below is implemented in the module.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

07

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.

08

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.

09

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.

Workflow

How it works

1

Define a margin policy

Create cost-band tiers, each with its own minimum margin percentage, to match how your catalog actually prices.

2

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.

3

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.

4

Managers override with a trail

An authorized approver can clear a genuine exception, and every override is logged for later review.

Questions

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.

Get the app

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