Option Constraints in Salesforce CPQ – Managing Product Dependencies

Product Dependencies can be managed effectively using Option Constraints and Product Rules in Salesforce CPQ.

In this article, I’ll go through the scenarios regarding Option Constraints and how they can be leveraged to ensure that only valid combinations of product options are selected while configuring a Bundle Product.

For any selling organization, there could be a set of specific products which are dependent on the other products and have to be sold together or there could be products which cannot be sold together due to the product compatibility issues. In such cases, it becomes a tedious job for the Sales Reps to keep track of all the product dependencies and compatibilities in the system. Reps end up spending a lot of time selecting the correct products for the customers which eventually takes a toll on their productivity and the company’s revenue.

Option Constraints allow you to enable or disable a Product Option for selection based on the selection of another product option in the same Bundle Product.

Option Constraint Types

Based on its behavior, Option Constraints are of two types, Dependency and Exclusion. It is determined by the Type field on the Option Constraint record.

Dependency

  • Selecting the Constraining Option enables the Constrained Option for selection.
  • Product option referred in the Constrained Option field on Option Constraint record is visible in your bundle but your sales reps CANNOT SELECT IT until they’ve selected the other prerequisite product option, which is referred in the Constraining Option field on Option Constraint record. This is how your sales reps are allowed to select the specific product option only when it’s original product option is selected.
  • For example – Enable Product A only if Product B is selected.

Exclusion

  • Selecting the Constraining Option disables the Constrained Option for selection and vice versa.
  • Product option referred in the Constrained Option field on Option Constraint record is visible in your bundle and available for selection but your sales reps CANNOT SELECT IT if they’ve selected the other non-compatible product option, which is referred in the Constraining Option field on Option Constraint record. Vice versa is also true. This is how your sales reps are not allowed to select the specific product options together.
  • For example – Disable Product A if Product B is selected.

Use Case

Andrew Martin works as a CPQ Administrator at ABC Corp (AC), which sells Apple iPhone X Package. It is a bundle product and options included in it are divided into 3 different groups using Product Features.

Andrew has to configure below product dependencies for Apple iPhone X Package bundle.

  1. Apple Earpods 3.5mm Jack Headset is ONLY AVAILABLE with SanDisk Ultra 16 GB.
  2. Apple Powerbeats3 Bluetooth Headset and SanDisk Ultra 32 GB CANNOT BE SOLD TOGETHER.

Bundle Structure

Bundle Product: Apple iPhone X Package
  • Feature: Memory Cards
    • Product Option: SanDisk Ultra 8 GB
    • Product Option: SanDisk Ultra 16 GB
    • Product Option: SanDisk Ultra 32 GB
  • Feature: HeadPhones
    • Product Option: Apple AirPods Bluetooth Headset
    • Product Option: Apple Earpods 3.5mm Jack Headset
    • Product Option: Apple Powerbeats3 Bluetooth Headset
  • Feature: Mobile Cases
    • Product Option: iPhone X Silicone Case - Marine Green
    • Product Option: iPhone X Leather Folio - Electric Blue
    • Product Option: iPhone X Leather Case - Soft Pink

Click here to see how to set up a Bundle Product using Salesforce CPQ

Here is the list of all Product Options configured under the Apple iPhone X Package bundle product. We would need the specific Option Names to configure Option Constraints.

Apple iPhone X Package - All Product Options

Apple iPhone X Package – All Product Options


Use Case 1 - Apple Earpods 3.5mm Jack Headset is
ONLY AVAILABLE WITH SanDisk Ultra 16 GB


How to Setup?

  1. Navigate to the bundle product detail page, “Apple iPhone X Package” in this case. Go to Option Constraints related list and click New Option Constraint.
    Option Constraints Related List on Bundle Product
    Option Constraints Related List on Bundle Product

Enter below information and click Save.

  • Constraint Name = enter meaningful name here
  • Active = True
  • Constrained Option = Lookup to Product Option for Apple Earpods 3.5mm Jack Headset. (Lookup to Product Option that you want to enable or disable based on this Option Constraint.)
  • Constraining Option = Lookup to Product Option for SanDisk Ultra 16 GB. (Lookup to Product Option that determines whether to enable or disable Constrained Option.)
  • Configured SKU = Lookup to Apple iPhone X Package (Lookup to Bundle Product – This gets populated automatically when creating an option constraint record from the bundle product’s detail page)
  • Type = Dependency
    Dependency Option Constraint
    Dependency Option Constraint

Let’s check it out

  1. Navigate to an existing Quote and click Edit Lines button/ create a new Quote | click Add Products
    Add Products Page
    Add Products Page
  2. Select the Apple iPhone X Package product and click Select, you will be landing on the CPQ Configure Products screen.
    • You can see that the checkbox to select the Constrained Option – Apple Earpods 3.5mm Jack Headset is disabled here.
      Option Constraint Type = Dependency
      Option Constraint Type = Dependency
  3. When you hover over the selection checkbox for the Constrained Option, you can notice the Dependency Message.
    Constrained Option Hover Message
    Constrained Option Hover Message
  4. Go ahead and select the Constraining Option – SanDisk Ultra 16 GB. This enables the Constrained Option –  Apple Earpods 3.5mm Jack Headset – for selection. Sales reps can choose whether to select it or not based on the customer’s demand.
     
    Option Constraint Type = Dependency
    Option Constraint Type = Dependency

Use Case 2 - Apple Powerbeats3 Bluetooth Headset and
SanDisk Ultra 32 GB CANNOT BE SOLD TOGETHER


How to Setup?

  1. Navigate to the bundle product detail page, “Apple iPhone X Package” in this case. Go to Option Constraints related list and click New Option Constraint.
    Add Products Page
    Add Products Page
  2. Enter below information and click Save.
      • Constraint Name = enter meaningful name here
      • Active = True
      • Constrained Option = Lookup to Product Option for Apple Powerbeats3 Bluetooth Headset. (Lookup to Product Option that you want to enable or disable based on this Option Constraint.)
      • Constraining Option = Lookup to Product Option for SanDisk Ultra 32 GB. (Lookup to Product Option that determines whether to enable or disable Constrained Option.)
      • Configured SKU = Lookup to Apple iPhone X Package (Lookup to Bundle Product – This gets populated automatically when creating an option constraint record from the bundle product’s detail page)
      • Type = Exclusion
    Exclusion Option Constraint
    Exclusion Option Constraint

Let’s check it out

  1. Navigate to an existing Quote and click Edit Lines button/ create a new Quote | click Add Products
    Add Products Page
    Add Products Page
  2. Select the Apple iPhone X Package product and click Select, you will be landing on the CPQ Configure Products screen.
    • You can see that both the Options are available for selection initially.
    • Option Constraint Type = Exclusion
      Option Constraint Type = Exclusion
  3. When you hover over the selection checkboxes for either the Constrained Option or the Constraining Option, you can notice the Exclusion Message.
    Constraining Option Hover Message
    Constraining Option Hover Message
    Constrained Option Hover Message
    Constrained Option Hover Message
  4. Go ahead and select the Constraining Option – SanDisk Ultra 32 GB. This disables the Constrained Option –  Apple Powerbeats3 Bluetooth Headset – for selection.Option Constraint Type = ExclusionOption Constraint Type = Exclusion
  5. Vice versa is also true. If you select the Constrained Option – Apple Powerbeats3 Bluetooth Headset. This disables the Constraining Option – SanDisk Ultra 32 GB – for selection.
    Option Constraint Type = Exclusion
    Option Constraint Type = Exclusion

Note: Applying MULTIPLE Option Constraints

You can apply multiple Option Constraints (OCs) to the single Product Option (PO) by selecting the same PO as the Constrained Option on all those OCs. This can be achieved by using the Option Constraint Group Field on the Option Constraint.

Use this feature if you want to ENABLE/DISABLE Product Options based on combinations of other MULTIPLE Product Options. All you have to do is to specify the SAME Option Constraint Group value (ANY TEXT VALUE) on all the OCs constraining the specific Option.