Customizing Invoices

    Stripe Billing provides a suite of features that allow you to customize the content and branding of invoices to match the tax, legal, branding, and compliance needs of your business.

    Customizing Invoice Content

    You can customize an invoice’s content and language to meet the needs of your business:

    Custom fields

    Use custom fields to enhance your invoice PDF documents and help you comply with your business practice and tax reporting obligations. Custom fields allow you to provide up to four key-value pairs, to be rendered in the invoice header.

    Custom fields

    Your custom fields will render in the top-right of your invoice and receipt PDFs.

    Common example use cases of custom fields are:

    • Purchase Order (PO) numbers
    • Contractor numbers
    • Tax compliance

    You can set up to four custom field key-value pairs in the Invoice editor or in the API while creating new invoices.

    Custom field inheritance

    Custom fields inheritance

    You can set custom invoice fields on both the Customer and the Invoice.

    Any custom fields set at the customer level apply to all draft invoices generated for that customer. You can modify these inherited custom fields while the invoice is still a draft.

    You can only set Customer custom fields via the API. You can set custom fields for any invoice in both the API and the Dashboard editor.

    The custom fields field cannot be updated once an invoice has been finalized.

    Memo field

    The memo is included in invoice PDFs, invoice emails, and the Hosted Invoice Page.

    Memos are commonly used as a notes section, thanking the invoiced customer for their business, or giving more context around the invoice such as a note from the salesperson who might have talked to the customer.

    Memo field inheritance

    Memo inheritance

    You can set the memo field for your whole account, on the subscription, and on the invoice in the Dashboard and the API.

    • Default memo — You can set the memo’s default value on the Billing Settings page. This value will be used for any newly created invoices which do not override the memo.
    • Subscription memo override — You can set the subscription memo field in the Dashboard when creating a subscription. It automatically applies to all new invoices generated by that subscription and supersedes any memo set at the account level.
    • Invoice memo override — You can set a memo on a per-invoice basis. This will override the memo values set at the account settings and subscription level. You can set the the invoice-level memo via the API or the dashboard when creating or updating a draft invoice.

    Invoice PDFs can optionally include a footer text block, often used for contractual or legally required text.

    A common use case is displaying legally required company registration information, such as a UK Companies House registration number.

    Footer inheritance

    Similar to memo settings, you can set the footer’s default value on the Billing Settings page. This value will be used for any newly created invoices that do not override the footer.

    You can also set a footer on a per-invoice basis through the dashboard or API. This will override the default footer value.

    Note: The footer fields field cannot be updated after an invoice finalized.

    Customer invoice prefix and invoice sequence number

    To help track and reconcile invoices, Stripe assigns every customer a unique (random) prefix string that is used when generating invoice numbers, concatenated with a per-customer sequence-number (every customer starts from invoice 0001, incrementing with each new invoice).

    For example, an invoice number of 586A2ED-0001 includes two parts: the customer’s invoice-number prefix (586A2ED) and the invoice sequence number (0001, in this case, the first invoice for this customer). The next invoice issued to this customer would be 586A2ED-0002.

    You can customize the invoice-number prefix to make it easier to trace invoices back to their associated customer by invoice number. For example, you could set the invoice prefix to a version of the company name — “Typographic” could be customized to the prefix TYPOGR (the first invoice number appearing as TYPOGR-0001).

    Invoice prefix

    The Update customer invoice details modal showing the Invoice prefix field.

    To customize the prefix, use the Dashboard’s Customer Detail page to update the customer’s details and set their Invoice prefix value.

    You can also update the prefix through the API’s invoice_prefix field.

    Customer preferred language (localization)

    Use the Language property on a Customer to set the preferred language. This language will be used to localize Invoice emails and PDFs, Receipt emails and PDFs, as well as Credit Note PDFs.

    Customer preferred language

    The Update customer invoice details modal showing the Language field.

    You can also update the language through the API’s preferred_locales field.

    Customizing Branding

    Stripe allows customization of customer-facing emails and UIs on the Branding Settings page.

    The following brand settings are available:

    • Icon – a square, digital friendly icon/logo.
    • Logo – a non-square logo to override some uses of the Icon.
    • Accent color – used as a background on emails and pages.

    Brand settings screenshot

    Customize your branding on the Branding Settings Dashboard page.

    Where brand settings are applied

    Since brand settings are applied to your whole account, there are multiple places where they take effect:

    Setting Emails Hosted Invoice Page Checkout Page Invoice PDFs
    Icon Yes Yes Yes No
    Logo No No Yes No
    Accent color Yes, as background color Yes, as background color No No

    While the generated PDF invoices contain no branded elements, their content can be extensively customized with custom fields, Footers, and other content.

    Customization Roadmap

    Stripe plans to add additional features to make invoices and the hosted invoice page even more customizable. Here are some of the features we’re working on:

    • Send invoices from your own domain (invoice@mydomain.com)
    • Host the invoice page on your own domain (pay.mydomain.com/...)
    • More ways to customize branding and control

    For feedback or interest in betas of these products, please contact Stripe.

    Questions?

    We're always happy to help with code or other questions you might have. Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode.

    Was this page helpful? Yes No

    Send

    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.

    On this page