OdooWiki OCA HUB

Sale Loyalty Limit

sale_loyalty_limit folder_open OCA/sale-promotion open_in_new
Sale License: AGPL-3

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.0

Limit 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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation 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.0

To 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.

Once 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.

info

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.