OdooWiki OCA HUB

Loyalty multi product criteria

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

Base module that allows to define complex rules on products to fulfill the conditions of a loyalty program, so for a given set of products we could define a minimum quantity and another for others, being all those criterias mandatory for the program to be applied.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Adds a "Multi Product" criteria option to loyalty program rules, letting you require several different products (each with its own minimum quantity) before a promotion or loyalty reward applies.

When you set up a loyalty program, each rule now has a "Loyalty criteria" choice: "Domain" (the standard Odoo behaviour) or "Multi Product". Choosing "Multi Product" hides the usual quantity, amount, product domain, product, category and tag fields and shows a table of criteria lines instead.

  • Each criteria line lists a set of products and a minimum quantity.
  • The minimum quantity is calculated automatically from the number of products in the line, so it always matches the products you selected.
  • If the quantity is changed to something different from the number of products, Odoo blocks the save with an error message telling you to set the rule as repeatable instead.
  • Switching back to "Domain" clears the multi-product lines, and switching to "Multi Product" clears the standard rule fields, so the two modes cannot be mixed.

The option is available on the loyalty program form and on the individual rule form, and a small indicator appears on the rule kanban card when the multi-product criteria is used. New programs of the promotion, loyalty, promo code, buy X get Y and next order coupon types start with the standard "Domain" criteria by default. The module touches loyalty.program, loyalty.rule and the new loyalty.criteria model.

Depends on

loyalty

Required by other modules

Models and fields (2)
  • loyalty.rule · extends an existing modelloyalty_criteria (Loyalty criteria), loyalty_criteria_ids (Multi Product Criterias)
  • loyalty.criteria · new modelrule_id, product_ids, rule_min_quantity (Min. Quantity)

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: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/sale-promotion.

terminal Installation and usage

OCA documentation · Odoo 18.0

To configure multiple product criterias:

  • Go to Sales \> Product \> Loyalty Programs and select or create a new one.
  • Go to rules. On the Loyalty Criteria field choose Multi Product.
  • The standard domain will be hidden and a criteria list will be shown.
  • Add as many criterias as needed for the desired promotion behavior.

In the list of criterias we can configure:

  • Products: The products that should be present to fulfill the condition.

Some examples:

[TABLE]

A unit of Product A must be in the sale order.

[TABLE]

A unit of Product B and Product C must be in the sale order.

Also note that all the defined criterias must be fulfilled or the program won't be applied.

No verified information in OCA: Installation, Usage.

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.