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.

Capabilities

Everything you need to control discounting

Every capability below is implemented in the module.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

07

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.

08

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.

09

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.

Workflow

How it works

1

Configure your limits

Set global, role, user, product, and category discount caps plus a minimum margin floor from Sales > Configuration.

2

Reps discount as usual

The effective limit and any violation show inline on the sales order line and at POS checkout, in real time.

3

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.

4

Managers approve and audit

Approvers act from a single queue with one click, and every decision lands in the audit log and usage dashboard.

Questions

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.

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.

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