Tuesday, 27 May 2025

Create Bundle Product with Product Option in Revenue Cloud

Let's explore how to create a Bundle Product along with its Product Options. First, we need to create the Bundle product. 

App Launcher >> Product Catalog >> Product >> New.

 Input 'Hunter' as the Product name, select 'bundle' as the Product type, and then click the save button. Next, update the price book and the Product selling type in the related tab.



Navigate to the Structure section of the product.


Click 'Add component' to establish two groups named 'Wheels' and 'Headlight', ensuring to set the required sequence and the maximum and minimum product quantity limits.

                                                                              
Press the + Button to include the Product options for Rear wheels, Front wheels, Standard Headlight, and Premium Headlight.
To delete the group, select it and click the delete button located in the top right corner.


Navigate to the Quote line editor >> From Hunter product >> Dropdown >> click Configure.




Here, all the product options are displayed under the Wheels and Headlights Group, allowing us to configure the necessary options on the quote line.

Friday, 23 May 2025

Create Product and Added on the Quote line in Revenue cloud

Let's explore how to create a Product in the Revenue Cloud and configure it on the Quote line.

First, you need to create a catalog for the product. 
App launcher >> Catalogs >> New Catalog Input 'Bikes' in the Name field and click the Save button

Next, create a Category for the product

App launcher >> Categories>> New Category

Enter Bajaj in the Name field, click the save button

Next, create a Category for the product.
App launcher >> Categories >> New Category Type 'Bajaj' in the Name field and click the Save button.


From the App launcher, search for the Product Catalog Management and select the Product Object. Click the New button to create the Product. 

Select the COMMERCIAL Record page. Enter 'Pulsar 125' as the Product Name, 'P-125' as the Product code, and paste the image URL in the Display URL field, then save the record. 

Next, configure the product Type.

Related >> Product Selling Model Option >> New Enter 'One Time' in the Product Selling Model Name and select 'One Time' in the selling model, then click the Save button.

Add a Pricebook. 
Related >> Pricebooks >> Add Standard Pricebook Enter $100 and save.

Now, add the Product to the quote line.
 App launcher >> Quote >> Select quote >> Browse Catalogs Select 'Bikes' >> Next >> Categories >> 'Bajaj' >> Select 'Pulsar 125' >> Add Quantity >> Save Quotes





Finally











Friday, 4 October 2024

Send the CPQ generated Quote to the customer for eSignature using Docusign

 

Let's see how to create the DocuSign envelope for the CPQ Quote

First login with Salesforce CPQ org

From the App launcher search Docusign Apps Launcher and select the DocuSign Envelope Templates

Then select New give the template name and select source object as Quote and Next.


Then enable the Attach document from the Salesforce record and place the Latest document option from the document select then click Next

.
Select the receipt as the Primary contact field from the Lookup fields section then click Add and Next. 

We generate the CPQ quote so there is no need to add the merge field simply select Next to skip this section

.
Here enable Save completed documents back to the Salesforce SBQQ__Quote__c Record and choose the document name from the file name. 

The last final step is to give the label  SendDocusign for the custom button and select the layout that you need to appear this button then save and click the button

Go to the quote click the Generate document button and Save the document.


After the document has been saved select the SendDocusign custom button on the quote layout

Then click Next >Next and Drop the Signature and Date signed from the left side column then Send 


Then sign the order and click the Finish from the Docusign document

.
After finishing the document the completed document will be automatically attached to the quote record also Receive the completed document in the email




         !!!!!!!!!Thank you for taking the time to visit my website!!!!!!!!!!!!!!!!!!!






Thursday, 23 May 2024

Calculate the quantity of Bundle Option products on their Bundle product quantity field in the Quote line using the Custom script in Salesforce CPQ

First, we need to create a bundle product 

Login with CPQ developer org and then, 

Go to the App launcher à Salesforce CPQ app à select Products à New 

1.Product Name à Basic Unlimited InternetUp to 40Mbps & Product code à Basic Unlimited InternetUp to 40Mbps & Active à True 

2. Configuration type à Allowed & Option layout à Sections & Configuration event à Always & Option Selection method à Click 

3. Subscription Pricing à Fixed price & Subscription Term à 12 & Subscription Type à Renewable and Save 

Now, we need to add the  Price book for the Product 

Select Basic Unlimited InternetUp to 40Mbps à Related list à Price Bookà Add to Price Book & List Price à 499 & 

Active à True and Save  

Follow the above the same steps to create another product with the name Unlimited Internet Installation for the Bundle option  

Now, we need to add the Unlimited Internet Installation product in the Basic Unlimited InternetUp to 40Mbps product option 

Select Basic Unlimited InternetUp to 40Mbps product à Related list à Option à Add Unlimited Internet Installation and Save 

So, need to create the Custom Script for the calculation  

Go to App launcher à Custom Script à New  

Script Name à Bundle Script and Product code given below code 

export function onInit(quoteLineModels, conn) { 
console.log('onInit()', quoteLineModels, conn); 
printRecords(quoteLineModels); 
return Promise.resolve(); 
} 
export function onBeforeCalculate(quoteModel, quoteLineModels, conn) { 
console.log('onBeforeCalculate()', quoteModel, quoteLineModels, conn); 
printRecords(quoteLineModels); 
printRecords(quoteLineModels); 
return Promise.resolve(); 
} 
export function onBeforePriceRules(quoteModel, quoteLineModels, conn) { 
console.log('onBeforePriceRules()', quoteModel, quoteLineModels, conn); 
printRecords(quoteLineModels); 
printRecords(quoteLineModels); 
return Promise.resolve(); 
} 
export function onAfterPriceRules(quoteModel, quoteLineModels, conn) { 
console.log('onAfterPriceRules()', quoteModel, quoteLineModels, conn); 
printRecords(quoteLineModels); 
 
quoteLineModels = Array.isArray(quoteLineModels) ? quoteLineModels : [quoteLineModels]; 
var quoteLineModelObj = quoteLineModels.map(quoteLineModels => quoteLineModels.record); 
console.log('quotelineModels' + quoteLineModels.map(quoteLineModelObj => quoteLineModels.record)); 
 
quoteLineModelObj.forEach(line => { 
console.log('line.Name', line.Name); 
}) 
 
return Promise.resolve(); 
} 
export function onAfterCalculate(quoteModel, quoteLineModels, conn) { 
console.log('onAfterCalculate()', quoteModel, quoteLineModels, conn); 
if (quoteLineModels != null) { 
quoteLineModels.forEach(function (line) { 
if (line.record["SBQQ__OptionLevel__c"] == null ){ 
line.record["SBQQ__Quantity__c"] = 0; 
} 
 
}); 
} 
if (quoteLineModels != null) { 
quoteLineModels.forEach(function (line) { 
 
var parent = line.parentItem; 
console.log(parent); 
if (parent != null && parent.record["SBQQ__OptionLevel__c"] == null ){ 
var parentQuantity = parent.record["SBQQ__Quantity__c"] || 0; 
var optionLevel = line.record["SBQQ__OptionLevel__c"]; 
var productCode = line.record["SBQQ__ProductCode__c"]; 
var qty = line.record["SBQQ__Quantity__c"]; 
var calculatedQty = getQuantity(optionLevel, productCode, qty); 
parentQuantity += calculatedQty; 
parent.record["SBQQ__Quantity__c"] = parentQuantity; 
} 
 
}); 
 
} 
printRecords(quoteLineModels); 
printRecords(quoteLineModels); 
return Promise.resolve(); 
} 
 
export function printRecords(obj) { 
obj = Array.isArray(obj) ? obj : [obj]; 
console.log(obj.map(obj => obj.record)); 
} 
function getQuantity(optionLevel, productCode, qty) { 
var quantity = 0; 
if (productCode == "Unlimited Internet Installation") { 
quantity = qty; 
} 
return quantity; 
} 

And Quote line fields give these value 

SBQQ__Quantity__c 
SBQQ__OptionLevel__c 
SBQQ__ProductCode__c and save  

Now, add this custom script in the CPQ plugin 

Go to Setup à Installed package à Salesforce CPQ à Configure à Plugins à Quote Calculator Plugin à Bundle Script  and Save

Now go to the Quotes à Select any quote à Edit lines à Add products à Select Basic Unlimited InternetUp to 40Mbps à select à give the quantity as 6 for Unlimited Internet Installation à Select  

And see the results below for the quantity of Basic Unlimited InternetUp to 40Mbps product quantity also getting 6 



























































































Create Bundle Product with Product Option in Revenue Cloud

Let's explore how to create a Bundle Product along with its Product Options. First, we need to create the Bundle product.  App Launcher ...