Approval Process
General Objective
Approval Processes are the way to secure that Quotes issued in Salesforce through Smart CPQ respect all the rules setup for your business: Discount level, product availability, engineering rules, etc.
This page presents the runtime logic of an Approval Process and provides explanations on how to set it up in CPQ and SFDC.
Runtime
APPROVAL PROCESS WORKFLOW
CPQ does not execute Approval Processes. Approval Processes are xecuted in SFDC. Essentially, Smart CPQ can compute and present approval rules, then send the data over to the PROS Quote object (by the mean of standard synchronization) so that one or more Approval Processes can be executed on the PROS Quote itself.
Setup
CRM & CPQ RESPONSIBILITIES: APPROVAL RULES AND APPROVAL USER ROUTING
Approval Processes involve two types of logic: Approval Rules and Approval User Routing.
- What rules need to be enforced on the quote lines and the quote itself, and what is the escalation route when a rule is broken.
The Approval Rules are about product (or even quote) rules and CRM roles. Example: When a line discount is above 20%, it should go to a Sales VP for review.
- When an escalation route is taken, who exactly should approve or reject the quote
The Approval User Routing is about actual CRM users. Example: When a Sales VP review is required, the region is North America, and the Business Unit is Health Equipment, then the reviewer should be Jude Robinson.
PROS recommends calculating all Approval Rules in CPQ.
CPQ can be configured to display the different lines breaking a rule, what the rule is, and what the expected escalation will be. This is very useful both for the person submitting a deal and the person reviewing a deal during the approval process.
Example: The sales rep knows which lines have a too high discount and that the quote will have to be approved by both his Sales manager AND Sales VP. Maybe he will adjust the discount.
The result of these Rules can then be synchronized to Salesforce. With this information, you can drive a standard Approval Process in Salesforce based on an Approval Users Routing determined in Salesforce. This way CPQ handles the product / quote rules, and Salesforce handles the approval and users.
SIMPLE APPROVAL PROCESS / PARALLEL APPROVAL PROCESS
Before going further, it is important to know if your Approval Process is "Simple" or "Parallel". Setup will be different for each. Standard Salesforce Approval Processes follow a single path: One step after another. There is no notion of parallel steps. However, one step may have multiple parallel approvers.
For example:
If you want to follow a simple approach with one step going to sales managers, then the sales VPs, then legal, you can use the straight forward Approval Processes, as documented by Salesfore. If you want to use parallel approval processes, for example having both the legal team and sales team approving a same quote at the same time, then you will need Parallel Approval Processes.
This requires additional setup.
PARALLEL APPROVAL PROCESS - GENERAL GUIDELINES
Some complex approval processes require parallel approval routes. For example, if both the legal and sales team want to be able to work simultaneously on a quote review. Standard Salesforce Approval Processes have limitations - that are independent from CPQ capabilities. While it is possible to define parallel approvers on a given approval step, you cannot run parallel approval processes or define parallel steps in one process. It is impossible to define multiple Approval Processes and apply them simultaneously on the PROS Quote. Salesforce only allows one Approval Record to be run on an entity at a time. Overcoming this challenge is possible but requires additional setup in Salesforce.
Working from the example above: Two teams, Sales and Legal, must work on a deal. What should the administrator prepare for this case? First, you must create two separate Standard Salesforce Approval processes, one for Sales, one for Legal. These Approval Processes will NOT be applied on the PROS Quote entity. They will be applied on a new entity that needs to be created: Quote Approval Route.
This is standard SFDC setup: Creating a new entity, then creating a standard Approval Process, and applying it to that entity. When the PROS quote is submitted, both of these Quote Approval Routes have been created: One for Legal, and one for Sales. Then the relevant Approval Process is applied to each of them.
This requires:
- Creating a custom button "Submit for Approval"
- Creating an APEX class that will:
- Create Quote Approval Routes based on the PROS quote fields. Each Quote Approval Route must have its fields populated so that an Approval Process can be run on it: What are the approval steps, along with all information necessary for the Approval Users Routing.
- Apply the right Approval Process to each of the created Quote Approval Route
- Submit the Approval Process
When this is done, both approval processes can be run separately. This ensures that:
- When one of the approval processes is rejected, the PROS quote is rejected
- When both approval processes are accepted, the PROS quote is accepted
This is achieved with an APEX trigger.
Finally, you need to setup the layout so that from the PROS Quote you can easily see what Quote Approval Routes are created, where they stand in their approval, and the ability to navigate to them. This is standard SFDC setup.
SIMPLE APPROVAL SETUP EXAMPLE
Let us present how things would work for a simple approval process where only sales people are involved.
The process is as follow:
- If a quote line discount is greater then the target discount, it goes to the quote owner manager.
- Then, if a line discount is greater than floor discount, it goes to the regional VP
Setup:
- In Smart CPQ, create columns in your quote model for "manager review required" and "VP review required". You may also create a page with a grid showing all lines breaking a rule. This will facilitation the sales rep understanding of what rules are broken, and what the consequences are. This will also facilitate the reviewers job of figuring out
- In Smart CPQ, create a field for "manager review required" and another for "VP review required" that aggregates the column values
- In Smart CPQ, leverage ARMs so that the quote cannot be changed when it is locked
- In Salesforce, create a field in PROS Quote for "manager review required" and another for "VP review required"
- In Salesforce, create two fields for Manager Reviewer and VP Reviewer. Build the logic to populate these fields with the right manager reviewer based on the quote owner, and the right VP based on the quote Region.
- In Salesforce, create a standard Approval Process with two steps. You will use the fields created above.
BEST PRACTICE - LOCKED QUOTE
As explained above, we recommend driving standard Salesforce Approval Processes from fields calculated by Smart CPQ, then synchronized to the PROS Quote object. One thing to avoid at all costs is submitting a quote in one state, reviewing in another state (different data), then issuing the
quote in yet another state.
This mean that once a quote enters Approval Process, the data in the quote should not change. For this reason we strongly recommend that the CPQ PROS quote is locked from the moment the SFDC PROS quote is submitted to the moment it is Approved. When setting up an Approval Process in SFDC, make sure that once a PROS Quote enters the Approval Process it is locked. This will lock the SFDC PROS Quote object during the Approval Process.
Then, leveraging User Permissions you should ensure in your CPQ Quote model that when the PROS quote is locked, data cannot be altered, and synchronization is not possible.
See Data flows - CRM to see how to pass the "locked quote" information to CPQ.
