Out-of-the-box, Salesforce CPQ’s capabilities for managing usage-based products present some limits. These limitations hinder efficient revenue forecasting and restrict the application of percentage-based discounts at the quote line level, consequently affecting management visibility and control over approval processes.
In this article, we’ll look into these challenges in detail and propose a custom solution: a Quote Calculator Plugin. We discuss how this plugin allows for the calculation of a booking amount from a user-input usage estimate and facilitates applying a discount to all consumption rates associated with a quote line. By leveraging this plugin, businesses can gain enhanced visibility over their sales processes and exercise better control over approval procedures, ultimately driving more predictable and profitable outcomes.
Standard Consumption Schedule Quote Line
When you setup a usage-based product in Salesforce CPQ using Consumption schedules, the product can have a list price of itself but once added to a quote the quantity must be 1. (As stated in the Usage Pricing Guidelines)
Changing the quantity will trigger an error message :

You then end up with quote lines that give very little information, yes you can open the the ‘View Consumption Schedules’ menu which will show the different pricing tiers but that still won’t let you enter usage estimates or calculate any estimated bookings.

By default, you also cannot discount Consumption Schedules which is another potential issue. Yes, you could allow edits to the rates in the line editor (in the Salesforce CPQ settings).

The problem with that solution is it allows any edits to be made, the changes aren’t restricted to price, the upper/lower bounds of consumption rates can also be edited.
On the implementations that I’ve worked on, this has caused the following issues :
- Limited ability to discount usage based products
- More complex approvals as you introduce another object to evaluate during the approval process
- Sales can’t provide estimates without manual calculations to customers
- Sales can’t calculate bookings for usage based products
- Sales and finance cannot do any revenue forecasting on those products
The Solution
Use a flow to update the quote line after looping through the consumption schedules. j/k Never do that in CPQ please.
Onto the real solution now, Salesforce provides access to the consumption schedules with a quote calculator plugin. They even provide an example of how to apply a discount to consumption schedules using a field on quote line. The provided code only allows for a 10% discount to be applied based on a checkbox which doesn’t provide the flexibility we need so we’ll modify it.
We want the plugin to allow a user to :
- Discount consumption rates based on a percentage value
- Calculate a booking amount based on a usage estimate
You can find the full code for the QCP function at the bottom of the post but before using we’ll need to create a couple fields on the quote line object.
- Usage_Discount__c – Percentage Field
- Usage_Estimate_Monthly__c – Number field that will be used to input the usage estimate
- Usage_Booking_Amount__c – Field where the booking amount calculated by the plugin will be added
Here’s what it looks like in CPQ :
As you can see in the video, the QCP :
- Updates the Consumption rate prices based on the entered discount percentage
- Calculates a booking amount based on the estimate taking into account :
- The consumption schedule’s type (Range/Slab)
- The consumption rate’s lower/upper bound as well as it’s Pricing Method
Obviously you’ll want to adjust some of this based on your particular business requirements but it should give you a good starting point for these customizations.
Conclusion
In this article, we’ve explored the limitations of Salesforce CPQ for usage-based products and demonstrated how a custom Quote Calculator Plugin can overcome these challenges.
This tool enables more accurate revenue forecasting and offers better discount control, thereby enhancing sales process visibility and approval procedures. While adjustments may be needed to suit specific business requirements, this plugin provides a powerful starting point for essential customizations.
Ultimately, the adoption of such custom solutions unlocks Salesforce CPQ’s full potential, driving more predictable and profitable business outcomes.