Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
Billing
OverviewAbout the Billing APIs
Subscriptions
Invoicing
    Overview
    How Invoicing works
    API quickstart
    Integrate with the API
    Invoicing without code
    Invoice lifecycle
    Preview invoices
    Edit invoices
    Schedule invoice finalisation
    Status transitions and finalisation
    Send customer emails
    Generate credit notes
    Invoice customers
    Customers
    Customer credit balance
    Customer tax IDs
    Invoice payments
    Hosted Invoice Page
    Create invoice payment plans
    Accept partial payments
    Payment methods for invoices
    Automated collections
    Invoice customisation
    Customise invoices
    Invoice rendering templates
    Group invoice line items
    Summarise line items
    Global invoicing
    Best practices
    Multi-currency customers
    Other invoicing features
    Products and prices
    Manage bulk invoice line items
    Taxes
Usage-based billing
Quotes
Customer management
Billing with other products
Revenue recovery
Automations
Test your integration
Tax
Overview
Use Stripe tax
Manage compliance
Reporting
Overview
Select a report
Configure reports
Reports API
Reports for multiple accounts
Revenue recognition
Data
OverviewSchema
Custom reports
Data Pipeline
Data management
HomeRevenueInvoicing

Schedule invoice finalisation 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 finalised. An invoice must be finalised 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 finalised and sent out or charged at a future time. You can edit this draft invoice up until it automatically finalises, or you can turn off scheduled finalisation if needed. At the time you schedule, Stripe attempts to finalise this invoice, which succeeds if no errors arise during finalisation.

Caution

When you use a custom finalisation time for invoices, finalisation won’t be delayed because of invoice.created webhook failures. This is different from the behaviour described in the Webhooks and invoices guidance.

Before you begin

To configure an automatic finalisation time for an invoice, you must have automatic invoice advancement enabled for the invoice. Dashboard scheduled invoices have this enabled automatically. You can automatically finalise an invoice up to 5 years in the future. If you don’t pass in a value for automatically_finalises_at 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 finalise in the future

For a draft invoice, specify the time that you want the invoice to be finalised.

  1. After selecting the payment collection type, toggle on the Schedule send date or Schedule charge date option

  2. In the confirmation modal, after choosing a date, click Schedule to finish scheduling your invoice.

  3. The page refreshes to show that the invoice has been successfully scheduled.

For an existing draft invoice that’s already scheduled, click Reschedule invoice to change the date that the invoice is scheduled to be finalised automatically.

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 finalisation enabled, based on the Scheduled finalization column and Scheduled 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 finalised.

Subscription invoice usage

Invoices generated by subscriptions are already scheduled for finalisation 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-finalised invoices remain in a draft state. This means that pushing this scheduled finalisation 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 finalisation to be delayed based on failure to respond to invoice.created webhooks. If you want to depend on webhook failures delaying invoice finalization, don’t modify this automatically_finalizes_at field.

Common pitfalls

This feature has some common pitfalls to be aware of:

  • If the invoice has automatic_tax[enabled]=true but the customer doesn’t have sufficient tax information, automatic finalisation fails. Learn more about invoice finalisation errors and how to resolve this issue.
  • The Send finalised invoices and credit notes to customers setting must be enabled in Subscriptions and emails settings if you want emails for automatically finalised invoices to send to customers.
    • This ability of sending emails for automatically finalised invoices is only available in live mode.
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access programme.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc