Ask Search:
Tina CancinoTina Cancino 
We have installed CPQ  in salesforce production.  We then created a sandbox in salesforce, and CPQ seemed to copy over as per productions configurations except for the edit line process. 

The buttons on the edit lines page are not visible like they are in productions. Has anyone run into this? if so, does it mean I need to uninstall and reinstall CPQ in salesforce sandbox? 
Best Answer chosen by Tina Cancino
April ZhaoApril Zhao
You can also try to execute post-install scripts to see if that will populate the buttons in the line editor.
Setup > Installed Packages > Configure Salesforce CPQ > Additional Settings > Execute Scripts
Victor HansonVictor Hanson 
We're using MDQ Products and need the ability to apply the Additional Discount to the price before applying the uplift.  Is there any way to do this?

example calculation is below
Price: $30,000
Uplift: 5%
Additional Discount: $2,000
CPQ Calculation: $29,500                   calculation = (30,000*(1.05))-2,000=29,500
Desired Calculation: $29,400            calculation = (30,000-2,000)*(1.05)=29,400
Difference: $100

I can't find a definitive answer, but it looks like the order of operations is currently to apply the uplift then apply the Additional Discount to the resulting value, but we need the order of this reversed.
Best Answer chosen by Victor Hanson
Frank ShapiroFrank Shapiro

Rather than a trigger, you would use a Quote Calculator Plugin (QCP).

Austin TurnerAustin Turner 
I am having difficulty attempting to add a product and selecting options when using the CPQ Public API.  I can get the parent product added, but the documentation does not include information on how to select and configure options that are not already pre-selected.
After I call SBQQ.ProductAPI.ProductLoader and get the response, what data manipulations do I need to do from here to select the options I need included?

Do I need to use the configuration api, or is there a way to select the options I want selected?
I tried adding options to the "optionConfigurations" in the product model and setting SBQQ__Selected__c = true;, but nothing I selected was retained when the data was passed to the load() 'SBQQ.QuoteAPI.QuoteProductAdder'.
Our use case:
We are automating amendments in a batch job and need to cancel and replace a bundle with a parent, child, and multiple grand-child products.
Best Answer chosen by Austin Turner
Austin TurnerAustin Turner
Yes, I was finally able to resolve the problem.
Assistance was obtained here: and here

Resolution information for any other folks that need to work with the poorly documented API:
Within the ProductModel.configuration object, make sure that:
Top level product:
  • configured = true;
  • configurationEntered = true; (Note: this field is NOT included in the documented data model)
Options: (items in configuration.optionConfigurations)
  • Copy the desired options from the options[].record and add them to configuration.optionConfigurations[] (only required if not selected by default)
  • optionalSKU=product being configured
  • configured=true
  • configurationEntered=true (I don't think this is required on the options, but I set anyway)
  • optionData=product option record
  • If you need to adjust any fields on the option to twin to the QL, adjust the fields within optionData

HUGE caveat:
You CANNOT run a calculation sequence in the same execution context as your code to get the products because it requires HTTP callout and there are DML data that is not committed to the DB (mixed DML error), even though we will NEVER save the data that is modified, SFDC knows that it is a possibility so it will throw an error.
We had to chain our batch job to kick off another batch job in the finish() method to run the calculate on the quote(s) that we amended.

Spencer WilliamsSpencer Williams 
By switching on multi-currency (to allow for CAD and USD), the quote document now displays CAD or USD instead of "$," which has messed up the document's formatting, as well as giving it a less professional look.

I understand that adding a new text formula field on the quote object is the go-to solution, but the formula's not working out properly, and the quote is still displaying "CAD."

What's the DocumentCurrencySymbol__c formula supposed to look like, and how is it supposed to be set for views?
Best Answer chosen by Spencer Williams
Frank ShapiroFrank Shapiro
Spencer - If you see it on the edit screen, but not on the actual layout, then you have to change the Field Level Security of the field to make it visible. Also make sure you have read access to the CurrencyIsoCode field.

Best Answer chosen by Estelle Drever
Naveen DhanarajNaveen Dhanaraj
Salesforce CPQ is a separate product which requires purchase of additional licences from Salesforce.Talk to your Account Executive about  licencing
The Sales Cloud is included in the standard Salesforce CRM licence.

Based Business Use case you can decide it.But Both are different.
Mihaela SiclusanMihaela Siclusan 
Hello Community, 

I will love to know if there is a way ( I already search on the internet) to customise this page.

add existing contract in a quote

I want to add the Description field of the Contract after 'Contract End Date'

How to reproduce : 
Use an account that already has activated contracts.
Create a new opportunity, then create the associated quote. Fill in the quote start date, hit Save. The screen asking for selection of an existing contract appears.
Best Answer chosen by Mihaela Siclusan
Bart LisBart Lis
Hi Mihaela,
That field set is the "Active Contract Lookup" field set on the contract object I blieve. You should be able to define what fields you want available in the field set. 
David GoldDavid Gold 
Yes.  The CPQ and Billing teams will be monitoring all posts to ensure they are being answered in the same fashion as what you have come to expect on the Support Forum at  You will still be able to search old posts on the steelbrick site.  But for all new posts please ask your questions here.  Thanks!
Best Answer chosen by David Gold
David GoldDavid Gold will be accessible until April 2018.  
Chris HunterChris Hunter 
We currently have DocuSign for Salesforce CPQ version 3.1.1 we have continued to run into problems where we cannot edit the body of the message that is sent, it currently pulls the recipents name, but has a standard message and our reps will not use it unless they can edit the message.   I have changed the Email messages on the DocuSign Configuration object with no luck, and also changed it in the DocuSign account with no luck.

Secondly our customers think its Spam becauses its branded as DocuSign, it has DocuSign logos, and colors for the brand, how do we have it pull the brand from DocuSign?  I have set up the brand and logos in DocuSign but it does not pull through.
Best Answer chosen by Chris Hunter
Chris HunterChris Hunter
We solved this by adding review before sending, though manual it allows the reps to edit the message and brings up a DocuSign interface.
Jennifer SchnellJennifer Schnell 
I have been trying to add a default value to the "Introduction" field on the Quote object in Salesforce CPQ, when I add the value "We are pleased to provide the following price quotation based upon our recent conversation."  and click "Save"  the value does not save.  I do see the below message at the top of the screen:
User-added image
My conclusion is that because this is a managed package field, I do not have permission to edit the "Default Value".  I have gone ahead and created a new custom field for my purpose, but wanted to verify my conclusion is true.
Best Answer chosen by Jennifer Schnell
Akshay AhujaAkshay Ahuja
Hello Jennifer,

Yes. I feel that your conclusion is right and creating a custom field is an apt way to ago ahead.

Best Regards,
Bonnie BaileyBonnie Bailey 

In CPQ, I want to add the Product Name column to my template.  When I do, the product name on template is not the product name as entered.  It is in the form of a code, ex:  QL-0000105.  What am I doing wrong?  Do I *have* to use the Product Description field?  I was using that to go into more detail on a given product.
Best Answer chosen by Bonnie Bailey
Garima TotlaniGarima Totlani
Ahh, I see. The API Name you want to enter is "SBQQ__ProductName__c". The API name "Name" refers to the quote line name, not the product name.