Approval for Product Options (Attribute)


Sometimes users need to choose the main item from a list of choices/options (like book edition, car model, etc.). An example of this is selling a desktop or laptop, users can chose from peripheral (monitor, printer, and software) and then choose add-ons (warranty, additional hardware, upgrade etc.). This business problem not only refers to the “main” product's options but also when these options have attributes associated with it. In few business processes, some of these product options may require approval. An approval process can be set up based on some scenarios such as:
• Approval process based on a specific product or service in quote.
• Approval process based on specific option(s) selected within a configuration.
For example, let’s assume an approval is required for warranty option (4 Year ProSupport and 4 Year NBD On-site Service) for a desktop computer.


Setting up the approval process for product options can be achieved by:
• Setting up product attribute
• Creating a new cart level aggregate which checks for that attribute
• Creating new approval rule which uses the Cart Level Aggregate GI in approval rule

Step 1: Setup Product with Option/Attribute (if necessary)
Be sure the specific option/attribute is setup in the product. When approval is conditioned based on a specific product in the quote, then an attribute needs to be setup in that product as a flag for approval and preselect it. Navigate through CPQ Setup→Products Catalog→Products, edit the product (Desktop computer) and navigate through the “product Attributes/options tab to create a hidden attribute with an attribute value set to 1.

Step 1a: Create a product validation message (Optional)
A validation message can be useful to alert the user that the specific attribute/option they have selected will require approval. This is an optional step.
Product validation messages are similar to product rules, but instead to execute some action during configuration change, if condition is satisfied, they show up a message. They are executed after the configuration change (i.e. user selects attribute value in configurator). From CPQ Setup→Products Catalog→Products, Edit the product (Help Desk Support) using the legacy editor pencil icon , Navigate through Current Product→Messages to create a new message. The message text determines what shows as message to the user as message on the responder. “Uncheck” the make product incomplete field, this enables items to be added to the cart.

Step 2: Create a Cart Level aggregate
This step is required to create rules that will be applied to appropriate product options/attributes. Navigate through the rules tab to create a new rule by clicking the Add New button.Cart Level Aggregates are special Global Variables that holds values that can be read by any product or quote. To create a cart level aggregate, navigate through CPQ Setup→Quotes→Cart Level Aggregates.

Cart Level Aggregate

Use [EQ](<*CTX( Quote.CurrentItem.MainItem.Attribute(attribute name) )*>,value) for expression.
This example will create a global variable “Warranty Approvals” and its value will be equal to a sum of quantities of “4 Year ProSupport and 4 Year NBD On-site Service” attributes in each item in the cart. If an item or a configuration does not have a “Warranty” attribute, the aggregate value for that particular item will be set to zero, thus such items will not affect the final aggregate sum value. This aggregate/global variable will be used in an action condition in the next step.
Step 3: Create Approval rule
Next step is to setup the approval process which is conditioned on the cart level aggregate. Let’s assume an approval is required for the “Sales” user type. This rule is setup under CPQ Setup→Workflow/Approvals→Approval rules. The approval rule can be set up in three easy steps as shown on the approval page below.

Approval page

Select the user, user type and company, this approval rule should apply to. In this example, the Sales user type is selected. The condition for the approval is an expression using the cart level aggregate: [GT](<*GI(Warranty Approvals)*>,0) and the approver is “Aaron Approver”. After defining all the above mentioned terms, the approval rule has been successfully set up.
On the USER side when the warranty option (4 Year ProSupport and 4 Year NBD On-site Service) is selected; a validation message is displayed informing the user to submit quote for approval (optional).

On the cart, the approval section displays the approval required message. To proceed, the user must submit the quote for approval by clicking the Request for approval button.

See Also

You are here: SAP Sales Cloud CPQ Online HelpBest PracticesWorkflow/ApprovalsApproval for Product Options (Attribute)