Customers
Learn how to use the Customer resource with Stripe Invoicing.
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.
Caution
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.
Customer profiles
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
Use the address attributes to set a billing address for invoicing and credit notes. For physical good delivery, add a shipping address.
Note
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.
Customer properties
The following table contains additional customer properties:
Property | Description |
---|---|
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 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 tax_ status is set to none – meaning it’s a taxable billing entity. However, you can set the tax_ parameter to reverse for customers that must pay the invoice’s tax. You can also flag the customer as being tax exempt by setting the status to exempt . To learn more about using tax_ and reverse , see Tax Rates. |
Common tasks
Here are some of the common tasks you can perform with the Customer
resource:
Send an invoice to a customer: After you create the customer, you can send them an invoice.
Store 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.
Add and validate 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.
Add 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.
Set 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.
Create customers in bulk: Bulk upload Customers using Productivity Stripe Apps.