Update May 6, 2020: See this article for changes to creating invoices in your Stripe dashboard.
It’s bound to happen at some point: A customer wants a unique product or service that doesn’t fit into one of your payment forms.
Obviously, you don’t want to turn the customer away. You’re happy to adjust your products/services and pricing to make a customer happy. But how do you collect payment?
You could make a unique payment form and slap it on a new WordPress page. That’s easy with a tool like WP Simple Pay. But that seems like overkill since you’ll never use that form and page again.
The better method is to use your payment processor’s tools to create a unique invoice for the customer. Stripe, Square, PayPal, and other major processors all have features that let you create invoices. Or you could create an invoice in your accounting tool, like Xero, QuickBooks, or FreshBooks.
How do you create an invoice? This article will show you how to create a unique invoice in Stripe because it’s our favorite payments tool.
Stripe invoices move through a straightforward workflow. The workflow includes a series of steps, starting with the creation of an invoice through getting paid.
The invoice moves through the workflow automatically unless you toggle the auto advance property on the invoice. If you turn automatic collection off, you’ll be responsible for moving the invoice through each step. (We don’t advise this. It’s only useful in rare circumstances.)
Here’s a visualization of the invoice workflow.
What does each status mean?
Draft – This is the invoice starting point. Possible actions: Finalize it (move to open status) or delete it.
Open – This is when the invoice has been finalized and can no longer be edited. It’s awaiting payment from the customer. Possible actions: Send it, void it, mark it uncollectable, or pay it.
Paid – This is the status for a paid invoice. There are no possible actions. Invoices will automatically change to paid if the customer pays through Stripe. You can also mark them paid manually if they pay another way.
Void – This is the status for invoices with mistakes that should be canceled. Stripe will maintain a record of the invoice (when it was created, finalized, and voided), but it’s not payable. Use this status if you make a mistake or the customer cancels their order.
Uncollectable – The invoice won’t be paid and should be treated like bad debts in reports. Possible actions: Void it or pay it. Use this if the customer refuses to pay, goes out of business, or otherwise can’t pay your bill.
Creating an Invoice
Like most Stripe tasks, creating an invoice is simple. You can create one-off invoices for one-time payments or subscription invoices for recurring payments. Create an invoice right from your Stripe dashboard by clicking Invoices in the sidebar then +New.
Next, choose a customer for the invoice. If your customer isn’t in Stripe yet, create a new customer on the Customers page (sidebar link near the top).
Once you arrive on the Create an invoice page, fill out your invoice details. You must put something in the Invoice items section. You can add additional lines by clicking +Add another item.
The bottom of the invoice includes options for how you’ll get paid. You can automatically charge a payment method on file if Stripe stores your customer’s card information. Otherwise, you’ll have to email the invoice to the customer to pay manually. The customer will receive an email with a link that will open a Stripe page where they can pay securely.
Click Send invoice when you’re happy with it. Your customer will receive an email with the invoice information and a link to pay. The link will take them to a Stripe-hosted page with a payment form. Once they pay, the invoice status will update to paid and Stripe will add their money to your account.
In addition to one-off invoices, you can also create subscription invoices. When you add a customer to a plan, Stripe will immediately create an invoice, finalize it, and attempt to collect payment on the invoice by charging the customer’s payment information or sending them an invoice. It will repeat this process automatically every billing period.
If payment succeeds, Stripe will change the invoice’s status to paid. If it fails, the invoice remains open and the subscription is set to incomplete. If you or the customer upgrades or downgrades their subscription, Stripe again creates a new invoice that reflects the changes.
Subscription invoices can’t be edited because the whole process (creation to getting paid) happens all at once. But you can add invoice items to the customer’s account that will apply to the next invoice.
If you want a branded, professional look to your invoice, we recommend customizing them a bit. Depending on your type of business, you may have to customize them to meet your tax and legal compliance needs.
There are six ways to customize your invoices.
1. Custom Fields
Custom Fields are data points displayed at the top right of your invoice beneath other essential data. You can create a field for up to four key-value pairs.
You could use custom fields to show purchase order numbers, tax compliance codes, account numbers, permit numbers, or anything else that’s meaningful to you or your customers.
You can create custom fields directly in the invoice editor on individual invoices or use the invoice API to add custom fields to all invoices or invoices based on certain rules. You can also set Customer custom fields that will appear on select customers or groups of customers.
2. Memo Field
The memo field is for notes, messages of thanks, or information that relates specifically to the sale. For instance, you might include information regarding where a customer can collect their item, when they’ll receive it in the mail, how to log in, etc.
You can set a default memo on the billing settings page or customize it on individual invoices.
3. Footer Field
The footer field is an optional block of text at the bottom of your invoice. It’s usually used for legal text (to comply with laws and regulations) or information that you want delivered with every invoice (like your address, contact information, company registration number, etc.).
You can set a default footer on the billing settings page or customize it on individual invoices.
4. Customer Language
You can set the language within each customer profile. The selected language will be used to localize invoices as well as emails, receipts, and PDFs.
5. Customer Invoice Prefix
Stripe assigns every customer a random, unique prefix string. It also assigns every invoice a sequence number for each customer. For example, let’s say a customer’s prefix was 782A3YB. The first invoice for that customer would be 782A3YB-0001. The second invoice’s number would be 782A3YB-0002.
You can customize the customer prefix in each customer’s profile. This may help make it easier to track down a customer’s invoice.
You can make some changes to the customer-facing emails and interfaces on the Branding Settings page. You can add an icon, logo, and accent color.
These settings apply to your entire account. The icon appears in emails, hosted invoice pages, and checkout pages. The logo appears on hosted invoice pages and checkout pages. The accent color appears on emails and hosted invoice pages. Generated PDFs do not contain any custom branding elements.
As you can see, Stripe makes creating invoices simple. This gives you enormous flexibility over your business. You can design products, services, and prices that meet your customers’ unique needs. Just don’t forget to check on your invoices to confirm payment!