Stripe automatically generates invoice numbers to help track and reconcile invoices. Invoice numbers have a prefix and suffix, such as
MYSHOP-1203. (The full invoice number is always unique across your account in both schemes.) Stripe supports two invoice numbering schemes:
- Sequentially for each customer (customer-level)—Uses a unique prefix for each customer and assigns invoice numbers sequentially for a given customer.
- Sequentially across your account (account-level)—Uses the same prefix for every customer and assigns invoice numbers sequentially across your entire account.
Stripe chooses a default behavior based on the country your Stripe account is based in. European Union member countries and the United Kingdom typically require account level sequencing. All other countries default to customer level sequencing because it doesn’t expose the total number of invoices. When switching between schemes or updating prefixes, only future invoices use the new settings. This doesn’t impact existing invoices.
Invoice requirements vary by jurisdiction. Consult with a professional for guidance on your specific use case. You’re responsible for verifying that the invoices you issue meet local tax requirements.
Customer level prefixes
When you configure an invoice to use customer-level numbering, each invoice number begins with the customer’s unique invoice prefix.
For example, if one of your customers is a business named Typographic, you might set the prefix to
TYPGRA. The first invoice number for Typographic would be
TYPGRA-0001, the second would be
TYPGRA-0002 and so on.
You can override prefixes so that you can trace invoices back to your customers. You can set prefixes on the Customers page in the Dashboard or with the API by using the invoice_prefix parameter. Prefixes have to be between 3 and 12 characters and they can’t match any other customer prefix, including prefixes that are no longer in use.
Account level prefixes
When you configure an invoice to use account-level numbering, each invoice number starts with a common prefix and has a sequential number.
For example, if your business is named Rocket Rides, you might set the prefix to
RKTRIDE. Your first invoice would be
RKTRIDE-0001, a second invoice to a different customer would be
RKTRIDE-0002, another invoice to the first customer would be
RKTRIDE-0003, and so on.
Stripe automatically assigns the account-wide prefix, but you can override it to make it clearer that these invoices come from you. If you want to modify the prefix for your account, you can change it in the Invoice template. This requires that your account’s default API version is at least 2020-03-02. Prefixes have to be between 3 and 12 characters and they can’t match any customer prefix, including prefixes that are no longer in use.
You can’t use a customer prefix as an account prefix. This includes prefixes that are no longer in use.
Connect account prefixes
For connected accounts that aren’t currently managed with the
on_behalf_of parameter, sequential invoice numbering—at the customer and merchant level—will begin at
0001 if the parameter is used in the future.
Set the next invoice number
By default, invoice numbers start at
0001. If you’d like to use a different starting invoice number, however, you can change it. For example, some users—when migrating existing customers to Stripe Invoicing—want their invoice numbers to continue where their old system left off. If the user left off at invoice number
123 in their old system, Stripe allows them to resume the invoice number at
Set the number on the Customer details page or with the API by using the next_invoice_sequence parameter. If you’re using account-level prefixes, set the next invoice number in the Next invoice sequence field in the Invoice template.
You can only set the next invoice number to numbers greater than any numbers used on an invoice. The maximum allowed invoice number is 1,000,000,000 regardless of how you set it. Use the lowest value possible so that you don’t reach this limit.