How invoicing works
Invoices move through different statuses from the time they’re created to when they’re paid. Stripe calls this the automatic collection workflow. Before you begin, create customers and products and prices to facilitate future transactions. You can use both the Dashboard and the API to set up and interact with Stripe Invoicing.
Invoice lifecycle
The basic lifecycle for invoices looks like this:
- A new invoice begins with a
draft
status. - Stripe finalizes the invoice. (You can no longer make any changes to it.)
- The status is set to
open
and Stripe automatically attempts to pay the invoice using your customer’s default payment method. - If payment succeeds, Stripe updates the status to
paid
. - If payment fails, the invoice remains
open
.
In this lifecycle example, Stripe doesn’t notify the customer about the invoice. We automatically charge the customer shortly after we generate the invoice. However, if you enable customer emails, we send an email receipt.
Invoice statuses
Invoices can take on one of five statuses. These statuses allow you to draft and revise invoices before finalization, sending, and attempting payment. In the Dashboard, open invoices appear as pending when their associated payment intent is in the pending state.
Status | Description | Possible Actions |
---|---|---|
draft | The starting status for all invoices. You can still edit the invoice at this point. | You can finalize the invoice to open , or delete it if it’s a one-off. |
open | The invoice has been finalized, and is awaiting customer payment. You can no longer edit the invoice, but you can revise it. | Send the invoice. You can also mark the invoice as paid , void or uncollectible . |
paid | This invoice was paid. | No actions possible. |
void | This invoice was a mistake, and must be canceled. | No actions possible. |
uncollectible | The customer is unlikely to pay this invoice (treat it as bad debt in your accounting process). | You can void or pay the invoice. |
Draft invoices
Draft invoices are still editable and remain unsent. At this point, you can finalize the invoice, or delete it.
Open invoices
The invoice has been finalized, and is awaiting customer payment. You can no longer edit the invoice. In this state, you can send the invoice. You can also mark the invoice as paid, void, or uncollectible.
Invoices that have an amount due that’s less than the minimum chargeable amount automatically transition from an open
to paid
status and debit the amount from the customer’s credit balance.
Paid invoices
When a customer pays for an invoice through Stripe, the invoice moves into the paid
status. This status is terminal, which means that paid invoices can never take on another status.
Voided invoices
Voiding an invoice is conceptually similar to deleting (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.
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 invoices when they’re open
or uncollectible
.
Uncollectible invoices
Sometimes your customers won’t be able to pay their outstanding bills. For example, assume that you supply 1,000 USD worth of services to your customer, but they’ve since declared bankruptcy, and (even after liquidating assets) won’t be able to pay the outstanding invoice balance.
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.
Deleting draft invoices
You can delete a draft invoice at any time.