ActionStripeUpdated September 2026

How do I finalize a Stripe draft invoice?

Short answer: You can finalize invoice in Stripe by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Stripe Finalize Invoice action to a workflow, map its 2 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.

Finalize Invoice in Stripe — start free
Inputs

The fields this action accepts.

Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.

FieldTypeRequiredDescription
Invoice ID
invoice_id
stringRequiredInvoice ID. e.g. "in_abc123"
Auto Advance
auto_advance
optionsOptionalAutomatically attempt to collect payment after finalizing
Sample request
{
"invoice_id": "in_abc123",
"auto_advance": "{{trigger.auto_advance}}"
}
Returns
{
"id": "in_abc123",
"object": "invoice",
"status": "open",
"customer": "cus_abc",
"amount_due": 1999,
"amount_paid": 0,
"hosted_invoice_url": "https://invoice.stripe.com/i/abc"
}

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for Finalize Invoice.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about Finalize Invoice.

What does the Finalize Invoice action do in Stripe?
Finalizes a draft invoice so it's ready for payment. After finalization the invoice is sent to the customer (if auto_advance) and Stripe starts collection.
What inputs does Finalize Invoice require?
Required: Invoice ID. Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Stripe returns an error?
The run history shows the failed step with its input and the error message Stripe returned, so you can fix the input and run the workflow again. Automatic retries are built into HTTP steps only, where you can also set your own retry count and delay.
Does Finalize Invoice support batch operations?
Run Finalize Invoice inside a loop to process each item in an array. TinyCommand does not throttle calls for you, so for large arrays add a Delay step if you need to stay within Stripe's rate limits.
More actions

Other Stripe actions.

Finalize Invoice in Stripe — start free