Update an Invoice

Last updated

How Updating an Invoice Actually Works in Stripe

Like all Stripe mutations, updating an invoice is a POST request to /v1/invoices/{id} (not PATCH or PUT), sending only the fields that need to change -- but which fields are actually editable depends heavily on the invoice's current status.

Real API Details

A draft invoice allows broad changes (due date, line items, metadata), while a finalized invoice restricts edits mostly to metadata and a few administrative fields -- line items and amounts become locked once finalized.

Practical Considerations

Check the invoice's status before attempting substantive changes (like modifying line items) -- attempting to edit locked fields on a finalized invoice returns an error rather than a partial update.

Use cases

Adaptive billing workflows.

  • Extend due dates to accommodate customer payment schedules.
  • Adjust line items when order details change.
  • Attach additional metadata for downstream reporting.
  • Recalculate totals when discounts or taxes are updated.

Need help with Stripe?

Tell us what you're working with. We'll follow up to schedule a free consultation and map out the fastest path to real adoption.

Book a free consultation

Tell us about your team and the software you need help with. We'll follow up to schedule a time to talk.

Open the form on its own page

Get help