An Overview of Product Rules

by Community Manager on ‎07-21-2015 05:47 PM - edited 3 weeks ago by Community Manager

OVERVIEW

Product Rules evaluate a Quote's Products against user-made conditions and then display a message in the Quote Line Editor if conditions aren't met.


Product rules contain a condition to meet, an error message (to display if the condition is not meet), and a filter. Users create Error Conditions to determine if a certain set of products is valid in a given scenario. The Error Conditions will use Summary Variables to make these decisions.

 

Product rules have 4 varieties:

  • Validation Rules check the quote line items and verify that there are no invalid products. Set the Scope of your product rule to "Quote" when building a quote product rule.
  • Configuration Rules check the product and its components to prevent invalid product options from being selected on a product bundle. Set the Scope of your product rule to "Product" to build a product configuration rule. Make sure you select the product bundle in the Configuration Rules related list.
  • Filter Rules are used with Dynamic Product Bundles to allow you to pre-filter the products that are available for your sales reps to add dynamically to a bundle. 
  • Alert Rules can be used as guidance or informational messages to your sales reps during configuration or pricing.  Unlike a validation rule, they allow reps to continue on and save their configurations and quotes without performing a corrective action.  

The major difference between Validation and Selection rules is that Selection rules can be used for specific products whereas Validation Rules can be used for fields on specific objects. 

 

KEY CONCEPTS AND DEFINITIONS

Common Product Rule Types Description
Dependency Product A is required with Product B
Complex Dependency Product A is required with multiple products
Exclusion Product A cannot be sold with Product B
Quantity-Based Constraints Quantity of Product A cannot be higher/lower than quantity of Product B
Prior Purchase Constraints Cannot purchase Product A without having previously purchased Product B

 

DETAILS

Product Rule Fields 

Fields

Description

Product Rule Name Name of the Product Rule.  It is best to enter a meaningful name here to make it easier to distinguish between any other rules you may have.
Conditions Met

Choose how to apply the Error Conditions:

  • All: All conditions must evaluate to "True" for the rule to fire. 
  • Any: Only one condition must evaluate to "True" for the rule to fire. 
  • Custom: Use with Advanced Conditions field to determine how conditions are evaluated.  For example, this enables a rule with 3 conditions to be handled in the following fashion: 1 AND (2 OR 3).  
Scope

Choose where the rule will be applied:

  • Product: Rule will be used within a product bundle. 
  • Quote: Rule will fire in the Quote Line Editor.
Evaluation Event Choose an Evaluation Event:
  1. Load: The rule will be evaluated when the configuration page loads.
  2. Edit: The rule will be evaluated when and a user selects or deselects an option on the configuration page. This event also provides real-time processing if the selected or deselected option, or configuration attribute, is flagged as 'Apply Immediately'.
  3. Save: The rule will be evaluated when the user clicks Save on the configuration page.
  4. Always: The rule is evaluated on page load, after changes are made, and upon save. Use this option when creating Real-Time Product Rules.
Type Choose Selection for Selection, Remove, and Hiding Rules.
Active Activate Rule before testing
Message An Error Message is required for 'Validation' type rules. This message will inform the user of any errors in their current configuration.
Evaluation Order This field is used to determine the order in which the product rules fire.
Advanced Conditon

Used to apply logic to the created conditions.

 

Error Condition fields

Field

Description

Index Assign a unique number to this Condition to reference it in the Advanced Condition field.
Rule Name of the product rule the error condition is related to. This is a lookup field and is pre-populated to the current rule by default. 
Tested Object

If you are evaluating a field on an object, select that object here.  You can choose from Quote, Quote Line, Quote Line Group, Product Option, Configuration Attribute, or Upgraded Asset. 

 

Note: Quote Line Group is available as a Tested Object value of Salesforce CPQ Winter 27. Review 

Validation Rules and Configuration Rules for sample Use Cases where Error Conditions test against Quote Line Groups.

Tested Field Select the field being evaluated if applicable.  This is a dependent picklist and will be populated with available fields related to the Tested object. 
Tested Variable If evaluating a summary variable and not a field, enter or lookup the summary variable in this field.
Operator Choose operator for condition.  You may need to add picklist values to the menu for the following:  not equals, less than, less or equals, greater than, greater or equals, starts with, ends with, and contains.  
Filter Type

Choose:

  • Value: to evaluate against a specified value. 
  • Variable: to evaluation against a Summary Variable. 
Filter Value Enter value you are comparing against. If you want to enter a date field, use the format YYYY-MM-DD 00:00:00.
Filter Variable Enter or lookup to the summary variable you are comparing against.

 

USE CASE: REAL-TIME RULE PROCESSING

Admins can configure Product Rules to automatically disable/enable or select/deselect product options based on other option selections and configuration attributes. This means the sales user will receive immediate feedback about valid and invalid options instead of receiving it only when they save the configuration.

 

This feature is useful for setting up a guided configuration: You can create configuration attributes in the form of questions; based on the response from the user, the system can automatically create the appropriate configuration, perhaps by auto-selecting multiple options in one step. 

 

To create a Product Rule that will function in real-time:

  1. Select a Product Bundle.
  2. Select a Product Option.
  3. Select Apply Immediately.
  4. Select System, if it is not already checked. This will remove the ability for the user to manually select the option. It is selected by either another option or a configuration attribute.
  5. Click the Product Rules tab.
  6. Click New.
  7. Enter the following fields with these values:
    1. Type: Selection
    2. Scope: Product
    3. Evaluation Event: Always. Note: you can select any value for Evaluation Event, it is not restricted to Always.
  8. Create a Product Action.

For instance, admins could create a Product Rule that adds a Product to a bundle based on where the quoted equipment is being shipped.

 

Tip: Wondering why a Rule isn't working? Check your Option Constraints. Remember, Option Constraints override Product Rules!

Note: Administrators can comma-separate values in the Target Field when using the "equals" operator, in order to check for multiple values with 1 Error Condition when creating a Product Rule. Do NOT include a space after each comma because the Search will be performed on a value that includes the space and therefore fail.

Caution: The "Object" in Error Conditions should not be specified when testing a Summary Variable, or it will not work.

Comments
by VenkatK
on ‎09-23-2015 10:43 PM

Hi,

  I am working on a business case wherein I need to compare the quantity of 2 distinct products which are within a bundle and the requirement is that if the quantity of one product quantity is updated, then the quantity of other product should also reflect the quantity of the product which was updated earlier....

 

For Ex: I have Product A and Product B - both are part of bundled product. If the user updates the quantity of Product B which is editable on the quote, then the quantity of the Product A should also be updated.

 

 I have worked on creating a set of rules - 2 summary variables/1 product rule and error condition as per one of the examples mentioned but somehow still stuck in validating the issue....Any insights/help to achieve the above functionality would be greatly appreciated.

by cruttley
on ‎11-03-2015 01:39 PM

I think there is an error in this documentation...it should be Target Object, not Target Option......right?

 

Field Value (Servers) Value (Maintenance)

Variable NameTotal Number of ServersTotal Number of Maint.
Aggregate FunctionSumSum
Target OptionQuote LineQuote Line
Aggregate FieldQuantityQuantity
Filter InformationProduct Family = "Servers"Product Family = "Maintenance"
by mattynutt
on ‎11-05-2015 10:54 AM

To Quote your documentation:

 

 

Caution: The " [Target?] Object" in Error Conditions should not be specified when testing a Summary Variable, or it will not work.

 

Does this statement only apply to the second example?  What are the scenarios in which you WOULD specify a tested objec tin an error condition?

by Community Manager
on ‎12-10-2015 12:56 PM

@mattynutt Apologies for the delay in responding.  You need to specify the Target Object in Error Conditios when you are testing fields so that the rule knows where to look.  


by ksherwin
on ‎07-27-2016 12:20 PM

Hi, I selected Configuration Attributes as the Object in my error condition and updated the Target field with a custom value. However, the Dropdown is not showing my new value. It continues to default to Unit Price. I have several selections in the target field that are not appearing the dropdown. How do I add this custom value?

Config_Attrib_No_Dropdown_Appears.pngUpdated_Confg_Att_Target_Field_List.png

by NickS
on ‎12-12-2016 07:04 PM

@TWasson @lvoelz2 This article implies a configuration rule is required. Product selection rules without configuration rules will run when you are adding any products to a quote. 

by jeffhinton
on ‎01-03-2017 10:29 AM

Hello,

 

We have some unique product rule scenarios based on how our business works. For example, we require certain products on every quote, but on the invoicing side, the products should only be invoiced when a customer goes over their alotted usage. Many times, customers understand the need for putting these 'overage' products on their quote, but want to have it at a 0 quantity, which we know we can do.

 

Right now, using product rules and summary variables, we can only build selection rules as such:

 

--to create a rule saying Product A is selected/deselected:

1. If [summary variable for Product A] is greater than 0, show/add Product B

2. Or, if [summary variable for Product A] is equal to 0, hide/remove Product B

 

The need:

We need scenario 1 to kick in when Product A is selected in the Configurator (i.e. physically checking the product box) regardless of what the quantity is. So, in some scenarios, if Product A is checked, but quantity is 0, we will still need Product B to be shown/added. With that, we will need the opposite to apply for when we physically uncheck the box, then it should hide/remove Product B.

 

Any thoughts or suggestions? Let me know if further clarification is needed.

 

Thanks,

Jeff

by nathanspiwak
on ‎01-30-2017 09:16 AM

Hello, I have built two rules to show or hide product options when another related product is selected or not. It's working correctly. However, all of the product options that are hidden are in the same feature so when they are hidden it says,

 

"No visible options in feature 'Essentials'". 

 

Is there a way to have the entire feature hidden when all the options contained within the feature are hidden? I want the entire feature box to disappear. Let me know if you have any ideas. Thanks!

by camilasnapbi
on ‎02-24-2017 07:38 AM

Is it possible to create a price rule that targets more than one product?


Chris wrote:
OVERVIEW

Product Rules evaluate a Quote's Products against user-made conditions and then display a message in the Quote Line Editor if conditions aren't met.


Product rules contain a condition to meet, an error message (to display if the condition is not meet), and a filter. Users create Error Conditions to determine if a certain set of products is valid in a given scenario. The Error Conditions will use Summary Variables to make these decisions.

 

Product rules have 4 varieties:

    • Validation Rules check the quote line items and verify that there are no invalid products. Set the Scope of your product rule to "Quote" when building a quote product rule.
    • Configuration Rules check the product and its components to prevent invalid product options from being selected on a product bundle. Set the Scope of your product rule to "Product" to build a product configuration rule. Make sure you select the product bundle in the Configuration Rules related list.
    • Filter Rules are used with Dynamic Product Bundles to allow you to pre-filter the products that are available for your sales reps to add dynamically to a bundle. 
    • Alert Rules can be used as guidance or informational messages to your sales reps during configuration or pricing.  Unlike a validation rule, they allow reps to continue on and save their configurations and quotes without performing a corrective action.  

The major difference between Validation and Selection rules is that Selection rules can be used for specific products whereas Validation Rules can be used for fields on specific objects. 

 

KEY CONCEPTS AND DEFINITIONS Common Product Rule Types Description
DependencyProduct A is required with Product B
Complex DependencyProduct A is required with multiple products
ExclusionProduct A cannot be sold with Product B
Quantity-Based ConstraintsQuantity of Product A cannot be higher/lower than quantity of Product B
Prior Purchase ConstraintsCannot purchase Product A without having previously purchased Product B

 

DETAILS Product Rule Fields 
FieldsDescription
Product Rule NameName of the Product Rule.  It is best to enter a meaningful name here to make it easier to distinguish between any other rules you may have.
Conditions Met

Choose how to apply the Error Conditions:

  • All: All conditions must evaluate to "True" for the rule to fire. 
  • Any: Only one condition must evaluate to "True" for the rule to fire. 
  • Custom: Use with Advanced Conditions field to determine how conditions are evaluated.  For example, this enables a rule with 3 conditions to be handled in the following fashion: 1 AND (2 OR 3).  
Scope

Choose where the rule will be applied:

  • Product: Rule will be used within a product bundle. 
  • Quote: Rule will fire in the Quote Line Editor.
Evaluation EventChoose an Evaluation Event:
  1. Load: The rule will be evaluated when the configuration page loads.
  2. Edit: The rule will be evaluated when and a user selects or deselects an option on the configuration page. This event also provides real-time processing if the selected or deselected option, or configuration attribute, is flagged as 'Apply Immediately'.
  3. Save: The rule will be evaluated when the user clicks Save on the configuration page.
  4. Always: The rule is evaluated on page load, after changes are made, and upon save. Use this option when creating Real-Time Product Rules.
TypeChoose Selection for Selection, Remove, and Hiding Rules.
ActiveActivate Rule before testing
MessageAn Error Message is required for 'Validation' type rules. This message will inform the user of any errors in their current configuration.
Evaluation OrderThis field is used to determine the order in which the product rules fire.
Advanced Conditon

Used to apply logic to the created conditions.

 

Error Conditions fields
FieldDescription
IndexAssign a unique number to this Condition to reference it in the Advanced Condition field.
RuleName of the product rule the error condition is related to. This is a lookup field and is pre-populated to the current rule by default. 
Tested Object

If you are evaluating a field on an object, select that object here.  You can choose from Quote, Quote Line, Quote Line Group, Product Option, Configuration Attribute, or Upgraded Asset. 

 

Note: Quote Line Group is available as a Tested Object value of Salesforce CPQ Winter 27. Review 

Validation Rules and Configuration Rules for sample Use Cases where Error Conditions test against Quote Line Groups.

Tested FieldSelect the field being evaluated if applicable.  This is a dependent picklist and will be populated with available fields related to the Tested object. 
Tested VariableIf evaluating a summary variable and not a field, enter or lookup the summary variable in this field.
OperatorChoose operator for condition.  You may need to add picklist values to the menu for the following:  not equals, less than, less or equals, greater than, greater or equals, starts with, ends with, and contains.  
Filter Type

Choose:

  • Value: to evaluate against a specified value. 
  • Variable: to evaluation against a Summary Variable. 
Filter ValueEnter value you are comparing against.
Filter VariableEnter or lookup to the summary variable you are comparing against.

 

USE CASE: REAL-TIME RULE PROCESSING

Admins can configure Product Rules to automatically disable/enable or select/deselect product options based on other option selections and configuration attributes. This means the sales user will receive immediate feedback about valid and invalid options instead of receiving it only when they save the configuration.

 

This feature is useful for setting up a guided configuration: You can create configuration attributes in the form of questions; based on the response from the user, the system can automatically create the appropriate configuration, perhaps by auto-selecting multiple options in one step. 

 

To create a Product Rule that will function in real-time:

  1. Select a Product Bundle.
  2. Select a Product Option.
  3. Select Apply Immediately.
  4. Select System, if it is not already checked. This will remove the ability for the user to manually select the option. It is selected by either another option or a configuration attribute.
  5. Click the Product Rules tab.
  6. Click New.
  7. Enter the following fields with these values:
    1. Type: Selection
    2. Scope: Product
    3. Evaluation Event: Always. Note: you can select any value for Evaluation Event, it is not restricted to Always.
  8. Create a Product Action.

For instance, admins could create a Product Rule that adds a Product to a bundle based on where the quoted equipment is being shipped.

 

Tip: Wondering why a Rule isn't working? Check your Option Constraints. Remember, Option Constraints override Product Rules!

Note: Administrators can comma-separate values in the Target Field when using the "equals" operator, in order to check for multiple values with 1 Error Condition when creating a Product Rule. Do NOT include a space after each comma because the Search will be performed on a value that includes the space and therefore fail.

Caution: The "Object" in Error Conditions should not be specified when testing a Summary Variable, or it will not work.


 

by KerryW
on ‎04-04-2017 03:51 AM

Hi there,

 

I need to allow users to increase the unit list price that's set but not decrease it (they need to use the additional discount field for this). Using product rules and summary varibles i dont have the ability to set the criteria based on the prior value of the unit list price (basically i need the rule to be if the unit list price is less then the prior value, error!). What is the best way to put this rule into place? is it even possible?

 

Thanks

by nthoryk
on ‎07-17-2017 08:56 PM

Can I get an explanation of what the "Default Filter" Product Action Type does?

by jkennedy
‎07-28-2017 03:24 PM - edited ‎07-28-2017 03:24 PM

I wanted to add a quick note for anyone looking to impliment "Custom" Conditions Met. I looked through the knowledge base, saw this was a feature but did not see the "Custom" option in my org. There is still some configuration you will have to do to enable this. Please see my steps below. 

 

1) Add "Advanced Condition" Field to Product Rule Page Layout. 
2) Add "Custom" pick list value to "Conditions Met" pick list field on the 'Product Rule' record. 
3) Add "Index" field to 'Error Condition' page layout on the 'Error Condition' Object.

 

Hope this is helpful.

 

Best, 

Joseph

by alongold
Wednesday

When product option is marked as "System", and there's a "Add" product rule controling it (with all relevant configuration attributes and other product options marked with "Apply Immediately") -

Is it expected that the checkbox will be selected and shown to the user immediately?

 

The behavior I expirience I have is that the product option is added or removed correctly when saving the configuration, BUT the checkbox in the configuration screen doesn't reflect it in real-time.

 

Is this by design or am I missing anything?

 

Thanks,

Alon