Workflow is a very key feature in Microsoft dynamics 365 finance and operations, and this is available for every module to perform different approvals based on certain rules. So, if you have worked on workflow then you would have seen different options to assign the “Approver”, so in this blog series I will try to explain about different types of workflow assignment. So, let’s start:
There are following types of assignment for any approval step in workflow:
- Workflow user
I will try to explain the use of each assignment type with some scenario, in this blog we will talk about “Hierarchy” type of assignment.
There two types of Hierarchy based assignment possible:
Note: I am using Purchase requisition as example, but this will be applicable for any workflow.
Managerial hierarchy works based on employees/worker reporting hierarchy in the organization. This option is used based on position definition where one position reports to another position.
Let’s understand from a scenario:
Scenario: Lets say we have two different position in our organization
- Warehouse worker
- Warehouse manager
In this warehouse worker position reports to warehouse manager, so our requirement for “purchase requisition” workflow is whenever warehouse worker submit the request it should go to warehouse manager for approval.
So, lets see how we can achieve this:
Step-1: Create workflow approval step using Hierarchy
Procurement and Sourcing > Setup > Procurement and sourcing workflow > Purchase requisition review workflow > Open > Select approval step > Click on Properties/assignment select “Hierarchy” > Click on Hierarchy selection > Select Managerial Hierarchy
Step-2: Select Start from condition
Here we need to select that from where hierarchy option will start
Step-3: Create position warehouse worker and warehouse manager and map workers
Human Resource > Positions > Position > Create new
Step-4: Map “Report to Position
Here as per our scenario on warehouse worker report to position will be warehouse manager
So that means John (Warehouse worker) will submit purchase request which will go to Ellen (Warehouse manager) based on this setup.
Advantage of using this rule is that tomorrow if you have addition/deletion in worker or change in report to position then you can manage everything without editing workflow setup.
This is like managerial but in this we can define our own hierarchy based on position hierarchy and attach to the workflow.
Scenario: Let’s assume for above workflow there is next approval require for the purchase requisition for the warehouse worker after manager approval is the “HR Director” Approval. Now this mapping is also based on position, so lets see how we can achieve this:
Step-1: Create workflow approval step using Hierarchy and select Configurable hierarchy option
Add this step as next approval step in above workflow only .
Step-2: Create Position Hierarchy type
Human Resource > Position > Position Hierarchy type
Step-3: Define relationship of Position Hierarchy type to warehouse worker
Step-4: Associate this position hierarchy to workflow
Procurement and Sourcing > Setup > Procurement and sourcing workflow > Purchase requisition review workflow > Click on Associate hierarchy
That’s it on the configuration part. As a result of this workflow setup you will have following configuration:
PR workflow with two level of approval, first level will go to “Reporting Manager” and second level will go to base on “Position hierarchy” as defined with “relation on worker.
So, when Warehouse worker will submit first it will go to warehouse manager and then to “HR Director”
That’s it for this blog, hope fully this will help you to define workflow based on hierarchy.
Thank You !!! Keep reading and sharing.
Thank You Nikesh Kurhade for helping in writing this blog !!!
[…] https://exploredynamics365.home.blog/2020/11/27/workflow-assignment-hierarchy-based-approval-in-micr… […]
LikeLiked by 1 person
[…] Part-1 and Part-2 […]
Hi Thank you for this help. i have an issue, i have a worker with multiple positions assigned to him,but workflow doesn’t submit to he appropriate position assigned rather it submits to the primary position
I think, one worker should have only one position