Just a thought
For the advance amount being paid by the end customer, your client can account the same via FI side and an invoice output can also be generated from FI. Couple of TCodes like F-22, FB70 are there to generate FI invoice. So your first requirement of generating an invoice is fulfilled.
Now coming to monthly billing, ask your FI team to provide an Accruall G/L Account which should be assigned to an Account Key in VKOA and ensure that this Account Key is assigned in your pricing procedure. By doing so, as and when, the invoice is generated, customer would not be debited but would be posted to a special G/L Account. Depending upon the Business discretion, these accrual amounts can be transferred to normal sales account by the finance team. Not sure, whether this would meet exactly your clients' expectation but you can make an attempt and update here how FI postings are happening.
G. Lakshmipathi