Stop discounts from eroding your margin on every sale.
Discount Limit Control sets per-user, per-role, per-product, and per-category discount caps with a minimum-margin floor, then routes any exception through a manager approval workflow with a full audit trail across Sales Orders and Point of Sale.
The problem
Salespeople and cashiers can apply any discount they like on a quote, sales order, or POS ticket. Deals close fast, but margin erodes quietly until month-end reporting shows the damage — with no ceiling, no role differentiation, and no record of who discounted what or why.
The solution
Discount Limit Control puts a configurable ceiling between every rep's keyboard and the confirmed order. Set caps by user, role, product, and category, enforce a minimum margin floor, and let legitimate exceptions flow through a manager approval queue instead of a dead-end block — with every decision logged for audit.
Everything you need to control discounting
Every capability below is implemented in the module.
Per-user, per-role, and global caps
Set a maximum discount percentage globally, by role, or for an individual user — the most specific rule always wins, so exceptions never require restructuring your teams.
User-level overrides
Grant a specific rep a higher or lower cap than their role default without creating a new role, so real-world exceptions stay simple to configure.
Minimum margin floor
Define a minimum margin percentage derived from product cost so no discount can push a line below the profitability your business needs, not just below a percentage cap.
Per-product and per-category caps
Set a default discount ceiling across a product category, then override it on individual products that need tighter control for thin-margin items.
Block or warn, your choice
Configure each limit to hard-block confirmation outright or only warn, so you can distinguish non-negotiable caps from soft guidance without extra setup.
Enforced on Sales Orders and POS
The same discount rules apply consistently at sales order confirmation and at Point of Sale checkout, so there is no workflow left unguarded.
Manager approval workflow
When a discount exceeds its limit, the requester submits a reasoned override request instead of losing the deal, routed straight to an approver queue for a one-click decision.
Full audit trail and dashboard
Every discount applied, approved, or rejected is logged with user, product, amount, and approver — visualised in a pivot and graph dashboard so managers spot leakage fast.
Can-discount-at-all permission
Separate the right to discount at all from how much: revoke discounting entirely for a user regardless of amount, closing the permission gap most limit apps leave open.
How it works
Configure your limits
Set global, role, user, product, and category discount caps plus a minimum margin floor from Sales > Configuration.
Reps discount as usual
The effective limit and any violation show inline on the sales order line and at POS checkout, in real time.
Exceptions get requested
An over-limit order is blocked or flagged; the rep submits an override request with a reason instead of losing the sale.
Managers approve and audit
Approvers act from a single queue with one click, and every decision lands in the audit log and usage dashboard.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Yes. The same discount rules are enforced at sales order confirmation and at POS checkout, so there is no workflow gap between the two.
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.
Discount Limit Control
Per-user, per-role, per-product, and per-category discount caps with a minimum margin floor, manager approval workflow, and full audit trail across Sales Orders and POS.
Buy on Odoo App Store