Often in business, you require multiple levels of approval from decision-makers for certain records and requests. It becomes tedious to filter the records and send them for approval manually. The Approval Process add-on for SuiteCRM simplifies this task by automating the entire approval process.
Admin Guide
How to build Approval Process in SuiteCRM?
- Setup Approval Process
- Create Rule Entry
- Specify the rule criteria
- Provide the approver users and notification template
- Specify Record Editability
- Action on Approval
- Action on Rejection
Let's create an approval process for an opportunities records which are of type New Business and discounted more than 30%.
1. Setup Approval Process
- Open the module Approval Processes.
- In the Approval Processes ListView, click Create Approval Process.
- In the Create Approval Process, enter the approval Process Name and Description
- Select the module for which the Approval Process should be set
- Select the Active check box
- Select the option for Approval Execute At, based on that approval process will be executed (A) Record Creation: When a record is created at that time approval process will be triggered (B) Record Edit: When a record is edited at that time approval process will be triggered
- Save the record
2. Create Rule Entry
- After creating Approval Process, on the DetailView of it click on Create Rule
3. Specify the rule criteria
- Rule criteria is used to identify on which record the approval process will be apply. You must have to add the criteria for record approval. You can select fields, operator and the value associated with it as per your requirement.
4. Who Should Approve
- For the approval process execution, you can assign the approval requests to different users. Select Reports To,User or Round Robin from the dropdown list. (A) Reports To User: Assign approval request based on the organisations user's reports to. Fits best where you want the approval from person whom the user reports to. (B) User: Select the system user. Where you want to assign the approval request to specific user. (C) Round Robin: Select ALL Users in Role or ALL Users in Security Group to assign the approval request. When approval request is assigned, the user from the role or security group become the approver.
Click the Add icon to include more users for approve. If more than one entry exist into the approver then you will have the following options.
- Anyone:If you want only one user to approve among the selected approver then select this option.
- Everyone:If you want each user to approve then select this option. You can allow users to perform action either sequentially or parallelly.
- Everyone-Sequential:All the approvers need to perform action into the sequence. Once first user approves then and then only second user will be able to approve.
- Everyone-Parallel:All the user need to approve. Approvers will perform action into the random order. There is no sequence into which they need to perform the action.
Notification Template: This template will be used to notify approvers when the approval request will be assigned to them. The same template will be used for all the approvers for the current approval rule.
5. Record Editability Properties
- When record is in approval process no one can edit it except administrators. It will be locked until approval process is not complete. However you can also allow the currently assigned approver to edit the record.
6. Action on Approval
- You can define the various actions on the approval. There are 2 options mainly on the approval action as follows.
A. Configure action after each approval:This option allows you to update the module fields only. The system will update the fields to the mentioned value provide for each approver.
As we have selected two approvers thats why system will ask for fields to update for two approvers. Also you can provide multiple fields to update in each approval. B. Configure action after final approval:This action will be executed after all the approvers has been approved the request assigned to them. This option allows you to update the module fields as well as email alert to CRM users,primary module record and relate module records. You can also send an email alert to additional recipients. System allows maximum 3 additional recipients.
We have selected the Opportunities module in an example so all the relate module related to it will be available in email alert. Thats why we are able to select the Account related to opportunity as email recipient.
7. Action on Rejection
- This action will be executed if any one approver has been rejected the approval request. This option also allows you to update the module fields as well as email alert to CRM users.
Let's see in action how Approval Process works.
- System user Max Jensen has created an Opportunity record as follows.
- Now as per the rule criteria we have defined earlier, system will triggered approval process and so this opportunity record is locked and waiting for approval. Also Max is regular user and that's why he is not able to do any changes into the current record.
- In the approval rule we have selected 2 approvers sequentially. Based on that first approver Jim Brennan will get the approval request alert as follows.
- Let's login with Jim Brennan user.
- The approvers will take necessary actions from the opportunity record itself or from the Approval Jobs module. (A) Locked Record DetailView:Approver will take the necessary actions from the link "Respond".
- Once he clicked on it, popup will open as follows from where he can Approve,Reject or Delegate the request.
(B) Approval Job:When any record comes into the approval at that time by default approval job with the status "Submitted" is created. Subsequent jobs will be created as per the rule we have set. We have set the rule in which everyone has to approve sequentially. That's why Approval Job with the "Jim Brennan" has been created only right now. Once Jim Brennan will approve the request then subsequent request will be created with user "Will Westin" and so on. - Now Jim Brennan access his job to approve. It will look as follows. He can also Approve,Reject or Delegate the request from here.
- Jim Brennan approve the job.
Once actions has been taken by the approvers then that request is completed and no one can allow to change anything for that particular request. You can see in the above image that all the buttons are removed and message with the actions performed by the approver has been display.
- As per the approval rule defined, we have selected the fields(Sales Stage,Probability (%) & Next Step) to update. Have a look into Opportunity record that those fields are updated with the value we have mentioned. Now the record is waiting for the approval from next approver that is system user Will Westin as per our example.
- The next approver will also get the approval request alert as follows.
- Let's login with the next approver(Will Westin) and he is approve the request from the record's DetailView.
- The selected fields(Sales Stage,Probability (%) & Next Step) are also updated for this approver. Once last approver mark the request as approved the locked has been released from the current record and it is available for editing.
You may notice the field updation once all the approval requests gets approved. We have selected the fields(Expected Close Date and Description) to update once record is finally approved. So those 2 fields are also updated as mentioned into the above screenshot.
As the record is finally approved all the email alert will be sent to requester,system users,additional emails(if any),record itself or it's related module as per the setting we have done into the rule.
- Final Approval Email Alert - Requester
- Final Approval Email Alert - Related Module
- Final Approval Email Alert - System User
- Final Approval Email Alert - Additional Recipients
Let's see what happen when approval request got rejected.
- We will take same approval rule we have considered into the previous example. System user Max Jensen has created an Opportunity record as follows.
- As per the approval rule system user Jim Brennan got an approval request and marked it is approved.
- Now next approver(Will Westin) got an approval request. As customer ask for 45% discount he is delegated the approval request to other user(Sarah Smith). The delegated users will also get an email alert about the approval request assigned to them.
- Approval job will be look like as follows.
- Delegated user(Sarah Smith) will be login into the system and reject the approval request.
- As the approval request is rejected, message will be displayed on the opportunity record as mentioned below. System user can also resubmit for approval from here itself.
You may notice the field updation once the approval requests gets rejected. We have selected the fields(Sales Stage & Probability (%)) to update when anyone rejected the approval request. So those 2 fields are also updated as mentioned into the above screenshot. - Email alert will also be triggered when request is rejected. As per the setting into the rule, requester and it's manager(Reports To) and all the system user which has approved their respective request will get an email alert. In our case requester is the Max Jensen who is reported to Sarah Smith. So they got the rejection notification as follows. - Rejection Email Alert - Requester
- Rejection Email Alert - Requester's Manager
- Rejection Email Alert - User who approved their request
Approval Request with Everyone Parallel.
- All the users need to approve. Approvers will perform action into the random order.
- There is no sequence into which they need to perform the action. Look at below, user Will has been approved his request first though it is mentioned last into the approver section.
Approval Request with Anyone approver.
- If you want only one user to approve among the selected approver then select this option.
- When anyone approver approved or rejected the approval request then all the other approval requests became void. No need other system users to take any action on their respective approval request.