How to send an invoice ahead of the invoice date

How to send an invoice ahead of the invoice date

We need to be able to create and send a recurring invoice about three weeks ahead of the invoice date. Can this be automated? How would it be done?

The scenario: We provide a service to our customers for which they pay annually in advance. We need the invoice date to match the service start date because we are on accrual based accounting, and the invoice date determines the date that the revenue is booked. Our customers, however, need to be notified about three weeks ahead that their service renews shortly. They need an invoice that is dated as of the service renew date.

Our goal is to automate a workflow that involves creating and sending an invoice three weeks in advance of the invoice date.