# Set up the customer portal Let your customers manage their own billing accounts with a portal that Stripe hosts. - **Stripe compatibility:** Payment Links, Checkout, pricing table, customer portal - **Requires:** Stripe account - **Good for:** SaaS businesses, individual creators, e-commerce businesses - **Pricing:** [Stripe Billing pricing](https://stripe.com/billing/pricing) for recurring payments, [Invoicing pricing](https://stripe.com/invoicing/pricing) for invoice-only setup When you’re ready to offer your customers a way to self-serve their billing accounts, you can set up the customer portal. Use it to let your customers manage their billing information, subscriptions, and invoices as your business scales. Stripe hosts the customer portal, which means you can use it even if you don’t have a website. You can also link users to it from an existing site or Stripe integration. First, you need a Stripe account. [Register now](https://dashboard.stripe.com/register/). ## Create a product To create a product in the Dashboard: 1. Go to **More** > **Product catalog**. 1. Click **+Add product**. 1. Enter the **Name** of your product. 1. (Optional) Add a **Description**. The description appears at checkout, on the [customer portal](https://docs.stripe.com/customer-management.md), and in [quotes](https://docs.stripe.com/quotes.md). 1. (Optional) Add an **Image** of your product. Use a JPEG, PNG, or WEBP file that’s smaller than 2MB. The image appears at checkout. 1. (Optional) If you’re using [Stripe Tax](https://docs.stripe.com/tax.md), select a **Tax code** for your product. See [tax codes](https://docs.stripe.com/tax/tax-codes.md) for more information about the appropriate category for your product. 1. (Optional) Enter a **Statement descriptor**. This descriptor overrides any account descriptors for recurring payments. Choose something that your customers would recognize on a bank statement. 1. (Optional) Enter a **Unit label**. This describes how you sell your product. For example, if you charge by the seat, enter “seat” so the line item includes “per seat” for the price. Unit labels appear at checkout, and in invoices, receipts, and the *customer portal* (The customer portal is a secure, Stripe-hosted page that lets your customers manage their subscriptions and billing details). ## Set up the customer portal 1. **Activate a customer portal link** On the [customer portal configuration](https://dashboard.stripe.com/settings/billing/portal) page, click **Activate link** in the **Ways to get started** section. 1. **Configure the portal** Go to the [customer portal configuration](https://dashboard.stripe.com/settings/billing/portal) page and select your configuration options. Learn more about [configuration options](https://docs.stripe.com/customer-management/configure-portal.md). 1. **Share the portal login link** Add the link you activated to your site, or send it directly to your customers. They can log in to the portal with their email address and a one-time passcode. Make sure your customers have an email address set, using [contact_email](https://docs.stripe.com/api/v2/core/accounts/object.md##v2_account_object-contact_email) with the Accounts v2 API or [email](https://docs.stripe.com/api/customers/object.md#customer_object-email) with the Customers v1 API. If multiple customers have the same email address, Stripe selects the most recently created customer that has both that email and an active subscription. For security purposes: - Customers can’t update their email address through this link. - If a customer doesn’t receive a one-time passcode after clicking the login link, make sure their email address matches the email address of an existing customer. To check, enter the email address in the search bar of the [Dashboard](https://dashboard.stripe.com/). ## Optional: Customize branding To customize the portal: 1. Go to the [Branding settings](https://dashboard.stripe.com/settings/branding) page, upload your icon or logo, and customize colors. 1. Go to the [Public account settings](https://dashboard.stripe.com/settings/public) page and review your public business name and information. ## Optional: Prefill customer email You can use a `prefilled_email` URL parameter in the query string of your login link URL to streamline the login process. > Example login link: `https://billing.stripe.com/p/login/test_4gw6oJchs69w47e7ss?prefilled_email=jenny%40example.com` | Parameter | Description | Syntax | | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `prefilled_email` | Use `prefilled_email` to enter an email address on the login page automatically. This can be useful when sending the login link to your customers directly. Customers can still edit this field. | `prefilled_email` must be a valid email address. Invalid values are silently dropped and your login link will continue to work as expected. We recommend [encoding](https://en.wikipedia.org/wiki/Percent-encoding) email addresses that you attach as URL parameters to reduce the risk of not passing them through to your login link. |