Discounting in CPQ (Discount Schedules):

When creating a quote, sales representatives often encounter the necessity for discounts in various business scenarios. These discounts may vary based on specific factors such as the product, customer, partner, quote, or the quantity of products being considered.
Discount schedules have 3 types of discounting - Volume based, Term Based, and Cost Based. 

1. Volume-Based Discount:

Let's understand with the help of an example. In the table given below, we are showing the range of printer papers a customer can purchase - 
Salesforce CPQ Tutorial - Example of Volume based Discount
Here the discount is done based on the quantity of printer papers that customers want to purchase.
If the customer wants 1 to 50 printer pagers then the customer will get a 5% discount and if he wants 50 to 100 printer pagers then he will get a 10% discount, and if the ask is between 100 to 400 then customers will get a 25%  discount.

Apart from the discount schedule, the discount has 2 types of nature:
A) Range: Discount will be given on one category
B) Slab: Discount will be given on each category

A) Range: Let's understand the discount if Nature is Range. Let's say a client wants 95 printer papers. So 95 will come under the 2nd row ( 50 to 100 ). So the discount will be 10% for all 95 papers. Please check the math given in this table-
Salesforce CPQ Tutorial - Volume Discount- When Discount Type is Range
Providing a flat 10% off on each paper is a nature of Range Type discounting. 

B) Slab:  Now if the discount type is Slab, in this case, for the first 50 papers customer will get a 5% discount, and for the other 45 papers customer will get a 10% discount.  Please check the math for slab discounting in the given table- 
Salesforce CPQ Tutorial - Volume Discount- When Discount Type is Slab

Here unlike Range type, Discounting is done on each slab ( 1st row and the 2nd row).

2. Term: 

For subscription-type products, based on subscription terms, discounting can be provided. For example: if a customer buy the antivirus for more than 3 years then they will get an additional 20% discount. Now similar to Volume based discount, System admins can configure Range or Slab based discounting here as well. 
This feature is helpful if you want to provide an incentive for longer subscriptions.

FYI
  • Only Range discount type can be a term schedule.
  • Amendment quotes don't support quote lines for a product that has a term discount schedule and a slab discount schedule
  • Term discount schedules and volume discount schedules apply in parallel based on List Unit Price 

3. Cost: 

Discount will be applied to the product directly instead of its list price. For example: In winter, there are flat 25% discounts for LG air conditioners.

Now before we dive deeper into configuration steps, let's understand the concept of Price Waterfall in CPQ. 

Price Waterfall in CPQ:

  • The pricing Salesforce CPQ determines how it calculates the Net Price after applying various rules and discounts to a starting list price. 
  • The predefined prices in each category, like the original price and list price, are standard features included in CPQ. This approach follows a top-down method known as the Price Waterfall, which helps in calculating the overall prices.
  • The below image describes each of 7 Prices Structure in Salesforce CPQ. 
Salesforce CPQ Tutorial - Price Waterfall


Discount Schedule Important Fields: 

.Salesforce CPQ Tutorial - Create record for Discount ScheduleNow before we create the record let's understand some Important fields in Discount Schedule
  1. Schedule Name: Add the name of your discount.
  2. Type: It has 2 values Range and Slab. As discussed above, based on business requirements sales reps can select any one value.
  3. Discount Unit: It has 3 options, 
    • Percentage: If selected then a discount will be provided on percentages. For example, 5% off on Special Prices (Check the waterfall diagram to know about special prices)
    • Amount: A fixed amount will be used as a discount on Special Price. For example 100$ off on any product.
    • Price: If selected it will override the List price of the product.
  4. Aggregation Scope: Discount schedules work on a single quote line. If the same product is added across multiple quote lines in the same quote, this field allows us to aggregate the discounts across a quote or a group within the quote.
  5. Cross Products: If checked, then in QLE volume-based discount will be calculated on all product quantities. But the products must belong to the same Discount Schedule. For example: Printer Paper and Routher are two products and Discount Schedule - "Discount for Printer Papers" is added on both products. Now if we add 95 printer papers and 1 Router then 10% discount will be applied to Printer Papers and Router as well. This checkbox can only be set for the Type range and not for Slab
  6. Cross Order: If checked, For the products that sales reps added to the QLE, the system will search the quantity of that product in the old history of that customer and apply a volume-based discount. For example: the customer already purchased 90 printer papers and now he wants to buy 4 more, in that case, he will be applicable for a 10% discount on those 4 papers as well. 
  7. Include Bundled Quantities: In a bundle product sometimes few items are free and discount calculation by default doesn't count the quantity of such free products. If this checkbox is checked then such free products will be included in the discount calculation.
  8. Override Behaviour: By default, sales reps cannot edit the discount table from QLE. Whatever is pre-defined only that much discount will be applied. But if this option is used then sales reps can update the discounts. It has 2 options- 
    • All: This allows reps to update all tiers.
    • Current Tier: This allows reps to update only that specific line.
        

Steps to Configure Volume based - Ranged Type Discounts in CPQ: 

  1. Go to the app launcher and search for Discount Schedules. Click on the new button. Give the following values -
    Schedule Name: Discount for Printer Papers
    Type: Range
    Discount Unit: Percentage
    Description: Volume-based discount- Discount on Printer paper
    Save the record.
  2. Click on the Edit Tier button and create the table as given in the screenshot - 
  3. Salesforce CPQ Tutorial - Create Records in Edit Tier

    Now go to Product and search for or Create a Product name -Printer Papers
    Under the Salesforce CPQ Discounting section put the Discount Schedule - Discount for Printer Paper in the Discount Schedule field. Save the changes. Let's check the demo -

    Demo - Range Type Discount in CPQ

Steps to Configure Volume based - Slab Type Discounts in CPQ: 

  1. Edit the Discount for Printer Papers DS that we have created in the above step, Change Type to Slab
  2. Go to the QLE. Here is the demo -
    Demo - Slab Type Discount