CPQ: How to Change the Order of the Pricing Waterfall

Recently, I learned that the pricing waterfall for CPQ, which is known to be a set structure of when discounts are applied, can, in fact, be modified. Kept in the list of CPQ special fields, which are fields that do not come with CPQ out of the box, but can be created manually and CPQ will know what do with them, are several fields that will allow you to reorder the pricing waterfall.

To use special fields in CPQ, the trick is to make both the label and the API name match exactly to what is listed in the Salesforce instructions. Once you make these fields and set them accordingly, they work without any further build.

The first of these fields for updating the Price Waterfall is ApplyAdditionalDiscountLast.
This changes the order of the waterfall to allow that the additional discounts, which are typically manually entered by reps to be applied as the last and final discount on the price. As noted by Salesforce, the new order would be:

List Unit Price -> Regular Unit Price -> Partner Unit Price -> Net Unit Price -> Customer Unit Price

Next up for making adjustments to the waterfall order is ApplyPartnerDiscountFirst.
This changes the order of the waterfall to allow for the partner pricing discount to occur before any other discounts. This can be useful if you want to give your partners a discount before applying additional manual discounts. Again, as noted by Salesforce, the new order would be:

List Unit Price-> Partner Unit Price -> Regular Unit Price -> Customer Unit Price ->Net Unit Price

Lastly, for changing the Pricing Waterfall is ChannelDiscountsOffList.
This doesn’t so much change the order as much as change which value the partner and distributor discounts are taken from. Instead of taking those discounts off the Customer Unit Price or the Regular Unit Price, those discounts will be taken off the List price. However, the subtraction order will remain as it was. The article from Salesforce (see here) also provides additional information on how this one impacts Renewals and Amendments. The one asterisk I would make that Salesforce also makes is that doing this prevents discounts from being applied on Amendments.

Studying for the CPQ Specialist Exam? Check out SF9to5’s Study Guide and Practice Exam

4 thoughts on “CPQ: How to Change the Order of the Pricing Waterfall

  1. As suggested here https://help.salesforce.com/articleView?id=000313937&type=1&mode=1 I am trying to alter the pricing calculation sequence. It did not work or I missed something else in this work. I just added the field in Quote line and defaulted to Checked.
    I created applyPartnerDiscountFirst field as check box in Quote line and added to Line editor Field set.

    Still I see the partner discount is applied on the Customer price and shown in Net Price.

    Am I missing anymore thing? Please help me.


  2. Hi! Is there a reason why when using this the Apply Additional Discount Last, the discount changes depending on whether you are using percentage or USD?

    I’m seeing some very strange behavior when using the Apply Additional Discount Last (https://help.salesforce.com/articleView?id=000313928&mode=1&type=1) special field. When the Additional Discount is set to percentage, the discount is calculated from the Partner Unit Price, but when it is set to USD it is calculated from the Regular Unit Price. I don’t see any KA’s or notes that this should be the case. Any insight?

    $1,995 Regular Unit Price
    $1,596 Partner Unit Price
    Additional Discount 10% = $159.60
    Additional Discount USD = $199.50

    Thanks, Melissa


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s