Savvy Hints for Salesforce CPQ Advanced Approvals

By Nancy Hornschuch & Mark Kallioinen

Salesforce CPQ approval variables can be defined when using the Advanced Approvals application.

Approval variables are used to aggregate data from child objects for use in approval conditions; however, duplicate summary approval variables may be required to address a minor limitation.

There are 2 types of approval variables.

  • Discount – will automatically determine the discount percentage. The Net Variable and List Variable fields are required to be populated.

  • Summary – will determine the aggregate value from the child records based on the filter criteria provided. The Aggregate Field and Aggregate Function fields are required to be populated. Likely the Filter Field, Filter Value and Operator fields will also be populated.


The same summary approval variable cannot be evaluated in 2 different approval conditions for the same approval rule. An example of this is an approval rule with 2 approval conditions is needed.

  • Manager A needs to approve is the discount > 10% or

  • Manager A needs to approve if the net total of the quote > $50,000.00

For the 1st condition, 2 summary approval variables are defined to determine the aggregate list price and the aggregate net price. Also 1 discount approval variable is defined to automatically determine the discount percentage.

The approval variables are as follows

  • Summary Approval Variable called “List Price”

  • Summary Approval Variable called “Net Price”

  • Discount Approval Variable called “Discount Percentage

For the 2nd condition, a summary approval variable is needed to determine the aggregate net price. This is the same value that is determined by the Summary Approval Variable defined above called “Net Price”.

Error Conditions and Workaround

If the same summary approval variable “Net Price” defined for the 1st condition above is used for the 2nd condition, an error will be displayed when the approvals are previewed. The error will state something like, “Row with duplicate Id at index: 3”

  • The workaround is to define a second summary approval variable to determine the same net price value.

There are many advantages to using Salesforce CPQ approval variables in Advanced Approvals. Users who understand Summary Variables will understand Approval Variables. The data resulting from approval variables will be available when needed during the approval process. By using approval variables, the roll-up summary variable limits will not be impacted by approval rule configurations. And, most importantly, Discount Approval Variables will do the math for you!

In conclusion, although this particular limitation is minor in scope and the workaround can be easily configured, it is also important to know this workaround in advance to deliver savvy and cost-effective customer projects.

Foundry52 is your Salesforce CPQ Advanced Approvals implementation partner of choice. Let our experienced team provide their expert hands-on knowledge to your project. Call us today for a free Salesforce CPQ approval review and estimate for your quoting process.

1,045 views0 comments