OdooWiki OCA HUB

OCA/sale-promotion

OCA community repository with 79 Odoo modules confirmed in the OdooWiki catalogue (versions 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0). Reviewed on 2026-11-03.

Open on GitHub

Confirmed modules per version

12.0
0 modules
13.0
27 modules
14.0
20 modules
15.0
35 modules
16.0
25 modules
17.0
9 modules
18.0
25 modules
19.0
2 modules
20.0
0 modules

Modules in the repository

  • Coupon ChatterOdoo 15, 16, 17
    coupon_chatter

    Adds a chatter (messages, followers and scheduled activities) to loyalty and coupon programs, so teams can log notes and plan follow-ups directly on each program.

  • coupon_commercial_partner_applicability

    Coupons generated for one contact can be redeemed by any other contact belonging to the same commercial entity (same company group).

  • coupon_copy_product

    When you duplicate a coupon reward, the copy keeps the same reward product as the original instead of losing it.

  • coupon_criteria_multi_product

    Adds a 'Multi Product' coupon criteria option to promotion programs, letting you set different minimum quantities for different product groups, all of which must be met for the coupon to apply.

  • coupon_domain_free_product

    Adds a new coupon reward type called Product Domain, letting you give free products chosen by a product domain instead of a single fixed product, with an optional maximum quantity.

  • coupon_domain_product_discount

    Lets you apply a coupon promotion discount only to the products that match a product domain, instead of listing each product manually. You also get a description of the eligible products on the coupon report.

  • coupon_incompatibility

    Lets you mark promotions as incompatible with each other, so that two conflicting promotions cannot be applied together. The link is automatically kept two-way between the promotions.

  • Coupon LimitOdoo 14, 15
    coupon_limit

    Adds limits to promotion programs so a coupon can only be applied a certain number of times per customer or per salesman. It is a technical base meant to be extended by sales and POS modules.

  • coupon_mass_mailing

    Link mass mailings to promotion programs. A 'Mailings' smart button on the promotion form shows how many mailings are linked and creates one automatically using the promotion's contact domain if none exist yet.

  • coupon_multi_gift

    Lets you configure several gift products (with quantities) as the reward of a single promotion, instead of only one free product.

  • coupon_multiplier_free_product

    Adds a new promotion reward type called "Multiple of" so you can set up 3x2-style offers or "buy this, get that free" deals that repeat as many times as the customer qualifies. You can also force the free product to be added and cap how many free units are…

  • coupon_portal

    Customers can see and manage their own coupons in the Odoo customer portal, with a dedicated Coupons page showing code, program, dates and status.

  • coupon_portal_commercial_partner_applicability

    Lets portal users see coupons that belong to their company (commercial partner) and its contacts, not only coupons linked to their own user contact.

  • coupon_promotion_generate_coupon

    Lets you link a coupon program to a second coupon program so the coupons it generates follow the rules of that other program. A button on the program form shows and opens the coupons of the linked program.

  • loyalty_card_fixed_expiration_date

    Lets you set a number of days on a gift card loyalty program so that each new card automatically gets a fixed expiration date counted from the day it is created.

  • loyalty_coupon_no_mail

    Adds a 'Never' option to the communication trigger of loyalty programs, so coupons can be generated without sending any email. It is the new default for coupon programs.

  • loyalty_criteria_multi_product

    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.

  • Loyalty incompatibilitiesOdoo 16, 17, 18, 19
    loyalty_incompatibility

    Lets you mark loyalty programs and promotions as incompatible with each other, so you can control which offers should not be combined.

  • loyalty_initial_date_validity

    Adds a Start Date field to loyalty programs and promotions, so you can define when a promotion becomes valid. It also checks that the start date is not later than the end date.

  • Loyalty LimitOdoo 16, 17, 18
    loyalty_limit

    Adds limits to loyalty programs: a maximum number of times a program can be applied per customer, and per-salesman limits with a strict mode. It is a technical base meant to be extended by sales and POS modules.

  • loyalty_mass_mailing

    Adds a "Mailings" button on loyalty programs so you can create or open email campaigns linked to a promotion, pre-filled with the promotion's contact filter.

  • loyalty_multi_gift

    Adds a new "Multi Gift" reward type to loyalty programs, letting you offer several gift products with quantities in a single promotion instead of just one.

  • loyalty_partner_applicability

    Restrict loyalty promotions to a chosen group of customers by selecting specific contacts or defining a customer filter on the promotion itself.

  • loyalty_program_chatter

    Adds a chatter (messages and activities) to loyalty programs, so you can log notes, schedule activities and follow up on each program directly from its form.

  • Auto Refresh CouponsOdoo 13, 14, 15
    sale_coupon_auto_refresh

    Automatically re-applies promotion programs marked as auto-apply on sales orders whenever the order or its lines change, without the user having to click anything.

  • sale_coupon_chatter

    Adds a chatter to coupon and promotion programs so users can log notes, send messages and schedule activities directly on each program record.

  • sale_coupon_commercial_partner_applicability

    Coupons generated for one contact can also be used by other contacts that belong to the same commercial entity, instead of being rejected as belonging to an invalid partner.

  • sale_coupon_criteria_multi_product

    Lets you use multi-product promotion criteria (from the coupon_criteria_multi_product module) when applying coupons and promotions on sale orders. Odoo checks each order's products and quantities against those criteria before granting the reward.

  • sale_coupon_criteria_order_based

    Adds an extra condition to coupon and promotion programs so they only apply to sales orders that match a chosen order filter, for example a specific sales team or customer.

  • sale_coupon_delivery_auto_refresh

    Keeps automatic coupon and free-shipping behaviour working together on sales orders: when a delivery line is added automatically, coupons are still applied, and when coupons are recomputed, delivery lines are not refreshed again.

  • sale_coupon_domain_free_product

    This module lets you create coupon programs that give free products based on a product domain, automatically adding 100% discounted reward lines to sales orders when the domain conditions are met.

  • sale_coupon_domain_product_discount

    Lets you apply a coupon promotion discount only to the products that match a product domain, instead of the whole order. It also supports a strict per-product limit so each product must individually meet the minimum quantity and amount rules.

  • sale_coupon_domain_product_discount_in_field

    This bridge module makes a coupon promotion apply its discount only to the products that match the promotion's product domain, instead of to all order lines. It installs automatically when both related promotion modules are present.

  • sale_coupon_domain_product_reward_fixed_price

    This bridge module makes two promotion features work together: fixed-price rewards and product-specific discount rules. It lets a fixed price be applied only to the products that match the promotion's product filter.

  • sale_coupon_financial_risk

    Prevents reward coupons from being emailed to customers when their sales order exceeds the allowed financial risk. It links coupon promotions with credit risk checks on confirmation.

  • sale_coupon_free_shipping_default_product

    Lets you choose one default service product that is automatically used as the reward product whenever a promotion is set to free shipping, so you don't have to create a new product for every free shipping promotion.

  • sale_coupon_incompatibility

    Lets you mark promotions as incompatible so that two conflicting promotions cannot be applied to the same sales order. When a customer tries to add a promotion or coupon that clashes with one already on the order, Odoo blocks it with an error message.

  • Coupon LimitOdoo 13, 14, 15
    sale_coupon_limit

    Limit how many times a promotion or coupon can be used per customer or per salesperson. When a limit is reached, Odoo blocks the promotion and shows an error message.

  • sale_coupon_mass_mailing

    Link mass mailings to promotion programs and launch them from a smart button on the promotion form. The mailing audience is pre-filled with the promotion's contact domain.

  • sale_coupon_multi_gift

    This module lets you set up promotions that give several different free products as a reward on a sales order. When a promotion with multiple gift rewards applies, Odoo automatically adds the free products as separate order lines with a 100% discount.

  • sale_coupon_multiple_code_program

    Allows a single sales order to use more than one coupon code promotion program, instead of Odoo's default limit of one code program per order.

  • sale_coupon_multiplier_free_product

    This module lets you set up 'buy X, get Y free' promotions that repeat automatically, such as 3x2 offers, and ensures the free product lines are correctly added, updated, or removed on sales orders.

  • sale_coupon_order_line_link

    Links each sale order line to the coupon or promotion program that produced it, and shows which lines generated a reward and which lines received it. Adds promotion tracking fields and filters to sales orders and the sales analysis report.

  • Pending CouponsOdoo 13, 15
    sale_coupon_order_pending

    Shows salespeople how many coupons a customer still has available and lets them apply one directly from the sales order.

  • sale_coupon_order_pending_commercial_partner

    Automatically installed glue module that widens the search for pending coupons on a sales order so coupons belonging to the whole commercial entity (parent company and its contacts) are shown, not just those of the order's contact.

  • sale_coupon_order_suggestion

    Shows a gift icon on sales order lines when a promotion is available for the product, letting the salesperson open the promotion wizard directly from the line.

  • Sale Coupon PartnerOdoo 13, 14, 15
    sale_coupon_partner

    Lets you link a coupon or promotion program to a specific customer, and then analyse sales by that customer in the Sales Analysis report.

  • sale_coupon_portal

    Customers can see and manage their own sale coupons from the customer portal, with filters, sorting and search by coupon code or program.

  • sale_coupon_portal_commercial_partner_applicability

    Lets customers see on the portal the coupons that belong to their company, not only the ones linked to their own contact.

  • sale_coupon_product_exclude

    Lets you set a product filter on a promotion so that matching products are left out when Odoo calculates the discount. The excluded products are ignored for the reward, both for whole-order and per-line discounts.

  • sale_coupon_promotion_generate_coupon

    When a promotion is set to hand out its reward coupon through a different promotion, this module makes the coupon be created in that other promotion instead, and keeps the sales counters and coupon expiry consistent.

  • sale_coupon_reward_add_product

    Lets you configure a promotion so the free reward product is added automatically to the sales order when it is missing, instead of requiring the customer to add it first.

  • sale_coupon_reward_fixed_price

    Adds a new "Fixed Price" reward type to coupon and promotion programs, letting you set a specific unit price for the products that match the program's rules instead of giving a percentage or amount discount.

  • sale_coupon_reward_fixed_price_order_line_link

    Bridge module that links fixed-price coupon rewards to the sales order lines they discount, so each discounted line records which promotion program applied it.

  • sale_coupon_selection_wizard

    Salespeople can open a wizard from a sales order to see all promotions that fit the order, preview the required products and rewards, and apply the chosen promotion in one click.

  • sale_coupon_validity_notification

    When a coupon linked to a sales order expires, Odoo automatically posts a note on that order and schedules a warning activity for the salesperson, so they know the coupon must be removed.

  • Auto Refresh CouponsOdoo 16, 18, 19
    sale_loyalty_auto_refresh

    Automatically applies and refreshes loyalty and promotion rewards on sales orders whenever the order changes, without the user having to click anything. A company-wide setting turns this behaviour on or off.

  • sale_loyalty_criteria_multi_product

    Lets you use multi-product promotion criteria on sales orders, so a promotion only applies when all the required products are actually in the order.

  • sale_loyalty_incompatibility

    Adds incompatibility rules between promotions in sales orders, so a promotion that conflicts with one already applied cannot be used together.

  • sale_loyalty_initial_date_validity

    When a sales order is created or edited, Odoo only offers promotions and loyalty programs whose start date has already arrived, so future-dated promotions cannot be applied by mistake.

Data imported from GitHub: every listed version is confirmed (branch, module directory and installable manifest checked on the review date). Active support and OCA certification are not assessed.