Sales: Products: Promotion Programs

Purpose

This document will walk you through how to create promotions and discounts on Sales Orders in Odoo 12.

Process

To get started, navigate to the Sales app. 

Odoo image and text block

Promotions

Promotions are configured very similarly to how we just configured coupons, however, there are some differences for promotions and how they work. For the sake of clarity, we will only be reviewing the fields for creating Promotions that are different from the Coupon fields.

Unlike coupons, promotions do not require a code applied to take effect on a Sale Order, although you can create a promotional code if you choose. With promotions you have the option to specify if you want the discount applied automatically to the order once the conditions of the promotion are met. 

To enable coupons, go to CONFIGURATION > SETTINGS and scroll to the pricing section. Make sure Coupons & Promotions is enabled, then click Save.

Odoo image and text block

This option activates both the ability to create coupon codes and promotions that can give discounts on products and shipping costs as well as give away free products. We will go over how to create coupon codes and promotions, and the differences between them in more detail below. 

To access your promotions, navigate to Products > Promotion programs.

From this page you will see all of your promotions. Click create to make your new promotion program. 

Odoo image and text block

Fill in the below fields to create your promotion: 

Odoo image and text block

Based on Customers: You have the option to set the applicability of the promotion to specific customers based on the rules that you apply. If you set multiple rules, you can have the promotion be applied to the customer if ALL of the rules are met or if ANY of the rules are met.

Promo Code Usage: You can set the discounts to apply automatically without the need for a code or you can create promotional codes that need to be applied for the discount to take place. 

If you select the option to use a code for the discount to take effect, you will be prompted to create a custom promotion code that will be used to activate the discount on all orders. 

Apply on First: You can set this promotion to apply to a certain number of orders or apply to all orders within the specified date range that meet the product or customer conditions. 

Applicability: You can have the promotion apply to the current order that meets the promotion criteria or set the promotion to generate a coupon code that can be applied on the customer's next order.

Applying Promotions to Sales Orders

If you have the promotion set to apply to orders that match your conditions and apply the discount to the current order, after you've added the customer information and the products to the Sale Order, click the Update Promotions button at the top of the page. Odoo will review the order and if the conditions match what you've set for your promotion, the discount will be applied as a new line item to the Sale Order. 

Odoo image and text block

If you have the promotion set to require a code for the discount to take effect, then after you've added the customer information and the products to the Sale Order, click the Apply Coupon button at the top of the page and enter the promotion code that you created and hit Apply Coupon on the new window.

Once the code is applied, the discount will be added as a new line item to the Sale Order. 

If you have the promotion set to create a new coupon code that can be used on the customer's next order, then once you hit update promotion on the Sale Order, a coupon code will be generated for the customer in the promotion program details page. You will now see a number listed on the  Coupon smart button at the top right of the Promotion Details Page.  

Odoo image and text block

By clicking on the Coupon Smart Button, you can see the coupon codes and the customer associated with it. When you click on any of the coupon codes, you can see the Sale Order that qualified them for the coupon code, the coupon expiration date, and you can send the customer the coupon code by clicking send by email.

Once they use this coupon code, you'll also be able to see on what Sale Order they applied it to. 

Odoo image and text block

Pricelists: Customer Segments

You can create pricelists and set those price lists on your customer's contact details so that when they are added to a Sales Order their pricing tier will automatically appear for the products that you add. This will allow you to divide your customer base into different segments like wholesalers, retail clients, long term clients with special pricing, etc. 

To activate this feature go to CONFIGURATION > SETTINGS and from the Pricing section select Multiple Sales Prices per Product and then select Prices computed from formulas (discounts, margins, roundings).

When ready, click Save.

Odoo image and text block

To create a new formula, navigate to Products > Pricelists

Select Create

Odoo image and text block

You will be given the below options to create your new pricelist:

Input a name for your pricelist at the top of the page.

Country Groups: You have the option to define country groups and this pricelist will take effect for any customers located in any of the countries that you specify. For now, we will not set this up and instead will focus on how to assign pricing to your customers via the Contacts App once we've created the pricing formula. If you want to see how to create country groups, you can read our Pricelists: Country Groups + Multiple Prices per Product document

To create a pricing formula select ADD A LINE underneath Pricelist Items. 

Odoo image and text block

A new window will appear with the following options:

Odoo image and text block

Apply on: Select which products you want this pricing to apply to.

  • Global: This will make the pricing effective on all products. 

  • Product Category: This will make the pricing effective on a single product category that you choose. 

  • Product: This will make the pricing effective on a single product that you choose. 

  • Product Variant: This will make the pricing effective on a single product variant that you choose. 

Min. Quantity: Input a minimum quantity that must be purchased for this pricing to take effect. 

Start Date: Choose if you want this pricing to start on a specified date. 

End Date: Choose if want this pricing to expire on a specified date. 

Compute Price: Input how you want the prices calculated for the products you select in the Apply On section above. 

  • Fix price: You can set a fixed price. 

  • Percentage (discount): You can set a fixed percentage off. 

  • Formula: You can design a formula that will calculate new pricing. 

With Formula selected, you will see the below options to configure for your pricing formula: 

Odoo image and text block

Based on: Choose the pricelist that you want to use as your base pricing. 

New Price = (selected pricelist) - (configurable percentage of discount) + (defined surcharge/price increase).

Rounding Method: Use this to define what you want your prices rounded to after they're calculated using the formula. This will keep the formula from returning pricing like $1.213. 

Min. Margin: Set a minimum margin that must be met regardless of what the formula returns. 

Max Margin: Set a maximum margin that the new pricing will not exceed regardless of what the formula returns. 

Once all of the options are configured, click Save & Close on the formula window. 

If all of your pricelist options from above are configured, click Save.

You can choose this pricelist manually on the dropdown menu on your Sales Orders and it will apply the pricing that you specified in your formula to all applicable products on the Sales Order. 

Odoo image and text block