So why we have to prepare a full invoice for that and pay tax on that full invoice upfront? Many countries have tax rules where supplier of service is liable to pay tax on confirmation of sales, which is based on the amount received or based on the invoice generated.
In case of big project or contracts it is better to prepare an invoice with partial product (in this example i use Advance Payment as a partial product) and adjust later on when full project or contract completed, till that time we can pay tax on what amount we received in bank.
To deal with such business cases, advance payment is useful.
In case of contract where supplier have to supply material for a time being it is very easy to manage invoice based on the Warehouse rather then advance payment. OpenERP is allows you to prepare an invoice based on what you are going to deliver to you customer.
Your valuable comments are invited on this functionalities.