Retention money is the part of your total receivables which is held back by the Customer till the contract is completed.
Suppose the contract is for Rs.20 Lacs, and u have completed the work under the contract, then u will bill the customer for 20 Lacs. Now out of this 20 Lacs if 10% is retention amount U will simply have to show this retentio amount separately in ur books under Debtors.
Retention will only affect the timing of receipt of money, it will not affect ur sales accounting.
So U will book sales in full as per the bill raised. Retention will not affect that.