Download PDF
Download page Configuring Approvals for Agreement and Related Objects.
Configuring Approvals for Agreement and Related Objects
Configuration Overview
Approvals Management supports the Approvals and My Approvals pages out of the box for any object. With minimal configuration, you can set up both of these pages for any object and its child objects on which approvals is configured. This new capability overcomes the need for create custom Visualforce pages and Controllers for enabling approvals on any object, thus significantly simplifying the approval setup on any object and its related child objects.
Although these pages are now available out of the box, you have to configure Approval Required Check. You can get the Approval Required Check with the main Approvals Management package.
To create an approval process for Agreement header fields, Agreement Line Items, Agreement Term Exceptions, and Agreement Clauses, consider the following use cases for each of the Agreement objects.
For each of the following scenarios, you can view the Approval Requests, Approval Status and the changes in the header field or agreement clause for each approver on the My Approvals and Approvals home page.
- Agreement header fields: You can set up an approval process and subsequent steps on the Agreement object to initiate an approval request for various scenarios, such as the total agreement amount > 10000, or Agreement type is MSA, an approval request is sent to the CFO of your company. Create an approval process for the Agreement header fields.
You can configure a child process for the following objects.
- Agreement Clauses: You can also initiate an approval request when any change is made to the clause of an agreement document. This is required when you want to ensure that all the changes which your customer makes to the existing clauses are approved before finalizing an agreement. It might be possible that your customer changes the Agreement Start Date and your CFO wants to approve the change before finalizing and signing the agreement with your customer.
For example, the agreement document contains a Warranty clause for 6 months and your customer wants to extend the warranty period to 1 year. Once your customer changes the period in the Warranty clause, you can set Approval process for the change in the Agreement Clause record.
An Approval with Agreement Clause is useful when you want to track addition of a new clause, modification of an existing clause or deletion of an existing clause from your agreement document. This can be done by tracking the Number of Clauses field of the Template object.
- Agreement Clauses: You can also initiate an approval request when any change is made to the clause of an agreement document. This is required when you want to ensure that all the changes which your customer makes to the existing clauses are approved before finalizing an agreement. It might be possible that your customer changes the Agreement Start Date and your CFO wants to approve the change before finalizing and signing the agreement with your customer.
- Agreement Line Items: With the help of Approvals and Contract Management, you can also create approval processes to track any changes made to the Agreement Line Items and accordingly initiate an approval request.
For example, when your customer changes the price of a product listed in your agreement document, you might require your manager to approve the change before the agreement is finalized.
Also, if there are addition or deletion of Line Items in your agreement document, and you want the higher authority to approve or reject the changes, Approvals can be used.
- Agreement Term Exceptions: It is also possible to initiate an approval request when a clause, associate with a term exception is checked in from X-Author Contracts.
An Approval with Term Exception is useful when your customer is requesting a change in an existing clause which requires approval from the CFO of your company, and this clause is specific to a single customer.
Considering the above example, if you renew an agreement for a specific customer and your customer wants to enter a new clause. In this scenario, you want your Legal team to approve the new clause before adding it to the renewed agreement. So, you add the new clause, associate it with a term exception and define an approval step of type child process.
After the Approvals package has been installed, there are Setup configuration options that can be changed. By default, the package installation sets up the majority of the application to be used as is; however, some organizational specific options can only be configured after the installation. Some post-package installation configuration must be done to best maximize the features available in Approvals. There are also default settings that you may want to change, to better suit your business.
This section provides the workflow and the sequence of actions you have to define to enable Custom Object Approvals for Agreement and its child objects.
To do... | How to define... |
---|---|
Install required packages | Install the latest approvals and dependent packages. |
Adding Values to Approval Picklists | Add object names to processes, rules, and dimensions. |
Approvals System Properties | Create a record in Approval System Properties and enter the requisite details |
To configure custom object settings | Create a record in Approval Custom Config for the primary custom object. Set up the Context Type as follows:
|
Add pick list values for approval fields |
|
Configure Approval Required Check Settings |
|
Configuring Approvals and My Approvals Page | You can now enable Approvals for your context object by configuring the following 2 buttons and placing them on your object record’s page layout.
|
Setting Up Email Templates and Alerts | While provides default email templates for approval requests, if you want the emails to have attachments or have your own specific content, you must customize the templates. |
Set up Approval Process | Configure Approval Process
|
Setting Up Approval Rules | Create Approval Rules for each Sub Process and Child Process if you have multiple approvers for a process. Configure Approval Rule criteria. Select Approval Rule Type as Condition to use Auto Re-approval conditions. For each step in sub-process or child process, create approval rule entry, step label, Approval Condition, Auto Re-approval Condition, and Assignee, and step dependency. |
Setting Up Backup or Delegate Approvers | Backup approvers are required to 'catch' approval requests whose assignees cannot be identified and ensure approval processes progress as expected. |
Setting Up the Backup Administrator | The backup admin user is responsible for handling routing issues that may occur during the approval process, while admin profiles enable you to associate users — via their roles — with admin level access to Approvals. |
Set up Page Layout for Primary Object | Add Approvals and My Approvals buttons to primary object layout. |
Optional Configuration
Auto-Escalating Approval Requests | When an approval request is not approved, rejected, or reassigned within the allotted time, it can automatically be reassigned to a new approver so the approval process can continue. |
Changing Approval Rule Step Behavior | Typically steps that cannot identify an assignee are sent to the backup administrator; however, you can change that behavior and have the those steps skipped instead. |
Changing the Assignee Search Page Results List | This controls the number of assignees that can be displayed on a single search page. Typically the default value of twenty is suitable for your organization, but you can increase or decrease the value |
Creating Approval Matrices | Matrices are used with Global Discount Policies to route approvals to users based on system wide default discount percentages. |
Approval Request History | When an approval process is initiated — by submitting or resubmitting an approval — for an agreement, term exception, or opportunity, an approval history record is created. The Approval request history Object comprises information for old approval requests such as, the approval status, the date of the request, who it was assigned to, and who the actual approver was. |
Submitting a Request with Attachments | Enables you to submit your approval request with an attachment. To submit a request with attachment, ensure that you have created custom email notification templates and specified the name of each of the templates in the Approval Process of the object. |
Approval Submission Comments | Approval submission comments enable you to add personalized comments when you submit an approval request. You can have a single comment at the process level or up to three comments at the step level. |
Child Filter Objects | From 7.0 onwards you can use a child process to configure approvals on child objects. However if you wish to create approval steps based on child object fields, you can use custom child object fields. Create an child filter expressions to filter the records based on child object fields. |
Reporting on Approval Request Channels | As approval requests can be completed within Salesforce or outside of the system via email, this feature provides a way to identify which of the two is used for each approval request. |
Opportunity records and ACM | When Advanced currency management (ACM) is enabled in your org, you cannot have any Opportunity record fields of data type currency in your email templates or approval summary page. |
Best Practices
This section comprises the best practices to be considered while defining your approval processes.
Consolidate Notification? | Consolidated Approvals? | Behavior |
---|---|---|
Yes | No | Requests go on-hold if there are additional requests pending for approval. Once the last request becomes available for approval, all the requests for the assignee get assigned. A user gets only one email notification for approval. |
Yes | Yes | Requests go On-Hold if there are more requests pending for approval. Once the last request becomes available for approval, only one of the requests for the assignee is assigned. All other requests remain On-Hold. What ever action user takes on an assigned request is propagated to all other requests. A user gets only one email notification for approval. |
No | No | Requests never go On-Hold. Requests are assigned to the assignee as and when requests becomes available. A user gets a separate assignment notification for each request. |
No | Yes | Not Supported. |
Area | Detail |
---|---|
Multiple Approval Processes | When to use multiple approval process? When you have Region Based Approval variations, Business Unit Based Approvals variations, Channel Based Approvals variations. How do I configure multiple approval processes? Define mutually exclusive process entry criteria so that only one process is selected for a given primary object instance. Why do I configure multiple approval processes? Having multiple approval processes reduces number of approval steps/criteria system needs to execute |
Approval Rule Entry Criteria | Specify minimum approval conditions in Approval Rule entry criteria for Sub Process or Child Process steps to avoid the evaluation of all approval rule entries every time. |
Approval Required Check | Provides users visibility to whether approval is needed for header or line items without executing the entire approval process. Provides a mechanism to avoid approval process evaluation for a large number of scenarios. |
Types of Approval Steps and when do I use them?
- Standard - This is the existing method for creating header level approval steps.
- Sub Process - This is used when you want to select approval rules that are associated with the header level context object of the approval process. The assignee types are derived from the Approval Rule. Create a Sub-Process when you have multiple approvers for a set of criteria instead of defining multiple Standard steps for each criteria.
Child Process - This is used when you want to select approval rules that are associated to child objects of the approval process header level context object such as you want to define an approval process for Proposal and Proposal Line Items. The assignee types are derived from the Approval Rule. Use a child process instead of a Subprocess and Standard step type when you want to populate the Approval request with the child object line items to be approved, such as Proposal Line Items.
Note
If you select Rule as an Assignee Type, the approval request is sent only to the first user that satisfies the filter criteria in the Approval Rule. If you have multiple approvers in a sequence, only the first approver is selected and assigned.
It is recommended that you use conditional criteria instead of Approval Dimensions and Approval Matrix while creating your approval rules and processes.