It also means that you customers agree to send money without getting any invoice… good for you !
Frankly speaking I’m sorry to insist but “deposit invoice” process seems the most suitable.
You receive a payment then you make a deposit invoice… once service has been completed so you convert that deposit invoice in future discount.
Then you make a new regular invoice for the total amount of the service, in that invoice you deduct the discount so the amount to be paid (stated at the bottom of the regular invoice) will be the balance only.
You can follow up and track payments received per customers (deposits and settlements)…
Then try as well to play with the variable FACTURE_DEPOSITS_ARE_JUST_PAYMENTS as it will behave differently in your accounting (cf: http://wiki.dolibarr.org/index.php/Setup_Other#List_of_known_hidden_options)
If you’re not happy with that I wish someone else will propose another solution.
Regards.