Renewals
How a Startup works each term before it ends and tells every Customer the date, Price and cancel link inside the legal window.
A term Subscription renews on a date the Customer agreed to, and no Customer learns of it from the charge. The Startup works the term for 90 days before it ends and writes first, inside the legal window.
The term is worked, not waited out
Ninety days before a term of a year or longer ends, Renewal.open opens a Renewal. The Success Manager writes its usage review first: use against each Entitlement over the term.
The review sets the terms of the talk. A Customer who used most of what they paid for gets an expansion Quote. One who used little gets a smaller Quote before they ask.
| Days before the term ends | What happens | Run by |
|---|---|---|
| 90 | The Renewal opens with its usage review | Success Manager |
| 45 to 15 | The renewal notice goes out | Renewal notice |
| Any day | A Customer whose usage fell this term is handed to the Success Manager | Renewal notice |
| 0 | Stripe charges the next term through Subscription.renew | Billing Specialist |
A Renewal closes with one outcome: renewed, expanded, contracted or churned. It is computed from the Subscription's Events at the term end, never set by hand.
The notice window
Renewal notice runs every day. It finds each Subscription and Agreement of a year or longer that renews 15 to 45 days out.
It also finds each free trial longer than 31 days that converts to paid in 3 to 21 days. A Customer who never paid is told before the first charge, as plainly as one who renews.
The window is the Setting billing.renewalNoticeWindow. The Studio holds the default, and a Startup below it may only narrow the window. The renewals row of the legal floor names this Workflow as its mechanism, so every Live Startup sends the notice.
What the notice says
The notice is one Message with four facts and nothing to decode.
| Fact | Example |
|---|---|
| Renewal date | 2027-03-01 |
| Price | $14,400 for the next 12 months |
| Usage against each Entitlement | 9 of 12 seats active; 41,000 of 50,000 lookups |
| Cancel link | One step, which runs Subscription.unsubscribe at once |
The cancel link is the same one the Customer finds in their account. It never routes through a call, a web form or a save offer; a cancel never waits.
The Renewal records the send as noticeSentAt. The Startup can show when every Customer was told, and the Billing Specialist signs for the row.
An open complaint does not hold the notice
A Customer with an open complaint still gets the notice on time. It goes inside their open Thread, written by the Customer Lead, never after the window's last day.
Holding the notice until the complaint closes breaks the legal floor. Answering the complaint and giving the notice in one Message keeps both promises.
A worked renewal
A 12-seat litigation team pays $14,400 a year for a court-filings API. On day 90 the Renewal opens: 9 seats are active, and lookups ran at 82 percent of the Entitlement.
The Success Manager sends a Quote for 10 seats at the same per-seat Price. On day 30 the notice goes out with the date, the Price and the cancel link.
The team accepts the Quote. The Renewal closes contracted, the Customer stays, and Net revenue retention counts the smaller term honestly.
Next
- Cancellation: the one-step cancel and the save window.
- Annual prepay: moving steady Customers onto yearly terms.
- Customer health: what the usage review reads.