Answers - Salesforce Trailblazer Community
Trailblazer Community
Ask Search:
Deepak K RanaDeepak K Rana 


Very soon we are looking to add new price books, which will be effective from 1st April. Since we have a range of opportunities in progress, whichever opportunities are before the negotiation stage and their due dates are after 1st April, we wish to do the following 

1) Change the price book to new price book
2) Change discounts based on new tiers 
3) Send email alert to all AMs ( this can be handled ) 

What are your suggestions on how we can achieve the above 1 and 2 challenges? 

Thank you for your help. 

Best Answer chosen by Jayson ( 
Amnon KruviAmnon Kruvi
Hi Deepak, 

It feels like you could chieve item 1 with a flow. You'll just want it to update all opportunities that meet the criteria you listed with the new pricebook ID - literally a single step. You could also use data loader: export all opps that meet the criteria, make the change in excel, and import them back. 

Regarding discounts, that sounds more like a manual process. Is there strict logic that you can follow to calculate the new discounts? If not, then I'm afraid you're stuck with doing them one by one. The data loader approach and editing the results in excel might be easier. 
John PollardJohn Pollard 
In Salesforce, we have standard state and country picklist values enabled, which use ISO-standard state and country picklist values. On CPQ quote documents, we quote in multiple languages. But, when entering the merge variables for addresses, the country name always comes to the quote document in English. This occurs regardless of the logged-in user's language setting, etc. Is there a sraightforward way to cause a CPQ  quote document template to insert a local-language name for the country, other than creating a one-off template for each possible country where a quote must be produced?
Best Answer chosen by John Pollard
Keiji OtsuboKeiji Otsubo
Hi John,

Please check this article.

Salesforce CPQ quote document generation in multi-language support (
Ilya PopovIlya Popov 

Is there a way to remove or hide Add Group/Ungroup buttons from the line editor?
Best Answer chosen by Ilya Popov
Dustin PenrodDustin Penrod
There is a way to do this. The Buttons in the Line Editor VF page are Custom Actions. So, out of the bo you should have an editable custom action Add Group and Ungroup (they're display order 915 and 916 in my org, I think they'll be the same for you). By deactivating those Custom Actions those buttons should vanish from the Line Editor. 
Pratima RanaPratima Rana 

Due to M&A we need to have a different headers for different legal entities in CPQ quote documents. Is it possible to do it with standard functionality. 
Best Answer chosen by Pratima Rana
Chris ForshaChris Forsha
Actually, just tested this in sandbox and it works! So create a field on the Quote for your image ID. This can either be a text field updated by a workflow or it could be a formula field. The important point is that it returns the record id for the image you want to display in your header. The create an HTML content section for your dynamic header, click source and add the tag. You would use something like this but with your own domain and org id: 

<p style="text-align: center;"><img alt="" height="33" src="{!quote.Image_ID__c}&amp;oid=00000008675309b" width="106" /><br />

Hope this helps!
Satheesh KumarSatheesh Kumar 
 I have tried to add multiple records for a single user but it updates the existing record...How Can we achieve  this process? is there any possibility to achieve this or there are no other posibilities?
Best Answer chosen by Satheesh Kumar
Eric PraudEric Praud
No, it is not possible.
If you really want to do something like this, you'd have to create a custom object that mimicks the TeamMember object, then use some apex (maybe a flow) to share the account with this user, but this could eat up your data storage
Michael BobeeMichael Bobee 
I'm confused. Can I use the 'standard' approval process for a quote that utilizes the Salesforce CPQ quote object? It appears that the standard object has been replaced with the SteelBrick Quote onject(s). (See below.) Most of the online questions/documentation are focused on the Advanced Approval process. Before I spend time, I want to ensure that they play nice together.User-added image
Best Answer chosen by Michael Bobee
Jeffrey MevorahJeffrey Mevorah
Advnaced approvals is enabled by a separate CPQ license and it operates independently from native approval process. 

You can use native approval proceses on the SBQQ Quote object the same as any other custom object.  
Alfredo OrnelasAlfredo Ornelas 
I have 2 CPQ Licenses available but NOT able to assign to users. After the update, I can't see the "Manage Licenses" link on Installed Package.
Any ideas how can I assign my CPQ licenses?

Best Answer chosen by Alfredo Ornelas
Christopher HickmanChristopher Hickman
I would recommend reviewing the content and conversations in the Success Chatter group, and reaching out to your rep one here can access your org to see what the specific issue might be.
Ricardo Furlan de AzevedoRicardo Furlan de Azevedo 
I am not receiving a Request Template from Advanced Approval when submit an Quote for Approval in a specific e-mail domain.
It is very curious because the Request Template is received normally when the user that receives the e-mail has a or domain.
The same issue happens with the Approval and Rejection Template.
Is there any possible configuration to solve this issue?
Thanks in advance!
Best Answer chosen by Ricardo Furlan de Azevedo
Ricardo Furlan de AzevedoRicardo Furlan de Azevedo
Hello Irfan,
The problem was not in Salesforce. It was in the email server that was receiving the Advanced Approval e-mail templates.

Thanks for trying to help!
Septimiu DumitruSeptimiu Dumitru 
I have a problem when I'm trying to save quote line items. I'm using the guided selling process and after I add products on the quote line item, when I click the Save button I'm getting this error:

SBQQ.QuoteLineBefore: execution of BeforeInsert
caused by: line 108, column 39: Dependent class is invalid and needs recompilation:
Class SBQQ.QuoteService : Dependent class is invalid and needs recompilation:
Class SBQQ.ConsumptionJunctionUtil : Variable does not exist: ProductConsumptionSchedule

What can be done in this situation? I tried every solution that I found on forum posts, but nothing it's working. I think it might be a problem with the CPQ package, but I'm looking forward for your answers.

Thank you!
Best Answer chosen by Septimiu Dumitru
Amnon KruviAmnon Kruvi
Depends on how they fixed it. From what this error message is saying, one of the classes in your package is not compatible with another class in the package. There is nothing you would be able to do to change any component in there, which is why you'd need to raise another support case.
Brian SheaBrian Shea 

Hi there,
We're working with a Salesforce org that is using currently using parts of CPQ but not all features. One of the features that is not currently being used is the Subscription object. 


Later this year, this org is planning to start using Subscriptions and we're planning to manually load (using data loader) Subscription records into CPQ. We are loading the following fields: Account, Contract, Product, Quantity, Pricing Information. We just did a test load of Subscriptions and discovered that when we Amend a contract, all the Subscriptions that we manually loaded to the Contract are not showing up as Quote Lines in the Quote Line Editor. 


We're trying to figure out the cause, but curious if anyone has thoughts/experiences on this.




Best Answer chosen by Brian Shea
Christopher HickmanChristopher Hickman
Transforming and loading legacy contract and subscription data into Salesforce for CPQ amendments and renewals is very hard, so don't feel too bad! I would reference this page liberally: