This module allows to configure a limit on the times a promotion can be applied. Two limits can be configured: customer and salesman. Those limits apply to either programs or coupons.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Limit how many times a promotion or coupon can be applied per customer or per salesperson. When the limit is reached, Odoo blocks the promotion on new sales orders with a clear message.
This module adds enforcement rules to loyalty programs in Sales. When a promotion is evaluated on a sales order, Odoo checks two kinds of limits before allowing it.
- Customer limit: if the program has a maximum number of applications per customer, Odoo counts previous non-cancelled sales orders for the same commercial partner that already used the program. If the count reaches the limit, the promotion is refused with a message showing how many times it was used and the maximum allowed.
- Salesperson limit: each program can list salespeople with their own maximum number of applications. Odoo counts previous non-cancelled sales orders handled by that salesperson that used the program. If the limit is reached, the promotion is refused with a message showing the times used and the maximum.
- Strict salesperson restriction: if the program is marked as restricted to listed salespeople, any salesperson not in the list is blocked from applying it.
The module also keeps informative counters on the loyalty program: the total maximum allowed and the total times used across salespeople. These counters are recalculated from actual sales order lines, excluding cancelled orders.
Access rights are added so salespeople can read the salesperson limit records, while sales managers can create, edit and delete them.
Models and fields (2)
- loyalty.program · extends an existing model
- loyalty.salesmen.limit · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 3 confirmed, 6 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/sale-promotion.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0To configure customer limits:
- Go to Sales \> Products \> Discount & Loyalty and select or create a new one.
- Set the Maximum Customer Applications to the number of times a program can be used by a customer.
NOTE: The customer limit is applied at commercial entity level, not for each contact inside the entity.
To configure salesmen limits:
- Go to Sales \> Products \> Discount & Loyalty and select or create a new one.
- Add salesmen to the Salesmen Limits list and their maximum number of applications.
- You can add different limits to different salesmen groups.
- If you want to constrain the use of the promotion to the salesmen list, set the option Strict limit on, so any other salesman won't be able to apply the promotion.
Usage
Source · Odoo 18.0Once the program limits are configured, apply the programs as usual in your sale orders.
Once the limit for a customer or a salesman is reached, if we try to apply a promotion:
- A code promotion will raise an error.
- A program with no code won't be applied.
- A coupon belonging to a limited program will raise an error.
- A promotion applied on the next order won't generate the coupon.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.