Recurring Invoice - Expire prepay AFTER recurring runs

I invoice clients in advance on a monthly basis. Contracts include a number of bucket prepay hours. If a client exceeds that allotment, I bill them for the overage beyond their bucket hours at the end of the month. Therefore, each month’s invoice drops on the last day of the month and includes overages for the ending month and advance charges for the upcoming month.

However, in the recurring invoice template, it only gives the option to expire hours BEFORE the recurring bill runs, however, what I really need is for them to be expired after pending ticket time is added. Otherwise, it seems like the pending charges deduct from the incorrect bucket.

How do I solve for this?