Approval Application

  • 3 January 2017
  • 8 replies
  • 2 views

Badge +2

Hello,


I'm developing a Invoice approval application,

I have created a Invoice list, Approver & Supervisor list and task list.

Here is my requirement.

1) Preparer select approver(s) then submit the request.
2) Approver(s) can delegate task to multiple person(s).
3) If the task is not completed, send reminder to approver after 5 days. If the task is not completed after 10 days escalate the task to supervisor (comes from a list).
Once all approver(s) approve the request mark the request as completed, if not reject the request.

Appreciate if anybody can guide me .

Thank you.


8 replies

Userlevel 5
Badge +14

1) Preparer select approver(s) then submit the request.

define people&group on your list let populate by 'preparer' on list form.

selected peoples will be task assignees in workflow

2) Approver(s) can delegate task to multiple person(s).

use flexi task action in workflow. configure it to allow task delegation.

if configured, there will by default appear 'Delegate' link on flexi task's action  task form. by that link Approvers will be able to delaegate the task further on

3) If the task is not completed, send reminder to approver after 5 days.

there is a 'Task Notification' tab in flexi task configuration dialog. there you can define notifications acc. your needs.

If the task is not completed after 10 days  escalate the task to supervisor (comes from a list).

there is as well 'Escalation' tab there, where you can define escalations

Once all approver(s) approve the request mark the request as completed, if not reject the request.

configure flexi task to behaviour to  'All must agree'

Badge +6

1) Preparer select approver(s) then submit the request. Soln : Make the column in your list as person or group, so that you can select from the AD

2) Approver(s) can delegate task to multiple person(s).Soln : Use Assign Flexi-Task WF action so as to start a task process for the approver.  Now , configure the Flexi Task 
a) Set the approver to Approvers from the list

b) Tick the check box "Allow Delegations"

Allow Delegationss

3) Under Reminders tab , set the time interval for reminders 

Reminders

4) Under the Escalations tab , select the drop down to Complete Task , where you can enter the name of the persongroup as supervisor

Escalations

Under the Action Tab of "Assign Flexi-Task" you will find options like 
            1. First Response Applies

            2.Majority Must Choose Specific Outcome

            3.All Must agree on specific Outcome
            4.Majority Decides

            5.All must Agree      

                  Now Select "Majority must choose specific Outcome".

All Must Agree

That's all for , Test the scenario . It works perfect happy.png 

Badge +2

Thank you Marian & Bashya for the prompt response.

Could you please answer for below questions?

How can i delegate to multiple persons on the flexi task? 

How can i escalate to respective approver's supervisor?  (On the escalation tab)

Scenario: 

Prepare submit a Invoice 1 and selected approver(s) are Person A, Person B. In the task list 2 tasks are created for Person A & Person B. Now person B wants to delegate the his task to (Person C & Person D). 

Escalation: After 10 days i want to delegate, if person C & Person D not completed their tasks, i would like to delete their task to (Person C => Supervisor C, Person D => Supervisor D). I would like to pull the supervisor name from below sharepoint list.

Please help me.

Userlevel 5
Badge +14

How can i delegate to multiple persons on the flexi task? 

if you want to do it by design then populate as many people as you into 'Delegate to' field.

if it should be approver's decision then you have no control over it at design time. it's up to approver's responsibility.

How can i escalate to respective approver's supervisor?  (On the escalation tab)

if you have set up approver -> superior relationship in AD you can directly use {Common:Approvers Manager} reference.

if you have it in a list you have to first query the list for respective approver(s) and store it into a variable. the you set "delegate to' to that variable

Badge +6

1.How can i delegate to multiple persons on the flexi task? : Soln :  Create a SharePoint Group for Supervisor and add multiple persons to it , so that you can delegate the task to multiple users.

2.How can i escalate to respective approver's supervisor?  (On the escalation tab) Soln: You cannot escalate to specific person under Escalations tab,. There is a small work around for this.

Ex: a)You have a list with all approvers and their corresponding supervisors.

b) Using Query List WorkFlow Action retrieve all the approvers and their respective supervisors and store them in workflow variables .

c) Now you have all the Approvers and their Supervisors , hence you can use them wherever necessary. !!!

Badge +11

‌, did any of the solutions above help you? They did an excellent job giving you details. If they helped you, can you please mark it correct. That way other users can use this if they have the same question.

Thanks,

Lisa

Badge +2

Thank you for your reply.

1) I can't use the groups because as i have 150 approvers and supervisors in the list. The preparer may select N number of approvers. Which creastes N numbers of Tasks. 

As you mentioned above, I'm using Query List action and pulling the supervisor(s) name for specific approver  and storing in a variable. I've two questions here.

Scenario: For Invoice 1, Flexi task has created two tasks called Task A & Task B. Task A has been assigned to Approver 1 & Task B has been assigned to Approver 2. I 've created two variables to store supervisors for escalation. Using query list, i assigned Variable 1 to Supervisor1 and Variable 2 to supervisor 2 name. After 10 days, how would i deletgate Task A to Supervisor 1 & Task B to Supervisor 2? Based on my understanding the escalation tab, only escalates the task A & Task B to just one person. Is there any work around to delegation? 

Please help.

Userlevel 5
Badge +14

this is not possible (OOTB).

flexi task action can escalate to several people/groups, but it does so for all the tasks which it created (and which are not responded yet). however, if you choose 'create individual tasks' it does not provide possibilities to escalate every single individual task to different escalatee (since at design time it is not posssible to identify how many tasks will be created).

so in your specific case you would be able to escalate both taskA and taskB to either or both of supervisor1 and supervisor2. but not taskA to supervisor1 and taskB to supervisor2

if you really need to implement such a complex escalation logic as you described you will need to develop it on your own.

Reply