Sales: Pricing Guide
This document will walk you through how to create promotions/coupons and discounts on Sales Orders, and how to set up price lists in the Odoo Sales application.
To get started, navigate to the Sales app.
Discounts: When discounts is checked, you'll be able to apply a discount of any amount to any line item that you add to a Sale order. You cannot grant discounts on order totals using this feature.
Coupons & Promotions: 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.
Margins: This feature will use the cost and sale price of any line item to calculate and display the total margin on your Sale Orders.
Multiple Sales Prices Per Product: This option allows you to create more complex pricing structures that will automatically apply discounts and change product pricing based on your customized Price Lists.
You will have two options for calculating the pricing on your price lists:
Multiple prices per product: This will allow you to set pricelist pricing on products directly. For more information on this pricelist configuration, see our document on Pricelists: Country Groups + Priceless per Product.
Prices computed from formulas: This setting also allows you to define pricing based on country groups, but you can also create your pricing by using formulas. We will go into how to create and manage each option in more detail later on in the document.
Activate the pricing settings that you would like to use and when ready, click save.
Coupons are applied directly to Sale Orders and provide discounts that you specify. Coupons must be applied manually for them to take effect on an order.
From this page you'll see all of your existing coupon programs and whether or not they're Active.
Click CREATE to begin making a new coupon program.
Fill in the below fields to create your coupons:
Program Name: The name you would like to set for your coupon program. This will display on the line item for your Sales Orders.
Based on Products: You have the ability to set which products you want to be on the order as a condition for if the coupon will be valid/apply. You can apply as many conditions as needed to make as targeted a coupon program as you'd like.
Anywhere there are conditions or rules that can be applied to filter products or customers, you can decide if you want to apply the rules if all of the conditions are met or if any of the conditions are met.
By default, Odoo will set the conditions to apply if All of them are met as shown below. To change that to ANY, simply click the all button shown below and choose any from the resulting drop down menu.
Quantity: This is the minimum product quantity you would like customers to have on their sale order to get the reward.
Minimum Purchase of: This is the minimum purchase amount that needs to be hit before the coupon can be applied. You can choose if you want the taxes to be included or excluded from this amount.
Validity Duration: This will set how long the coupon program is valid for.
Reward: This is what you want to provide as the reward for the coupon. It can be either a Discount, Free Product, or Free Shipping.
Discount: If discount is selected, you will have the below options to configure for your discount:
Apply Discount: You can set this to either be a percentage off or a fixed dollar amount off.
Discount Apply On: If using a percentage based discount, you can set the discount to be applied on the entire order, on the cheapest product on the order or on a specific product on the order.
If using a fixed rate discount, the discount will apply to the order total.
If you choose to apply the discount On Specific Product, you will be prompted to choose the product from a drop down menu that will appear.
Max Discount Amount: You can choose to set a dollar limit that the coupon code will not exceed.
Free Product: If selected, then you will select the free product that you want to giveaway in a drop down menu that will appear.
Free Shipping: If selected, then any calculated shipping costs will be waived for the order.
Once you have all of your parameters set, you can select Save or Generate Coupon. By clicking Save you will save your coupon program configuration but it will not generate any coupon codes or activate the campaign.
Once you click GENERATE COUPON, a pop-up window will appear that will allow you to set the number of coupons you want associated with this campaign.
Number of Coupons: If this is selected, then you will set the number of coupons you want to create and any customer you give the coupon code to can utilize the coupon.
Number of Selected Customers: If this option is selected, you will be prompted to set up filtering rules that will allow you to select which of your customers you want to be able to utilize the coupon. The campaign will generate 1 coupon code for every qualifying customer you have and only those customers will be able to utilize the coupon codes.
Once you have your coupon generation rules set, select Generate on the window and your coupon codes will be created.
To get to your coupon codes, click the Coupons smart button and you will be taken to a page where you can see all of your coupon codes.
If you click on any valid coupon code, you will have the option to SEND BY EMAIL to a client to use on their order. Sending a coupon code to a client via email does not reserve it for that client and it can still be used on any order by any customer.
If you click on a used coupon code, you can see the order it was used on, the customer who used it, and the order reference.
You will now have your specified coupon applied to your customer's order.
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.
From this page you will see all of your promotions. Click create to make your new promotion program.
Fill in the below fields to create your promotion:
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.
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.
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.
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.
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.
A new window will appear with the following options:
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:
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.
Once you have created your pricelist, you will now need to assign it to the customers that you want the pricing to apply for.
Select a customer that you want to assign the pricing for.
Click Edit on the customer details page.
Under the Sales & Purchases tab, choose the Pricelist that you want this customer associated with.
Once you've made your Pricelist selection, click Save.
You will now see the pricelist that you selected next to the Pricelist field.
Now, anytime you add this customer to a quotation, the pricelist that you set for them will be the default pricelist used.
If you need to change the pricing that this customer receives on an order, you can always choose an alternate Pricelist from the drop down menu at anytime.