Schedule invoice finalization to send or charge an invoice in the future
Learn how to schedule an invoice to automatically charge or send to a customer.
Stripe offers the ability to schedule when an invoice is automatically finalized. An invoice must be finalized before sending it to a customer or automatically charging them. For example, use this feature if you want to create and fill out your invoice at a particular time, but have that invoice finalized and sent out or charged at a future time. You can edit this draft invoice up until it automatically finalizes, or you can turn off scheduled finalization if needed. At the time you schedule, Stripe attempts to finalize this invoice, which succeeds if no errors arise during finalization.
Caution
When you use a custom finalization time for invoices, finalization won’t be delayed because of invoice.
webhook failures. This is different from the behavior described in Webhooks and invoices.
Before you begin
To configure an automatic finalization time for an invoice, you must have automatic invoice advancement enabled for the invoice. Dashboard scheduled invoices have this enabled automatically. If you don’t pass in a value for automatically_
when enabling automatic invoice advancement in the API, Stripe calculates and sets the time according to the configurable grace period you currently have set. Turning off automatic advancement disables the invoice from being automatically charged or sent. Learn more about this in Pause invoice advancement.
Schedule a one-off invoice to finalize in the future
Viewing scheduled invoices
You can view scheduled invoices in the Dashboard in a few ways:
Filter invoices for whether or not they have scheduled invoice finalization enabled, based on the
Scheduled finalization
column andScheduled finalization date
filter on the Invoices page.In the Details section of a page for a specific invoice, the
Finalizes at
property indicates when that invoice is scheduled to be finalized.
Subscription invoice usage
Invoices generated by subscriptions are already scheduled for finalization upon invoice creation, based on the configurable grace period you currently have set. Turning off automatic advancement disables the invoice from being automatically charged or sent to the user. Learn how to pause invoice advancement for any you have set. You can modify these invoices using the process described here, but make sure you consider the following:
- Non-finalized invoices remain in a draft state. This means that pushing this scheduled finalization date out further potentially increases the time that customers could have an active subscription without having an invoice be sent or charged to them.
- Modifying this time won’t cause invoice finalization to be delayed based on failure to respond to
invoice.
webhooks. If you want to depend on webhook failures delaying invoice finalization, don’t modify thiscreated automatically_
field.finalizes_ at
Common pitfalls
This feature has some common pitfalls to be aware of:
- If the invoice has
automatic_
but the customer doesn’t have sufficient tax information, automatic finalization fails. Learn more about invoice finalization errors and how to resolve this issue.tax[enabled]=true - The Send finalized invoices and credit notes to customers setting must be enabled in Subscriptions and emails settings if you want emails for automatically finalized invoices to send to customers.
- This ability of sending emails for automatically finalized invoices is only available in live mode.