Create a customer for every new user or business you want to bill. When you create a new customer, set up a minimal customer profile to help generate more useful invoices, and enable Smart Retries (if you’re an Invoicing Plus user). After you set up your customer, you can issue one-off invoices or create subscriptions.
Before you create a new customer, make sure that the customer doesn’t already exist in the Dashboard. Creating multiple customer entries for the same customer can cause you problems later on, such as when you need to reconcile transaction history or coordinate saved payment methods.
Use a basic customer profile for invoice and receipt generation or as a lightweight customer relationship management system (CRM) for your application. To create a minimal customer profile, set these properties:
- Email address.
- Customer name.
- Metadata with a reference to your application’s internal customer ID.
Stripe uses your customer’s email address to notify them of payment failures. Stripe also uses email addresses to notify customers when they need to perform an action to complete a payment.
Store the internal customer ID for your application in the metadata attribute. Like most Stripe resources, the
Customer resource includes a Metadata object hash to flexibly store contextual key-value information. To aid in auditing and support, store your internal customer ID as a key-value pair on the
Customer resource. This allows you to search for the customer using your internal reference ID. We recommend storing Stripe customer IDs against the internal customer model of your application.
Billing and shipping addresses
Invoices, credit notes, and receipts display the billing address—a common requirement for tax compliance.
Email and PDF language localization
When you create a customer, use the Language dropdown to add their preferred language. (You can also add or edit a customer’s preferred language in the Customer details page or when creating an invoice.) Stripe uses the chosen language to localize invoice emails and PDFs, receipt emails and PDFs, and credit note PDFs.
To update the language through the API, use the preferred_locales parameter. This parameter accepts an ordered list of preferred languages sorted by preference. These preferred locale values are based on RFC-4646. Examples include en for English, or fr-CA for Canadian French. To learn more, see Customer preferred languages.
The following table contains additional customer properties:
|Payment properties||Stripe uses the payment details associated with a customer to collect payment. A customer can have multiple ways to make a payment, including the Payment Methods API and Customer credit balance. Customers are single-currency, which means that after you assign a currency, invoice the customer, or set a customer credit balance, you can’t change the currency. You can see this locked state in the Dashboard in a disabled Currency dropdown. If you need to bill a single entity with multiple currencies, create a new customer for each currency.|
|Invoicing properties||All invoicing-related resources are associated with the billed customer.|
|Tax properties||To meet tax jurisdiction requirements, you might need to include customer tax ID numbers and other tax-related information on your invoices. It’s your responsibility to make sure your customer’s invoices contain all of the correct information, such as tax IDs, tax exemption status, and addresses. Tax IDs provide a way to store and render one or more tax ID numbers on invoices. The tax exemption status indicates whether the entity is taxable. By default, a customer’s |
Here are some of the common tasks you can perform with the
Sending an invoice to a customer: After you create the customer, you can send them an invoice.
Storing a customer credit balance: The customer credit balance feature allows you to assign credit and debit adjustments to a specific customer and then apply the resulting balance toward future invoices for them.
Adding and validating tax ID numbers: Displaying a customer’s tax ID on an invoice is a common requirement, and Stripe allows you to add multiple tax IDs to a customer. Their tax IDs display in the header of invoice and credit note PDFs. See the Customer tax IDs page for more details.
Adding a coupon to a customer: A coupon contains information about a percent-off or amount-off discount, and Stripe Invoicing allows you to associate a coupon with a customer. Coupons apply a discount to the invoice amount due, on a pre-tax basis.
Setting the currency for a customer: You can set the default currency to charge a customer for invoices using the Dashboard by navigating to the Customers page, selecting your customer, and clicking Edit next to Details. See the Multi-currency customers page for more details on billing the same customer using a different currency than their default currency.
Creating customers in bulk: Bulk upload Customers using the Invoice & Customer Uploader app.