How to Create a Stripe Invoice, and What Happens After It's Paid
Stripe Invoicing lets you build an itemized invoice, through the dashboard or the API, set a due date and payment terms, and Stripe emails it to the customer with its own hosted payment page attached. Unpaid invoices can send automatic reminders on a schedule you set. We don't create your invoices for you. We build what happens the moment one actually gets paid, or doesn't.
How to create a Stripe invoice
1. Add or select the customer. Every Stripe invoice needs a Customer object attached, so pick an existing one or create a new customer record with a name and email first.
2. Add invoice items. Attach one or more existing Prices from your Stripe catalog, or add one-off line items with their own description and amount for anything that doesn't fit a saved Product and Price.
3. Set the collection method. Choose "send invoice," which emails it to the customer and waits for them to pay manually by a due date, or "charge automatically," which bills a payment method already on file instead of waiting.
4. Set the due date and any memo text. This is where net-15, net-30, or whatever terms you actually offer get defined, along with anything you want printed on the invoice itself.
5. Finalize and send it. Finalizing locks the invoice in and assigns it a number; sending it, or letting Stripe's automatic reminders do the work if you've turned those on, is what actually puts it in front of the customer.
Where a Stripe invoice stops being just Stripe's problem
An invoice marked paid in Stripe doesn't, by itself, mean anything to the rest of your business. If you run your books in QuickBooks or another accounting system, that invoice and the Stripe fee taken out of it still have to land there correctly, and a Stripe payout almost never matches an invoice total one for one once fees are factored in. We've written about that specific reconciliation gap for QuickBooks here.
The other place this breaks down is volume. Stripe's dashboard is fine for creating one invoice at a time, but if invoices are supposed to go out whenever a project hits a milestone, a contract renews, or a deal closes in a CRM, someone's either copying details into Stripe by hand for every single one or it isn't happening on schedule at all. That's what the Invoicing API is for: generating the invoice straight from whatever system already knows the work is done, instead of treating that knowledge as something a person has to transcribe.
What we build on top of Stripe Invoicing
Invoices generated by the system that actually knows the work is done
When a project tool marks a milestone complete or a CRM deal closes, an automation creates and sends the matching Stripe invoice itself, line items included, instead of someone translating that update into an invoice by hand.
Paid status that triggers the next step on its own
The moment a Stripe invoice is marked paid, we can flip a flag in your CRM, release a deliverable, or kick off onboarding, so the next step doesn't sit waiting on someone to check whether the money actually landed.
What's still a manually created invoice in your business?
A renewal, a milestone payment, a retainer: tell us what triggers it today, and we'll look at whether that trigger can create the Stripe invoice itself.
Still creating Stripe invoices by hand when something else already knows one is due?
If a milestone, a renewal date, or a closed deal is what tells you an invoice needs to go out, that trigger can usually create the invoice itself instead of waiting for someone to notice and build it manually. Invoicing is just this page's example; n-frames automates whatever handoff in your business is still running through a person instead of the system that already has the information.
Let's talk