Answers - Salesforce Trailblazer Community
Ask Search:
Ather BaigAther Baig 

Is there a way to generate multiple orders from a single quote without manual intervention? I enabled multiple orders at package level but that prompts a screen to select line items to be added to an order, is there a way to automate it based on quote line item field? for instance all lines with product type 'Hardware' must be added to one order and lines with product type 'Software' must be added to another order.

Ather Baig
Best Answer chosen by Ed ( 
Stephen StantonStephen Stanton
This is possible.  

The "Allow Multiple Orders" feature of CPQ must be switched on for this feature to work. This is set on the Order tab of the Global CPQ Settings (Setup > Installed Packages > CPQ "Manage").

You can split Quotes out into multiple Orders based on Quote Line Grouping using the Order By Quote Line Group checkbox.

You can also split Quotes out into mulitple Orders based on The Order By field on the Quote object.  You can add items to this picklist.  
Brian SheaBrian Shea 

Hi there,
We have an Approval Process on the CPQ Quote (SBQQ__Quote__c) object that locks records once they are approved. We have a new requirement that the user may need to edit the record after it has been approved.


Our understanding of the best practice / out-of-the-box way to handle this scenario is that users should create a new record (which would be in draft status and unlocked). The users are not comfortable with this approach because they would need to re-create all the Quote Lines associated with their Quote, which could be time consuming.


We are looking at creating a button/action that calls an Apex class that will unlock the record and set it back to draft. But before we proceed too far in this direction, I wanted to make sure we understand the best practices approach for handling this situation and see what others have come up with.






Best Answer chosen by Brian Shea
Christopher HickmanChristopher Hickman
A lot of companies don't implement approved record locking for this reason. Two alternatives:

1. Use "soft locking" by loading a record type and layout where all of the fields are read-only. Does not stop a user with elevated privileges from modifying fields another way.

2. Leave it open but trigger automation to flip the record type/layout/staus back to "draft" if certain values change.

You can use these 2 approaches in combination too, where most fields are read-only, and the editable ones trigger approval where necessary.

Rui FonsecaRui Fonseca 
Hi all,

I have my price book with prices defined with 4 decimal places, given the use case I am working on has products that are priced in cents, such as 18.92 cents ($0.1892).
I have set the CPQ package settings so the unit price scale also matches that setting:
User-added image
However, when selecting a product, the quote line rounds that unit price to 2 decimal places, though displaying the value with 4 decimal places, as shown below, which then results in a wrong calculation of the net price:
User-added image
Has anyone faced such issue? Any help would be highly appreciated!
Many thanks in advance :)
Best Answer chosen by Rui Fonseca
Rui FonsecaRui Fonseca
Hi guys, for everyone's benefit, this is logged as a bug already for Salesforce CPQ Summer '18 v214
Known Issue below:
Brian SheaBrian Shea 

Hi there!
We are rolling out CPQ to a large global Sales team and had a question about the CPQ Quote Line Editor. We have had a few sales people express concern about the Quote Line user experience when they amend a contract on a long standing Account. They are concerned that the Quote Line Editor displays Quote Lines for all existing Subscriptions associated with the Account. Since they have a number of large Accounts that have added/removed lots of Subscriptions over the years, they would like a way to hide the existing Subscriptions from view.


Question: has anyone run into this user concern before? Is there a configuration in CPQ that would allow us to hide existing Subscriptions within the Quote Line Editor? Alternatively, has anyone found any work arounds to address this concern?


Thanks for your help!





Best Answer chosen by Brian Shea
Christopher HickmanChristopher Hickman
It sounds as though you don't really want to "amend" your contract (add or remove products, increase or decrease quantities) but just "add" to your contract. Prior to rolling out the amendments functionality, CPQ had a simpler way to accomplish this, by allowing you to create a quote that co-terminates to the contract end date and writes the resulting subscriptions to that contract instead of creating a new one.

To do this you need to set the following values on each relevant account:

User-added image

Now, when you want to create a quote from an opportunity on this account, you will be prompted to co-terminate the quote with your contract. Once you go through the quoting process, close/win the opportunity, and contract it, the additions will appear as new subscriptions on the contract, with the same end date and a start date that matches the quote.
Diego AparicioDiego Aparicio 
Hi There,

I am having difficulties with some of the standard calculation fields from CPQ. The solutions out-of-the box only allows for NET TOTAL calculations that are subscribed against the "Subscription Term". Basically CPQ can only display the Total Contracted Value of our subscriptions. 

My business requires to display the Monthly value of our Subscriptions. This is what we display to our customers Quotes, Contracts, etc. 

I have succesfully created a custom field that represents the Monthly Recurring Revenue (MRR) of our Subscriptions. However the challenge that I have is that in some cases we will be applying Discount Schedules, Contracted Prices or allowing Sales to enter manual discounts. I need to be able to reflect the true MONTHLY Customer Unit Price from a product that has been discounted instead of the annual price which seems what CPQ only offers as a solution. 

I created a custom field "Customer Unit Price"

IF(ISPICKVAL(SBQQ__SubscriptionPricing__c,"Fixed Price") || ISPICKVAL(SBQQ__SubscriptionPricing__c,"Percent of Total"), 
SBQQ__CustomerPrice__c / SBQQ__SubscriptionTerm__c,0.0)

It seems that am unable to represent the real value using the standard CPQ fields to create my custom field. 

below there is an screenshot that I hope can describe with more detail what am looking for. Alternatively am open to other solutions but I need to make the UI as easy as possible for our Sales users so they can view where the prices are coming from, etc. 

CPQ Calculation
Best Answer chosen by Diego Aparicio
Diego AparicioDiego Aparicio
Hey Guys,

Thanks for your reply. I had a chat to a Salesforce CPQ solutions architect. We share some thoughts aroundusing Price Rule or simply create formula currency field. Instead of using Price Rule to inject a formula into a field on calculate or configurator. 

I only require for my users to be able to see the MRR. I thought using the NetPrice and do reverse engineering on that field considering prorate multiplier to come up with the desire outcome. My organisation has no intend of using Partner Discount or Distributor so I created the formula using the Customer total field. 

So I can share this with the community, this was my outcome. The field will only pick up Monthly charges and I create a similar field for NRR (non recurring revenue)


IF(ISPICKVAL(SBQQ__SubscriptionPricing__c,"Fixed Price") || ISPICKVAL(SBQQ__SubscriptionPricing__c,"Percent of Total"), 
IF(SBQQ__ProrateMultiplier__c <> 0.0 && not(ISNULL(SBQQ__ProrateMultiplier__c)), IF(AND(SBQQ__Renewal__c, !SBQQ__Existing__c, ISBLANK(SBQQ__PriorQuantity__c)), 0, (SBQQ__CustomerPrice__c * SBQQ__EffectiveQuantity__c)/ SBQQ__ProrateMultiplier__c),0.0),0.0)

I also create other fields so I can truly represent what our sales price is based on discounts applied. 

User-added image
Rachel van den BergRachel van den Berg 

We have a customer that sometimes needs to credit an amount which is calculated based on part of the length of the subscription because the service was not delivered as expected during that time. It should not affect the actual running subscription in terms of start and end date as the subscription was still running during that time.

So for example there is a subscription from 1-1-19 till 31-12-19. From 1-3-19 till 31-3-19 the subscription was not what it should be so customer should get a refund for 1 month in this case.

What would be best practice in this case to calculate the credit amount for the customer? 

Best Answer chosen by Rachel van den Berg
Christopher HickmanChristopher Hickman
Do it in your billing system. This is not a sales-related transaction that should impact revenue forecasts, so CPQ is not the right tool for the job.
Wendy KwanWendy Kwan 
How do I make this custom field date to display April 1, 2018 instead of 4/1/2018?
I would like to figure out how to write the function in the Custom Field Definition Detail next to SBQQ__Account__r.op2_Original_Contract_Date__c

Any help will be much appreciated.  Thanks!
User-added image
Best Answer chosen by Wendy Kwan
Tom HoffmanTom Hoffman
Not sure if CPQ will let you modify that field if its part of the managed package; if not you could create your own field with a formula like this:

'December')&' '&Day(YourDateField)&', '&Year(YourDateField)

This will give you the Month DD, YYYY format. 
Leonard CadetLeonard Cadet 

I am working creating custom Quote Templates in CPQ.

I am creating Content that I can use for my Sections in Salesforce. 

I want to pull the shipping information from the quote:

Field SBQQ__ShippingName__c for example

And have that included in my "Shipping Section"

I'm working through the documenation for content:

And I'm not sure where to start for the most part. A template content editor is explained but I don't know where it is, and how to use it. 

I'm wondering if I can have a editor like the Quote Terms: Template Bottom or Top where I can section things off and add the fields I need.

Can anyone assist? 

Best Answer chosen by Leonard Cadet
Christopher HickmanChristopher Hickman
The template content editor is what comes up when you create a new template content record, or edit an existing one. It provides you with a rich text editor (similar, but more rudimentary than MS Word), and the ability to write HTML + inline CSS (a subset of each). The "Merge Fields" link in the help document you reference will give you the details on how to reference the fields you want.
Alexander ScharesAlexander Schares 
Hi there,

I am trying to set up a new price rule and i am not able to set up my advanced condition the way I want to.
I have no clue why. See attached my problem:

Vom Benutzer hinzugefügtes Bild
Best Answer chosen by Alexander Schares
Doug BurkhartDoug Burkhart
Hi Alexander,

I found the issue and to me it doesn't make sense that they did it this way so don't shoot the messanger.

The error is referring to the Index Number. The Index Number is a field on the Price Condition Object but it is not the Condition # Field to which you are referring. You may need to add it to the Price Condition Layout to see if but it is a field that needs to be manually populated by you. Once you have those values set (I just set them as the same number as the Condition # field). You should be able to save your Price Rule exactly as you have it in the screenshot.

Best Answer chosen by Estelle Drever
Divyesh PatelDivyesh Patel
Estelle - I don't think there is any standard functionality to have individual/seperate delete line button/icons for a bundled product options quote lines in QLE. You need to use the reconfigure button on the parent bundle product quote linen and remove the options not required. You basically reconfigure bundle product to achieve this.