Configuration Attributes - Salesforce CPQ

Hi All,

In my previous article, we saw how a product setup can be done in Salesforce CPQ.

Many time products available on any e-commerce platform comes with different attributes/variation defined such as colour, size etc.

Today we are going to see how we can associate attributes to the products configured using Salesforce CPQ.

First of all we have to create several attributes which we can assign to any particular product or product option.

In Salesforce CPQ, This functionality can be primarily achieved by creating record of Configuration Attribute object.

Configuration Attribute

There are 2 types of Configuration Attributes that we can create in Salesforce CPQ.

  1. Configuration Attribute
  2. Global Attribute

Above both are nothing but a record type available for Configuration Attribute object.

Now the question is how to determine when to create record with record type as Configuration Attribute and when to create record with record type Global Attribute.

  • When we want to create & assign any attribute to bundle product, we will create record of Configuration Attribute having record type as 'Configuration Attribute'.
  • When we want to create & assign any attribute to option product, we will create record Configuration Attribute having record type as 'Global Attribute'.

Today we will see how can we assign an attribute to a bundle product. We will also learn about significance of different fields available on Configuration Attribute object.

As we have already configured Laptop bundle in our previous article, we are taking a step ahead from there.

Scenario:

We are selling a laptop which is available with following attributes/functions.

  1. Processor
  2. Storage
  3. Internal Memory
  4. Color

To start with we have to first create these fields on Quote Line and Product Option object with all the possible values for these fields.

Note: If you don't create this twin field on Product Option, you will see the product configuration screen as blank screen.

Once these fields are being created on quote line and product option, we have to take API Name of the fields and add them as Picklist values on a field called Target Field on Configuration Attribute object.

Make sure you select both the record types so those values will be available for both record types.

No alt text provided for this image

Follow the below mentioned steps for configuring attributes:

  • Open Laptop Product and Click 'New' button on Configuration Attribute related list.
  • Select record type as 'Configuration Attribute' and click 'Next' button.
No alt text provided for this image
  • Populate following field values selecting Processor__c as Target field and click Save button.
No alt text provided for this image
  • Repeat the above steps to create Configuration Attribute with Target field as 'Storage__c', 'Internal_Memory__c' and 'Color__c'.
No alt text provided for this image
No alt text provided for this image
No alt text provided for this image

Following is the significance of the fields available on ConfigurationAttribute record.

  1. Attribute Name: Name of the attribute visible on configuration screen.
  2. Target Field: Quote line/ Product Option field on which the selected value on configuration screen will be stored.
  3. Required: If checked, the attribute will become required while saving the configuration. It won't allow us to save the product configuration until we select 1 some value for the attribute.
  4. Apply to Product Option: If checked, the selected value of attribute will be cascaded to all the product options available under the bundle product.
  5. Row Order: Defines the index on which row the attribute is visible on configuration screen.
  6. Column: Defines the index on which column the attribute is visible on configuration screen.
  7. Position: Defines the location where the attribute is visible.
  8. Feature: Select the feature on which the attribute is visible. if left blank the attribute will be visible on top of the page.
  9. Hidden: If checked, the attribute will not be visible on configuration screen.
  10. Default Object: If we need to set some default value for this attribute, select the Object from which we wants to default the value.
  11. Default Field: If we need to set some default value for this attribute, select the field which belongs to Default Object from which we wants to default the value.
  12. Auto-Select: When sales reps add a product to this bundle from a dynamic feature, Salesforce CPQ evaluates whether the product contains a field that matches one of the feature's configuration attributes. If the two fields match, and the product's field contains a value, the configuration attribute inherits that value.
  13. Shown Values: Add values those we wants to be visible while selection on product configuration. Make sure to provide the values separated by New Line.
  14. Hidden Values: Add values those we don't wants to be visible while selection on product configuration. Make sure to provide the values separated by New Line.
  15. Apply Immediately: Apply field value changes whenever a user changes the configuration attribute’s value. When deselected, Salesforce CPQ applies field changes when the user saves the bundle configuration.


Configuration Test

  • Use the existing quote that we have created in previous article.
  • Click 'Edit Lines' button.
  • Click 'Add Product' button and search for Laptop.
  • Select checkbox near Laptop & click 'Select' button.
  • On configuration page, we will be able to see all 4 attributes for which we have created Configuration Attribute record for Laptop product.
No alt text provided for this image
  • Select some value for those attribute & click 'Save' button.
No alt text provided for this image
  • On Cart, We will be able to see all the attribute values which we selected on configuration page.

Note: In order to make fields available on Cart page, please add those fields to the Line Editor FieldSet on Quote Line object.

No alt text provided for this image

Note: Since we have not set 'Apply to Product Option' field on any of the attribute, the selected values on Laptop are not getting cascaded on product option and we are seeing blank values for the options.

  • Anytime we wants to change those attribute, we can reconfigure the bundle. We will see that attribute values will be preserved which we can change & save the configuration.
No alt text provided for this image
  • On cart page, we will be seeing changed values.
No alt text provided for this image

See how easy it was to create and assign attributes to bundle product?

I hope this will help you in setting up different attributes to your bundle products.

In our next article, We will learn about creating global attributes for product options.

Kindly also subscribe to my youtube channel SFDC Learning to get learning from video tutorials.Stay Tuned for next article.

Thanks,

Mehul Parmar

Comments

Popular posts from this blog

Pricing Waterfall Model - Salesforce CPQ

Summary Variable - Salesforce CPQ

Percentage of Total Pricing - Salesforce