D365FO - Start hierarchy approval with specific worker

There are times when clients want to start hierarchy approval from a specific worker and not from the one who initiated the workflow and then traverse up the hierarchy.


  • Invoices are coming from third-party into FinOps and creating tax invoice registers
  • Setting the Approved by field at tax invoice register line level
  • AP Clerk/Administrator assigns these invoices to correct worker for approval
So, in the above scenario, the AP clerk initiated the workflow but the workflow will not go his/her line manager for approval instead it will be assigned to the owner (approved by) of the invoice.

This is what we want to achieve - add a new Start from

This Start from list get populated through getSupportedDataType() in  class WorkflowHierarchyProviderHelper

Create a new event handler class and subscribe to the delegate as shown below.

P.S. WFOwner is the custom created EDT.

class ECL_WorkflowHierarchyProviderHelperEventHandler
    [SubscribesTo(classstr(WorkflowHierarchyProviderHelper), delegatestr(WorkflowHierarchyProviderHelper, addAdditonalSupportedDataTypesDelegate))]
    static voidaddAdditonalSupportedDataTypesDelegate(Set _supportedDataTypes)

Add a new field on LedgerJournalTable and assign the WFOwner EDT to it. LedgerJournalTable is for reference as the above change is implemented for vendor invoice approval.
Comment List