This content has been marked as final. Show 2 replies
You may consider using billing extensions that will separate the invoices by sub tasks. However, to acheive that you will need to run in a loop the GDI for the same project. After first invoice is generated with only one sub task. you will need to approve and release it, and only than you could go on and run GDI again for the next sub task, and so on.
If the company agree that draft invoices will be automatically approved and released, you might consider using the automatic release client extension, to facilitate the cycles.
In order to get a separate invoice per sub-task you should develop an extension that will be called on PRE-Processing place.
That extension will check the available unbilled expenditures and verify if there are EI's in more than one sub-task. If so, select first sub-task and put one-time hold on all other sub-tasks' expenditures.
The extension for automating approval/release of invoices is called by GDI after the draft invoice is fully prepared. You can
develop your own logic for the conditions where invoice should be approved or released.
Just note, if you leave several invoices as approved, you will need to release them by the order they were created.
In the example of multiple sub-tasks on the project, the pre processing billing extension will leave EI's on sub-task 1, and all other tasks' expenditures will be put on one-time hold. Those the draft invoice will include only the sub-task 1 transactions.
The next GDI in the loop will not find sub-task 1 transactions, so it will pick sub-task 2 and all remaining transactions on other sub-tasks will be put on one-time hold. The second draft will include only sub-task 2 transactions.
The next GDI in the loop will not find sub-task 1 and sub-task 2 transactions. Therefore, next draft invoice will include the next sub-task. When no more sub-tasks'' transactions are available the draft invoice gets empty.
The automation can go further if you have many projects with that same requirement. You may develop a custom program that call the GDI in a loop for a single project, untill there is nothing more to bill there, then go on and call GDI in a loop for the next project, etc.