I have customized Salesforce CPQ in a way displayed in the ER diagram below. Everything is standard beside one custom child object of the SBQQ_QuoteLine__c called QuoteLineConfiguration__c enter image description here.

I need to take care that this child object is handled correctly by the many features of the CPQ app. E.g. I was successful in also cloning those child records during the CPQ cloning process by using get Apex getCloneSourceId() method. Using that I was able to find the original and it' configuration.*

But now I struggle with doing the same when SBQQ_Favorite__c are created and used. They don't have a cloneId and therefore I am lacking a way to track back from which QuoteLine__c it originally was created.

How could I solve it? Eighter there must be some indirect information in the existing data model OR I could add a trigger on Favorite__c insert but I don't know what to do then.


When you create a favorite it creates a container of the current products and product options you have in the QLE to be used on future quotes (to add these options at once onto the quote).

So actually when creating a favorite you get a favorite record with a name. This favorite record has a related list of Favorite Products which simply link a product, product option and required by to the favorite, creating this container. It does not save anything from the quote. You can check this simply by ceating a new quote, adding a bundle and some products, then in QLE creating a favorite. Don't hit save or quick save (this would create quote lines, but just to show you the innner workings, don't). Go out of QLE and via the Tab Favorites go search for your favorite record. You should find it with it's related Favorite products as related list. You can also put related list Quote Lines on the favorite page layout, but you'll see at this time it's still empty.

Why? Because you will only see quotelines which where created by using (and adding) your favorite on a new quote. This is to track where favorites have been used.

Thats why what you want to do is difficult, because you wanted to know from which quotelines the favorite has been ceated, but it doesn't work like that ;-)

It acts as a template to add frequently used configurations fast on new quotes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.