# Renewals

URL: /systems/customer-service/renewals · Id: `page:systems/customer-service/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](/business/nouns/subscription) renews on a date the [Customer](/business/nouns/customer) agreed to, and no Customer learns of it from the charge. The [Startup](/business/nouns/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`](/business/nouns/renewal/open) opens a [Renewal](/business/nouns/renewal). The [Success Manager](/agents/customer/success-manager) writes its usage review first: use against each [Entitlement](/business/nouns/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](/business/nouns/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](/workflows/processes/billing/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`](/business/nouns/subscription/renew) | [Billing Specialist](/agents/finance/billing-specialist) |

A Renewal closes with one outcome: `renewed`, `expanded`, `contracted` or `churned`. It is computed from the Subscription's [Events](/business/nouns/event) at the term end, never set by hand.

## The notice window
[Renewal notice](/workflows/processes/billing/renewal-notice) runs every day. It finds each Subscription and [Agreement](/business/nouns/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](/business/nouns/setting) `billing.renewalNoticeWindow`. The [Studio](/business/nouns/studio) holds the default, and a Startup below it may only narrow the window. The [renewals](/systems/legal-and-corporate/floor/renewals) row of the legal floor names this [Workflow](/business/nouns/workflow) as its mechanism, so every Live Startup sends the notice.

## What the notice says
The notice is one [Message](/business/nouns/message) with four facts and nothing to decode.

| Fact | Example |
| --- | --- |
| Renewal date | `2027-03-01` |
| [Price](/business/nouns/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`](/business/nouns/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](/systems/customer-service/cancellation#a-cancel-never-waits).

The Renewal records the send as `noticeSentAt`. The Startup can show when every Customer was told, and the [Billing Specialist](/agents/finance/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](/business/nouns/thread), written by the [Customer Lead](/agents/customer/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](/agents/customer#net-revenue-retention) counts the smaller term honestly.

## Next
- [Cancellation](/systems/customer-service/cancellation): the one-step cancel and the save window.
- [Annual prepay](/workflows/customer/plays/annual-prepay): moving steady Customers onto yearly terms.
- [Customer health](/systems/customer-service/health): what the usage review reads.