We can avail only 1 hierarchy field (Manager or custom hierarchy field) for defining the approver in an approval step. If I have to setup 3-level approval process for opportunities or expense reports then I have to
Define my approval matrix on a separate custom object with the Associated User, Approver_2 & Approver_3 fields
Create 2 custom lookup fields to user on Opportunity: i) Approver_2__c & ii) Approver_3__c (Given Manager is the first approver)
Create the 3-level approval process in the setup, define Manager as the Level 1 approver
and for Level 2 & Level 3 approvers use 'Related Field' on the object to be approved
Write trigger on before insert, before update events to set the Level 2 approver & Level 3 approver on the opportunity
I believe if Salesforce allows custom hierarchy fields to be availed in defining an approver in an approval process just like we can define manager as an approver it would have saved lots of maintenance and resources.
Any alternate thoughts ?