As of lately, I was involved in a discussion with a customer who faced performance issues when creating project invoice requests (PIRs) for projects linked to fixed price sales order items.
It turned out that the PIRs created were the 10th or so iteration in a series of monthly PIRs and that the customer never assigned expenses (time recordings, travel expenses,…) to individual fixed price PIR items ( = PIR items linked to a fixed price sales order item) before. And: we were not talking about 10s or 100s of expenses, but about a few thousand new time recordings every month!
My recommendation was to assign all previous and current “fixed price-relevant” expenses to a fixed price PIR item during the next PIR creation cycle.
When you do so, there is no influence on financial reporting and especially not on revenue recognition. Revenue recognition only considers assignment information for time and material items. Of course, there is also no influence on billing.
But, since the run time of PIR creation scales approximately linearly with the number of unassigned expenses, you would get some considerable performance gain.
Plus: The response time in the “Not invoiced time and expenses” work center view will be quicker, too. Here as well, the number of expenses not (yet) assigned to a PIR item determines the performance.
Now you might ask: Couldn’t the system automatically assign the “fixed price expenses” (expenses that have been recorded with respect to a task linked to a fixed prices sales order item) to a fixed price PIR item?
Valid question! Yes, the system could do so!
This was, however, not implemented so far since there would be a different behavior for those customers using mixed fixed price and time and material sales orders. The rationale behind the current behavior is flexibility in invoicing and the need for a conscious decision about how to invoice the expenses.
As of now, it is not planned to implement this change.