Salesforce CPQ: Product Bundles

  • Blog
  • Salesforce CPQ: Product Bundles
blog image
4
Sep

The bundle is a central concept in Salesforce CPQ. Simply put, a bundle is a group of products that are commonly sold together. 

Salesforce CPQ Bundle Example

There are three key objects that define bundle structure: products, options, and features. Bundles are made of products. Products can be referenced in a bundle either as a bundle parent or as product options. The bundle parent product is the bundle itself, and it's the most important product. Product options are like children that sit under the bundle parent and they are what really brings the bundle together because bundles are created when you add Options to a Product in the Options related list. Last but not least, features are categories of product options within the configuration. They are not mandatory but they can be used for a better visual experience, and they also help drive additional logic such as Min/Max Options. 

Bundles are incredibly efficient in the enforcement of business logic and making sure that the configuration is correct and technically valid:

  • required and suggested products can be set
  • Min/Max selection can be specified, and quantity relationships can be defined (when the quantity of a product depends on the quantity of another product)
  • dependencies and exclusions can be configured (Product A and Product B cannot be sold together, or in order to be able to add product A, it's necessary to add Product B as well).

There are three types of bundles:

Static bundle. This would be the traditional, pre-packaged, fixed bundle where you sell certain products together at a fixed price, and the user doesn't need to go into the configuration because no adjustments are allowed.

Configurable Bundle. This type of bundle can be configured with certain restrictions to avoid impossible configurations. The user can select different options in order to customize the bundle to meet the customer's needs. 

Nested Bundle. These are bundles within other bundles. To keep a more streamlined user experience and to avoid performance issues, it's recommended to keep the nested bundles on to three levels deep. Nested bundles are easily created by adding the parent product of a bundle as an option to another bundle (that is, the Optional SKU on an option references another bundle). 

Another concept we can mention here is the Virtual Bundle. This type of bundle works as a container for other products. In order to set up a virtual bundle parent, it should be associated with a price of $0.00. Note that if you need to show the price of a virtual bundle parent on the output documents, you will have to add a new line column to the quote template for the corresponding Quote Line field that contains the necessary price value (make sure to use the correct API name, e.g. SBQQ__PackageTotal__c). Additionally, check the Show All Package Product box on the Quote Template; otherwise, only non-zero priced products will be shown.

CPQ Show All Package Checkbox on Quote Template 

And lastly, there are dynamic bundles. These function in conjunction with product filter rules to let your sales reps select products from a pre-filtered list of options they are allowed to choose from. The trick is that no actual product option records are being created in this case. On the one hand, these virtual product options are easy to maintain, especially with bundles that often grow or change. But there is also a downside: given that these product options don't exist, you can't control how they behave. For instance, you can't set a min/max quantity anywhere. That's why it is recommended to use dynamic bundles with products that don't require strict business logic. 

Adding bundles to quotes follows the same steps as with other products because bundles are still products. Suppose your customer wants a bundle product. All you have to do is to go to the necessary quote, click Edit Lines, then Add Products. Search for the product and check the box next to it, then click the button Select. If the bundle is configurable, the next stop will be the configuration page, where you can see all the different options you can choose from. After clicking Save on this page, you land on the Quote Line Editor, which shows you the configured bundle. To finish the process, click Save.

Comments (0)

Leave a Comment