Customize Invoices Fresh
Control branding, numbering, custom fields, languages, PDF size, and more on your Stripe invoices.
Branding
Configure in Dashboard → Settings → Branding.
| Setting | Applies to |
|---|---|
| Icon | Emails, Checkout, Customer portal, Hosted Invoice Page, Invoice PDFs |
| Logo | Checkout, Invoice PDFs (overrides icon in supported locations) |
| Brand color | Emails, Customer portal, Hosted Invoice Page, Invoice PDFs |
| Accent color | Emails (background), Checkout, Customer portal, Hosted Invoice Page |
Assets must be JPG or PNG, less than 512 KB, and at least 128×128 pixels.
Invoice numbering
Stripe auto-generates invoice numbers with a prefix and sequential suffix (e.g., MYSHOP-1203).
Two schemes available:
| Scheme | How it works | Default for |
|---|---|---|
| Customer-level | Unique prefix per customer, sequential per customer | Most countries |
| Account-level | Same prefix for all customers, sequential across account | EU, UK (required by law) |
Stripe selects the default based on your account country. You can override in Dashboard → Settings → Billing → Invoices.
Switching schemes or updating prefixes only affects future invoices — existing invoices are not changed.
Customer-level prefix
Set a 3–12 character prefix per customer. Must be unique across all customers (including inactive ones).
bash
curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}} \
-u "sk_test_YOUR_KEY:" \
-d "invoice_prefix=TYPGRA"Result: TYPGRA-0001, TYPGRA-0002, etc.
Account-level prefix
Set in Dashboard → Settings → Billing → Invoices → Account prefix. 3–12 characters, cannot match any customer prefix.
Connect account prefixes
When creating invoices with on_behalf_of, the connected account is the merchant of record and maintains its own invoice sequence. Each connected account's sequence starts at 0001.
Starting invoice number
To continue from an existing system (e.g., migrating at invoice 123, resume at 124):
- Customer-level: set
next_invoice_sequenceon the Customer object - Account-level: set in Dashboard → Settings → Billing → Invoices → Next invoice sequence
Maximum allowed invoice number: 1,000,000,000.
Invoice fields
Memo
A notes field that appears in invoice PDFs, emails, and the Hosted Invoice Page. Commonly used to thank customers or provide context.
Set a default in Dashboard → Settings → Billing → Invoices, or on individual invoices via the description parameter.
Footer
Optional text block in invoice PDFs. Used for legally required information (e.g., UK Companies House registration number).
Set a default in Dashboard → Settings → Billing → Invoices. Cannot be updated after an invoice is finalized.
Custom fields
Up to 4 key-value pairs displayed in the invoice header. Set per invoice or inherited from the customer.
bash
curl https://api.stripe.com/v1/invoices \
-u "sk_test_YOUR_KEY:" \
-d "customer={{CUSTOMER_ID}}" \
-d "custom_fields[0][name]=PO number" \
-d "custom_fields[0][value]=12345" \
-d "custom_fields[1][name]=VAT" \
-d "custom_fields[1][value]=GB123456789"Common uses: PO numbers, contractor numbers, VAT registration numbers, tax compliance fields.
Custom fields set at the customer level apply to all future draft invoices for that customer. They can be modified while the invoice is a draft but are locked after finalization.
Tax IDs
Display tax IDs (VAT numbers, EIN, etc.) on invoice PDFs and email receipts.
Manage in Dashboard → Settings → Billing → Invoices → Invoice tax information.
- Set one or more as defaults to include on all invoices automatically
- Select different IDs for individual invoices
- Tax IDs cannot be changed after creation — delete and recreate to update
PDF page size
Two options: a4 (8.27×11.69 inches) or letter (8.5×11 inches).
Default: A4 for Japanese locale customers, Letter for all others. Set auto to restore locale-based defaults.
bash
curl https://api.stripe.com/v1/invoices \
-u "sk_test_YOUR_KEY:" \
-d "customer={{CUSTOMER_ID}}" \
-d "rendering[pdf][page_size]=a4"Applies to both new invoices and finalized invoice PDFs.
Group line items
Categorize invoice line items under named groups to help customers understand their bill. Groups appear in invoice PDFs, the Hosted Invoice Page, and invoice emails.
You can also hide groups — only the group subtotal is visible to the customer.
Default payment terms
Configure in Dashboard → Settings → Billing → Invoices → Default payment terms:
- Due date (number of days after sending)
- Whether to include a payment page link in the invoice email
- Accepted payment methods
Customer preferred languages
Stripe localizes invoice emails, invoice PDFs, receipt emails, receipt PDFs, and credit note PDFs to the customer's preferred language.
Set via API:
bash
curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}} \
-u "sk_test_YOUR_KEY:" \
-d "preferred_locales[0]=fr"preferred_locales is an array — list multiple in preference order.
Supported languages
Bulgarian, Chinese (Hong Kong), Chinese (Simplified), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, English (United Kingdom), English (United States), Estonian, Filipino, Finnish, French (Canada), French (France), German, Greek, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay (Malaysia), Malayalam, Maltese, Norwegian, Polish, Portuguese (Brazil), Portuguese (Portugal), Romanian, Russian, Slovak, Slovenian, Spanish (Latin America), Spanish (Spain), Swedish, Thai, Turkish, Vietnamese.
42 languages supported total.
Billing and shipping addresses
Billing address
Stripe uses the customer's address field as the billing address on invoice PDFs. If not set, the shipping address is used as a fallback.
Update via Dashboard on the Customer details page or via the API:
bash
curl https://api.stripe.com/v1/customers/{{CUSTOMER_ID}} \
-u "sk_test_YOUR_KEY:" \
-d "address[line1]=123 Main St" \
-d "address[city]=San Francisco" \
-d "address[state]=CA" \
-d "address[postal_code]=94111" \
-d "address[country]=US"Shipping address
Set shipping_details on the invoice to render shipping details on the PDF:
bash
curl https://api.stripe.com/v1/invoices \
-u "sk_test_YOUR_KEY:" \
-d "customer={{CUSTOMER_ID}}" \
-d "shipping_details[name]=Jenny Rosen" \
-d "shipping_details[address][line1]=456 Elm St" \
-d "shipping_details[address][city]=Portland" \
-d "shipping_details[address][state]=OR" \
-d "shipping_details[address][postal_code]=97201" \
-d "shipping_details[address][country]=US"If shipping_details is not set on the invoice, Stripe falls back to the shipping address on the Customer object.
Public support information
Invoices include public information from Dashboard → Settings → Public business information:
- Support email address
- Business website
- Support phone number (optional)
- Business address
These appear in invoice PDFs and emails.
Invoice templates
Create reusable templates in Dashboard → Settings → Billing → Invoice templates to apply consistent memo, footer, custom fields, and other settings across groups of customers.
Templates are applied when creating invoices — not retroactively applied to existing invoices.