Unless you explicitly disable it, invoices you create in the Dashboard automatically finalize when they leave the draft state. Invoices you create with the API, however, won’t automatically finalize. You must turn on automatic collection by setting the auto_advance property on the invoice to
true. You must also configure a webhook endpoint to receive their associated events. When you turn
false, you’re responsible for transitioning the invoice between statuses. To learn more, see Webhooks and finalizing invoices.
Update automatic advancement
You can toggle the
auto_advance property on
open invoices. Automatic advancement and collection never occur on invoices that are marked
paid. For these invoices,
auto_advance is always set to
Pause automatic advancement
In some cases, you might want to stop Stripe from automatically advancing your invoices toward collection. For example, if you want to:
- Use your own business logic to manage the lifecycle of an invoice.
- Decide if and when to send invoice emails on a per-invoice basis.
In both of these cases, use the
auto_advance property to disable the automatic advancement and collection behavior.
Automatic advancement feature comparison
When you set
false, Stripe disables most of the automatic features for Invoicing—leaving collection up to you. The following table outlines some key changes in the behavior of automatic collection, depending on whether
auto_advance is set to
|Finalize drafts to open||(after approximately 1-hour)|
|Retries (email and charge)|
|Invoice reminder emails|
|3D Secure reminder emails|
- = Can be enabled depending on your settings.
- = Configurable in your settings.
- = Not enabled. The invoice isn’t automatically transitioned.