Skip to content

Stripe Billing errorStripe: invoice_not_editable

invoice_not_editable is the Stripe error for changing an invoice after it has been finalized. Finalized invoices are open for payment, so amounts and line items are locked.

Short answer

For a one-off change, void the open invoice and create a new one. For a charge that can wait, add an invoice item to the customer so it lands on the next invoice. For subscription renewals, make changes in the draft window by listening for invoice.created.

Rather not fix it yourself? Stripe Billing Fix and Setup handles it at a fixed price, agreed before work starts.

Why Stripe locks the invoice, and the fix

  1. 01

    The code edits after finalization

    “However, you can still add invoice items to the customer. The added items apply to the next invoice.” Stripe, How subscriptions work with invoices

    Adding a line or changing an amount on an open invoice fails. Add the item to the customer instead, and it goes on the next invoice.

    await stripe.invoiceItems.create({
      customer: customerId,
      amount: 2500,
      currency: 'usd',
      description: 'Extra usage',
    });
  2. 02

    The change missed the draft window

    “Leaves the invoice in a draft status for about an hour.” Stripe, How subscriptions work with invoices

    Renewal invoices wait as drafts for about an hour before Stripe finalizes them. Run usage or discount changes from the invoice.created webhook, not later.

  3. 03

    The first subscription invoice has no draft period

    “Stripe immediately finalizes the initial invoice and charges the customer.” Stripe, How subscriptions work with invoices

    The first invoice of a charge_automatically subscription is finalized and charged right away. Set the right price and items when creating the subscription.

  4. 04

    The invoice needs a real correction

    “To make more substantive changes, create a new invoice and void the old one.” Stripe, Invoicing overview (open)

    Also check: a wrong amount on an unpaid open invoice is fixed by voiding it and sending a new one. A paid invoice is corrected with a credit note or refund.

Checked against the vendor’s docs on : Stripe docs: Error codes; Stripe docs: How subscriptions work with invoices; Stripe docs: Invoicing overview.

Rather hand it over?

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

“Working with Simon makes everything run so smoothly and better than I could ask for it. Amazingly communicative, extremely knowledgeable of coding and the backend processes. I strongly recommend.”
A buyer in the United States, January 2026. App development on Fiverr
All 127 Fiverr reviews

Related: Stripe invoice_upcoming_none · Stripe subscription past_due · Stripe coupon_expired · Stripe card_not_supported

Questions

More on this error

Can a draft invoice be edited?

Yes. Almost any detail of a draft can change, and a draft can be deleted unless it belongs to a subscription.

Does voiding an invoice refund the customer?

No. Void is for unpaid invoices. For a paid invoice, issue a refund or a credit note.

Can you fix it for me?

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

A different error?

Describe it and get a written quote

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.