Sale Loyalty Limits
Give each customer the offer they qualify for. Control discount codes, promotions and coupons using their order history.
Odoo 19.0 · Community & Enterprise · Odoo.sh & On-Premise · by OdooCamper Labs
What it does
A welcome discount should go to a new customer. A one-use offer should stay one-use. A return offer should reach accounts that have been inactive.
Sale Loyalty Limits adds these conditions directly to Odoo's Sales loyalty programs. Choose one use per customer account, first order only or a required inactivity period. Enable several conditions when an account must meet all of them.
Key features
Practical controls for your discount codes, promotions and coupons.
Configuration
Open your program in Sales and use the Customer account conditions section. Keep Odoo's normal rules and rewards.
Welcome Back : 10% discount
Example: the WELCOME10 code gives a 10% discount after at least six months without a confirmed order, with one use per account.
Customer account scope
The offer follows the commercial account. Switching contacts does not give the same company another use.
Alpha and its contacts
Alice uses the offer for Alpha. Her confirmed order consumes Alpha's one-use entitlement.
Bob also orders for Alpha. He cannot use that same offer again on Alpha's account.
Beta, a separate company
Beta is Alpha's subsidiary. It is registered as a company and has its own commercial account.
Chloe orders for Beta. Beta can use the offer independently of Alpha.
Clear confirmation messages
If the customer no longer qualifies, confirmation explains why and identifies the previous order. The quotation keeps its discount for review.
A second use is refused on the same account
Requirements and scope
19.0 Community and Enterprise
Requires Sales with Discounts & Loyalty. Dependency: sale_loyalty.
Available languages
Labels, help text and refusal messages follow the user's language. Arabic includes right-to-left display.
Frequently asked questions
Which orders count towards the limit?
Confirmed sales orders count. Draft, sent and cancelled orders do not. Cancelling an order removes it from the relevant history.
Are the conditions combined?
Yes. Every enabled condition must be met. One-use limits apply per program; first-order and inactivity conditions consider all confirmed orders on the account.
When is eligibility checked?
When applying a discount code, recalculating rewards and confirming an order. A conflicting batch is refused before confirmation starts.
Sale Loyalty Limits
LGPL-3 license. OdooCamper Labs.
Please log in to comment on this module