Prepaid items and discount

I have a customer that prepays 40 coffees, he does this every other month. Because he is paying ahead, I also give a discount.

Does anyone have a sugestion on how I can solve this?

Just use customer accounts, create an account then the customer can pay 40 or what ever amount onto the account

Put your sale through as normal, apply and discounts then add the customer to the ticket, go to payment screen and select account as payment method

This is already built it so you dont need to create anything and this would probably be the most simplest way