Leaving
Who scheduled a cancel, when the period ends, and whether a Leaving run is running.
What lands in Leaving
To handle → Leaving lists every still-live subscription Stripe has marked to end at period close (status active, trialing, or past_due). Subscriptions that are already canceled, unpaid, or paused stay out, even if that flag is still set.
Each row shows the Stripe status, the customer, the plan and amount for the billing cycle, tenure on this subscription, how many days until period end, and the current run as a progress ring — the same one as Unpaid and Win-back. Hover it for the steps. If nothing has started yet, the cell reads No sequence.
Open Filters for Stripe status, customer, coverage, sequence, tenure, or period end. Coverage is whether a Leaving run is in flight; Sequence is which one. Dates use the workspace clock. Apply saves the view; chips drop one field.
Click a row to open the detail panel, the same way as on Unpaid.
This list isn't Unpaid — they're two different mechanics. A subscription that's both past due and scheduled to cancel can appear on both.
Actions
From a subscription's panel:
- Customer Portal — copies a churnhook link that opens the full Stripe Customer Portal (keep the plan, undo the scheduled cancel). Valid for 30 days, or until the subscription is no longer leaving.
- Open linked runs — if a Leaving run (or any other sequence) is in flight, jump straight to it.
There's no "Retry invoice" here — that action stays on Unpaid.
When a Leaving email (keep, coupon, or pause) has gone out, a read-only Offer badge shows on the row and in the panel, with its state: sent, claimed, or expired. The customer acts from the email link — there's no action button here.
The list refreshes live: an accepted offer, an undone cancel, or a real departure drops the row without a refresh.
A row can sit here with no sequence running — that's normal, and it's the whole point of this list: to surface departures that haven't (yet) gotten a follow-up.Enroll
A cancel already scheduled before you connected Stripe doesn't start a Leaving run automatically. Enroll N starts the live Leaving sequence for everyone still leaving without a Leaving run in flight, regardless of active filters. Timing matches exactly what a cancel scheduled today would get — no already-due email is skipped.
Enroll is optional. An Unpaid run already running on that subscription blocks Leaving enroll — Unpaid takes priority. The button is hidden while Leaving is Paused in Recovery. On the trial it stays visible but locked: Subscribe to unlock opens the same checkout as Billing. Enroll uses a sequence you own that is Active. Catalog examples never send.
