As per my understanding retention is holding back certain amount on the invoice from the supplier till the entire service is received
So it can only happen in Payment scenario i.e. by the person making/initiating the payment. (Billing for 100% and payment is 90% assuming 10% retention)
What is use of retention billing in projects which is used in customer invoice. Can you explain the business scenario/case where this is required
As per Customer's instructions or Organization's decisions we can hold the amounts. In our case we are holding Tax amounts for the Customer.
Retention is a provision in a contract to hold back a portion of invoiced amounts for the duration of the project. Oracle Projects enables you to set up withholding and billing terms for retention, invoice retention amounts, and account for unbilled retention.
Retention provisions in contracts can vary greatly. Contracts may require that the withholding and billing of retained amounts for a project customer be managed at either the project or top task level. Contracts for work-based billing may require that amounts be withheld by expenditure category, while those for event-based billing require that amounts be withheld by event category. Contracts may also include a variety of conditions for the billing of withheld amounts.
For each project customer, you can define retention terms at either the project level or the top task level to reflect the granularity of the terms specified by the contract with the project customer. You cannot change the retention level after an amount has been withheld for the project customer.