This module adds the concept of promotion rules that can be applied on the sale order.
Two kinds of rules are implemented:
- automatic
- coupon
Automatic rules are applied/recomputed automatically for a sale order when the user clicks on the button "Apply discount" in the view form. Depending on the rule's criteria more than one automatic rule can be applied to a same sale order.
Coupon are special manual rules. Only one coupon can be applied to a sale order. This rule takes always precedence over automatic rules.
auto_awesome What this module does
AI-generated from the code · Odoo 17.0Create promotion rules (automatic or coupon) and apply them to sales orders to give discounts. Users can apply, add a coupon code, or remove discounts directly from the quotation form.
This module lets you define promotion rules and apply them on quotations and sales orders.
- Configure rules under Sales > Configuration > Promotion Rule. Each rule has a type: Automatic or Coupon. A coupon rule needs a unique code.
- A rule offers a discount, either a percentage or a fixed amount (taxes included or excluded). For fixed amounts you must choose a discount product and a currency.
- Conditions can restrict a rule: start/end dates, a minimal order amount (with or without taxes), specific partners, specific pricelists, newsletter subscribers only, and one-use-per-partner.
- A strategy decides how rules combine: use the best promotion, cumulate, exclusive, or keep existing discount.
On a quotation, buttons appear next to the totals: (Apply discount), (Add coupon) and (Remove discount). Applying discounts recalculates automatic rules; adding a coupon opens a small window where you type the coupon code. Only one coupon can be on an order and it takes precedence over automatic rules. An 'Applied Promotions' tab shows which rules were applied, and the same information appears on each order line.
Discounts are written on the order lines, and fixed-amount discounts add a negative promotion line using the chosen discount product. Rules are company-specific, and only sales managers can create or edit them.
Depends on
Required by other modules
Menus it adds
Models and fields (4)
- sale.order · extends an existing modelcoupon_code (Coupont Promotion Code), promotion_rule_ids (Promotion rules), has_promotion_rules, coupon_promotion_rule_id (Coupon promotion rule), applied_promotion_rule_ids (Applied Promotion rules)
- sale.order.line · extends an existing modelcoupon_code, is_promotion_line, promotion_rule_ids (Promotion rules), has_promotion_rules, coupon_promotion_rule_id (Coupon promotion rule), applied_promotion_rule_ids (Applied Promotion rules)
- sale.promotion.rule · new modelcode, name, date_to, sequence, date_from, rule_type, company_id (Company), promo_type, discount_type, minimal_amount, discount_amount, only_newsletter, usage_restriction, discount_product_id (Product used to apply the promotion), multi_rule_strategy, restrict_partner_ids (Restricted partners), restrict_pricelist_ids (Restricted pricelists), is_minimal_amount_tax_incl (Tax included into minimal amount?), discount_amount_currency_id (Discount Amount Currency)
- sale.order.add.coupon · new modelname (Coupon Name)
Text generated by AI (DeepSeek) from reading the Odoo 17.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 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/sale-workflow.
terminal Installation and usage
No verified informationInstallation 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.