When there is a projectcontract with over more than 200 Contractlines, the generation of an invoice is not always possible due to a time-out. With every contractline for a different project customer the system creates a projectcustomer line for a billing percent of 0. This means when you are creating an invoice the system will make an invoice of 0 and also deletes this invoice. In my opinion the system should not generate these zero invoices and only have to look for billing percentages higher than 0.
This issue has been acknowledged by Microsoft and they ran a script to solve this issue for two projectcontracts (over 300 and 500 contractlines):
"I would like to share a bit more information, regarding the overall advise coming from the product team on the creation of many [Project Contract Customer] and [Project Contract Line Customer]] records that have 0 in the [split billing percent].
The advice is that they should not be created as they do not result in any Actuals and no invoices are kept for them as once a contract is invoiced, the system will try to create invoice for each customer listed in the [Contract Line Customer Customer] record, realize that invoice has 0 amount, and no invoice line details to invoice then delete that created invoice. As result of the above-mentioned steps, the overall invoice creation process for contract will suffer great performance hit."