I understand you want only one WORKFLOW process.
You might want to consider switching the calling event, and use the WF for releasing the invoice.
If that method is acceptable, use the approval/release client extension called by GDI to generate the draft invoices as approved. Then the WF will be called and completes with releasing the invoice.
I understand from your solution that ..... We use Invoice Actions Client Extension 'Approve Invoice' procedure to Auto Approve every invoice and 'Release Invoice' procedure to kick off the workflow.
Once Approved through notification, the workflow returns a value to 'Release Invoice' procedure which returns value to GDI to mark invoice as 'Released'. Am I correct ?
Doesn't Invoice Actions Client Extension keep the GDI running till it completes ?
If Yes then if we invoke the workflow in 'Release Invoice' process, it will keep GDI running till the workflow completes. I will need to think about shorter timeouts.
If Not then it solves my problem.
I was thinking in the direction as follows ...
1) Run Generate Draft Invoice (GDI) program.
2) During the 'post processing' phase of the GDI program, a billing extension is called which kicks off this custom workflow. At this point the invoice is created in 'Unapproved' status.
3) Workflow will send an email notification to the approver.
4) Approver Clicks on 'Approve' in the notification
5) ** This is where I got stuck. **
Now, in step (5) the Draft Invoice Status needs to be updated to 'Released'. I dont know of any mechanism to change the status of the draft invoice. Are there any options through this approach ?
Edited by: Prakash Khanchandani on 10/01/2013 18:34
Edited by: Prakash Khanchandani on 10/01/2013 22:09
I was thinking to complete the GDI with invoices on status approved.
I don't think it is a good idea to leave GDI running and waiting for users actions on a notification, since that may take hours or days.
After the GDI completes, only then you should start the workflow that will send the notification to approvers. When the last approver (if you need more than one) hit Approve on the notification, then your Workflow should call the procedure - Release Invoice.
For such solution you could build a Request Set that will include the standard GDI and then a custom script that start the Workflow.
You should not include the standard GDI as a separate concurrent on the users responsibility.
In addition, you will need to take the Release procedure that is usually called from within the GDI client extension, and customized it to be called from the custom workflow.