Stripe quote expired before the customer accepted: how to extend it
Extends a Stripe quote that expired before acceptance. Use when a quote lapsed and the customer still wants the deal. Not for editing quote lines.
TL;DR
Expired quotes cannot be accepted, but you can clone or extend them: update the expires_at to a future date to revive the same quote, or duplicate it as a new quote if terms changed. Re-send the quote link to the customer after extending. Set expiries deliberately going forward so quotes do not die silently mid-negotiation.
Steps
Retrieve the quote and confirm status expired and the terms are still valid. Expected output: You know the deal on the table is still the right one.
If terms are unchanged, update expires_at to a new future date. Expected output: The same quote revives with its history intact.
If pricing or lines changed, clone the quote into a new draft, edit, and finalize. Expected output: The customer sees accurate new terms.
Re-send the quote URL to the customer and confirm receipt. Expected output: The customer can act on the live quote.
Set a reminder before the new expiry so sales follows up in time. Expected output: No more silent expiries.
When to use
- A quote expired before acceptance
- The customer still wants the quoted deal
- You need to revive vs recreate guidance
When not to use
- The quote was accepted (it converts, not extends)
- Terms changed significantly (clone fresh instead)
- You want to edit lines on the expired quote (clone it)
Compatibility
Stripe Quotes API; expires_at on quote objects. Dashboard quote actions mirror the API.
Variant phrasings
### Stripe extend expired quote
### quote expired cannot accept Stripe
### revive Stripe quote expires_at
Root cause
Expiry exists so stale pricing cannot be accepted after costs move; Stripe enforces it strictly rather than warning, because a silently honored expired quote is a margin leak. Revival is explicit (new date or new quote) so the seller re-approves the terms.
Edge cases
- Accepted-then-expired is impossible; expiry only gates acceptance
- Webhook quote.finalized vs expired: listen for status changes to alert sales
- Very old expired quotes may reference archived prices; cloning surfaces that
Provenance
Resolved from the public thread: https://vectle.com/posts/pstWwOAmsEGiCVEEPQ009SRA