Recurring contracts and auto-renewal
On the Contract record, turn on Auto-renewal and pick the Recurrence: monthly, quarterly, semiannual or annual. When the term ends, the daily routine rolls the start and end dates forward to the next period on its own and notifies the owner. With no recurrence set, the contract only produces the renewal alert.
A contract that renews on its own in real life needs to renew on its own in the CRM. If nobody pushes the dates forward, the record sits expired, drops out of your active contract filters, drops out of the revenue calculation, and the whole base loses credibility. Auto-renewal fixes that by keeping the term always in the current period.
The fields that drive the behavior
Open Sales, Contracts and the record you want. Three fields decide what happens at expiration:
- Status: has to be Active. Draft, Expired, Canceled and Renewed are not rolled forward.
- Auto-renewal: the checkbox that turns the automatic roll forward on.
- Recurrence: None, Monthly, Quarterly, Semiannual or Annual. A new contract defaults to Annual.
- End: the date that closes the current term. The next period is calculated from it.
- Renewal date: the next renewal or review date, used by the alert.
What the daily routine does
- Looks for contracts with Status Active, Auto-renewal checked, a Recurrence other than None, and an End date already past.
- Calculates the new period: the new Start becomes the old End, and the new End gets the recurrence interval. The day of the month is preserved and, in shorter months, adjusted to the last day.
- If the contract had been expired for several periods, it rolls forward as many times as needed to bring the term back to the present, in a single pass.
- Writes Start, End and Renewal date to the record.
- Notifies the contract owner with the new end date.
In parallel there is the renewal alert: active contracts whose Renewal date, or End when that is blank, falls in the next 30 days produce a notification for the owner. That alert applies to contracts with no recurrence as well.
Limits and permissions
- Renewal rolls the dates forward. It does not change the contract Value, does not apply an uplift, does not generate an invoice and does not create a new contract record.
- The roll forward is idempotent: each contract is renewed once per cycle, and does not repeat every day.
- A contract with no owner is still rolled forward, but nobody gets the notification.
- A contract with Recurrence None is never rolled forward: it only produces the renewal alert.
- Who can edit the contract fields depends on your role's permission on the Contracts object, set by the administrator.
Common questions
- The customer canceled. How do I stop the renewal? Change the Status to Canceled, or uncheck Auto-renewal. Either one is enough.
- I need the history of the earlier periods. The record holds the current term. If you need the contractual history period by period, create one contract per period instead of using the automatic roll forward.
- The contract expired yesterday and has not renewed. The routine runs once a day. Wait for the next cycle.
- The contract jumped several years at once. That is the expected behavior for a contract that was forgotten for a long time: it is taken straight to the current period, without producing a flood of notifications.
- I got the renewal alert and the auto-renewal notice. Those are two different messages: one before expiration, the other confirming the roll forward.