Reconcile advance payment without invoices


In my business, when a customer wants to rent something from me, he has to pay 20% of the value of that rent upfront. If he wants to cancel after 3 days of booking that rent item, he is not allowed to get his money back but has to stay as points in his account for 6 months to be used for possible rent in those 6 months.

If that Advance Payment does not get used in 6 months it should be cleared from the customer’s accounts. How would I do that without affecting my Accounts Balances?

in short the process looks like this:

1- Customer Books a rent with advance payment
2- Advance Payment recorded in my Main Business account
3- Customer cancels his booking but Advance Payment stays (not refunded)
4- After 6 months of Advance Payment not being used: clear it from the customer’s account, but without affecting the balance of the Main account of my business because it was already recorded there in step 2.