When a customer pays you in advance, we have a few words for it, starting with, “fantastic!”
We call these retainers, customer deposits, pre-paid revenue, or revenue paid in advance. I’m sure you could increase the list!
Bottom line on customer deposits (or whatever you call it) is that you have a liability to record, and you want to track that through an invoice, so that you can invoice your customer for it.
Then we need a way to manage the customer deposits account, so we can quickly determine, who has how much on deposit with us. We also need to be able to prove how and where those deposits are applied.
The management part will be handled through the reporting.