Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Billing
    Overview
    About the Billing APIs
    Subscriptions
    Invoicing
      Overview
      API quickstart
      Integrate with the API
      Invoicing without code
      Invoice lifecycle
      Preview invoices
      Edit invoices
      Schedule invoice finalization
      Status transitions and finalization
      Send customer emails
      Generate credit notes
      Invoice customers
      Customers
      Customer credit balance
      Customer tax IDs
      Invoice payments
      Hosted Invoice Page
      Create invoice payment plans
      Payment methods for invoices
      Automated collections
      Invoice customization
      Customize invoices
      Invoice rendering templates
      Group invoice line items
      Summarize line items
      Global invoicing
      Best practices
      Multi-currency customers
      Other invoicing features
      Products and prices
      Manage bulk invoice line items
      Taxes
    Usage-based billing
    Connect and Billing
    Tax and Billing
    Quotes
    Revenue recovery
    Automations
    Scripts
    Revenue recognition
    Customer management
    Entitlements
    Test your integration
Tax
Reporting
Data
Startup incorporation
HomeFinance automationBillingInvoicing

How invoicing works

Learn about the stages of the invoice lifecycle.

Copy page

Invoices provide an itemized list of goods and services rendered, which includes the cost, quantity, and taxes. You can send invoices to customers to collect payment or you can create an invoice and automatically charge a customer’s saved payment method. Subscriptions automatically generate invoices for each billing cycle. Learn more about the invoice lifecycle for subscriptions.

When you create an invoice, you can select an existing customer and product or create and save new ones. You can also create one-time products that only exist on the current invoice.

You can use both the Dashboard and the API to create, edit, and manage invoices.

Invoice lifecycle

After they’re created manually or as part of a subscription, invoices move through a series of statuses as they’re created and processed. Stripe calls this the automatic collection workflow.

The basic lifecycle for invoices looks like this:

  1. A newly created invoice has draft status.
  2. Stripe finalizes an invoice when it’s ready to be paid by changing its status to open. You can no longer change most details of a finalized invoice.
  3. Stripe can wait for the customer to pay the invoice or automatically attempt to pay it using the customer’s default payment method.
    • If payment succeeds, Stripe updates the invoice status to paid.
    • If payment fails, the invoice remains open.
  4. Optionally, you can change the status of an unpaid invoice to void or uncollectible.

You can configure Stripe to send customer emails at different stages of the invoice lifecycle, such as when it finalizes an invoice or when automatic payment fails.

Invoice statuses

Invoices can have one of five statuses. The actions you can take on an invoice depend on its status.

StatusDescriptionPossible Actions
draftThe invoice isn’t ready to use. All invoices start in draft status.
  • Edit any part of the invoice.
  • When the invoice is ready to use, finalize it by changing its status to open.
  • If the invoice isn’t associated with a subscription, delete it.
openThe invoice is finalized and awaiting payment.
  • Send the invoice to a customer for payment.
  • Change only some elements of the invoice. To make more substantive changes, create a new invoice and void the old one.
  • Change the invoice’s status to paid, void, or uncollectible.
paidThis invoice is paid.
  • No further actions.
voidThis invoice is canceled.
  • No further actions.
uncollectibleThe customer is unlikely to pay the invoice. Normally, you treat it as bad debt in your accounting process.
  • Change the invoice’s status to void or paid.

Draft invoices

You can update almost any details of a draft invoice. You can also delete it, unless it’s associated with a subscription. When a draft invoice is ready to send for payment, you finalize it by changing its status to open.

You can delete a draft invoice. You can’t recover a deleted invoice.

  1. Go to the Invoices page.

  2. Click the overflow menu () next to the invoice.

  3. Click Delete draft.

Open invoices

The invoice has been finalized and is awaiting customer payment. If its amount due is less than the minimum chargeable amount, it automatically transitions to paid status and Stripe debits the amount from the customer’s credit balance.

In the Dashboard, invoices in open status can display a different badge, such as Past due or Retrying. In some scenarios, you can hover over the badge to view an explanatory tooltip.

If an open non-subscription invoice is waiting for a payment that’s initiated but still pending, it shows the Pending badge in the list of invoices. However, its details page shows the Open badge.

You can update only a few elements of an open invoice, such as the memo or metadata. To make more substantive changes, you must revise the invoice by replacing it with a new one.

You can’t delete a finalized invoice. To cancel it, change its status to void.

Paid invoices

The customer has paid the invoice. This status is terminal, which means that the invoice’s status can never change.

To attempt a payment through the Dashboard, open the Invoice details page and click Charge customer.

Out of band invoices

If a customer pays an invoice out of band (outside of Stripe), you can manually change the status to paid through the Dashboard or API.

You can manually mark an open invoice as paid in the Dashboard. On the invoice details page, click the overflow menu () and select Change invoice status. In the Change invoice status dialog, select Paid.

Void invoices

Voiding an invoice is conceptually similar to deleting or canceling it. However, voiding an invoice maintains a paper trail, which allows you to look up the invoice by number. Voided invoices are treated as zero-value for reporting purposes, and aren’t payable. This status is terminal, which means that the invoice’s status can never change.

After you void an invoice, the Hosted Invoice Page is still accessible, and displays a message indicating that the invoice has been voided. You can only void an invoice in open or uncollectible status.

Note

Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you’re doing business in. You might need to issue another invoice or credit note instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.

To void an invoice from the Dashboard:

  1. Go to the Invoice details page.

  2. Click the overflow menu () and select Change invoice status.

  3. In the resulting dialog, select Void.

Uncollectible invoices

Sometimes your customers can’t pay their outstanding bills. For example, assume that you provide 1,000 USD worth of services to your customer, but they’ve since declared bankruptcy and have no assets to pay the invoice.

As a result, you decide to write off the invoice as unlikely to be paid. In this case, you can update the status of the invoice to be uncollectible. This allows you to track the amount owed for reporting purposes as part of your bad debt accounting process.

You can mark an open invoice as uncollectible in the Dashboard. On the invoice details page, click the overflow menu () and select Change invoice status. In the Change invoice status dialog, select Uncollectible.

See also

  • Use the Dashboard
  • Integrate with the API
  • Status transitions and finalization
Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc
Products Used
Invoicing