You may not have that customer a year from now, or the terms might change, etc., not to mention all the technical challenges. Schedule in the future approach would not work.
I don't see any difference between the other two approaches, unless you have millions of name spaces.
I don't know how you store your data. Did you consider creating a separate table/entity for invoicing, independent of namespaces? You insert a record there, similar to your "future" approach, and create a cron job to check this table once a day/week/month. If you delete a customer or update the terms, you update this table at that time too.