You are here:
Setting Up an Availability or Eligibility Rule to Exclude Declined Products
This topic provides an example of how to configure an availability or eligibility rule where all products that have been declined as part of the account offers within the last 12 months are excluded from the product list. Eligibility and availability rules must be created against the Header object (Opportunity, Quote , Order). This example is based on the Opportunity object.
To configure the rule, you must create one rule action and one rule variable. The rule variable will collect the declined product IDs from the account offers object related to the account. This variable will then be used within the entity filter associated with the rule action in order to exclude the correct products. Advanced eligibility and availability rules in Configure, Price, Quote (CPQ) must be created on header objects (e.g., Opportunity, Quote, or Order). These rules do not work with non-header objects like QuoteMember or custom objects. If your setup involves non-header objects such as QuoteMember, the context rules will not apply as expected.
For Availability or Eligibility rules, Group filters (left side) must be defined on the header object—such as a Quote, Order, or Opportunity—while Action filters (right side) must be defined on the Product2 object.
Configuring the rule involves the following tasks:
- Create the Exclude Offering Procedure
- Create the Decline Account Offers Entity Filter
- Create the Filter Excluded Products Entity Filter
- Create the declinedProductIds Rule Variable
Create the Decline Account Offers Entity Filter
The entity filter is used to collect the product ids from the AccountOffer__c object based on the specified criteria. In this case, declined offers within the past 12 months.
Create the Filter Excluded Products Entity Filter
The entity filter is used to qualify products against the previously collected variable declinedProductIds. Please note the reference to the variable in the filter condition.
Create the declinedProductIds Rule Variable
The rule variable defines how to populate the variable.
-
Variable Name: Name of the variable. This name will be used to reference the variable in the entity filter conditions.
-
Rule: Lookup to the associate rule
-
Type: Type of variable
-
Object Path: Comma-delimited value describing the path to the list of objects to use in populating the variable. The Object Path consists of three comma-delimited values. The sample AccountId,vlocity_cmt__AccountOffer__c,vlocity_cmt__AccountId__c describes the path to the account offers related list from the opportunity object.
-
AccountIddefines the field holding the ID of the header object -
vlocity_cmt__AccountOffer__cdefines the API object Name of the related list object -
vlocity_cmt__AccountId__cdefines the lookup field from the related list object to the header object, so effectively this value translates to:SELECT allFields FROM vlocity_cmt__AccountOffer__c WHERE vlocity_cmt__AccountId__c =: 'value in field AccountId'
-
-
Entity Filter: The filter used to qualify the objects populating the variable
-
Field Name to Assign: the field used to populate the variable. It defines that vlocity_cmt__ProductId__c is extracted from the related list and added the variable.
