Microsoft Dynamics CRM 2011 Workflow Based Approval Process implementation – Part 1
In this and in the following two posts I will address the common problem of implementing an Approval process using Microsoft Dynamics CRM.
While this post will describe the business scenario and problem, the next posts will suggest a possible solution and an actual implementation. You are welcomed to add your take on the problem or the solution.
In many business applications an Approval process is required. Approval process often involves different users with different business roles approving a decision or a business record in a parallel or linear manner. One common example is the approval of a Quote which is created by a Sales Person. The Quote usually includes a discount rate, which in some conditions requires the approval of the Sales Manager. Before the Quote is sent to the customer, it sometimes require the approval of the CFO.
This linear Approval process involves a business record (the Quote), different business roles (Sales Person, Sales Manager and CFO) and an hierarchy which dictates the order of approvals. In case the Sales Manager or the CFO rejects the requested discount rate, the approval process will return to the Sales Person for review with a proper notification.
Here are the problem’s main characteristics:
- Each of the involved employees should be able to find out the stage in which the Approval process is at.
- Involved employees should be notified on tasks which require their attention, even if they do not login to the application.
- The process should behave intelligently if some stage has exceeded a certain amount of time. For example, If the CFO has not responded in 3 days, a proper notification should ne sent to the Sales Person.
- Approval process is asynchronous in nature and should ‘wait’ for the next user input without consuming expensive system resources.
- The process should be flexible, so it can be easily adjusted to an ever changing business requirements. For example, adding another approving role or an additional Quote related condition.
- The process should be applicable for Online and On-Premise deployments.
In the next post I’ll suggest a possible solution. Tune in!