Overview
Zuora supports two subscription term types:- Evergreen: subscriptions that renew automatically and have no fixed end date. This is the default behavior in Stigg’s Zuora integration.
- Termed: subscriptions with a defined start and end date. After the term ends, the subscription can either renew for another specific term or convert to an evergreen subscription, depending on the configured renewal settings.
Configuring termed subscriptions via metadata
To create a termed subscription in Zuora, add the relevantZUORA__ metadata keys to the subscription in Stigg. Stigg will map these to the corresponding Zuora fields when syncing the subscription.
All metadata values are case-insensitive.
| Stigg metadata key | Zuora field | Possible values |
|---|---|---|
ZUORA__TermType | initialTerm.termType | TERMED | EVERGREEN |
ZUORA__InitialTerm | initialTerm.period | Whole number (e.g. 12) |
ZUORA__RenewalTerm | renewalTerm.period | Whole number (e.g. 12) |
ZUORA__PeriodType | initialTerm.periodType, renewalTerm.periodType | Day | Week | Month | Year (default: Month) |
ZUORA__RenewalSetting | renewalSetting | RENEW_TO_EVERGREEN | RENEW_WITH_SPECIFIC_TERM |
ZUORA__AutoRenew | autoRenew | true | false |
Renewal behavior
TheZUORA__RenewalSetting and ZUORA__AutoRenew metadata keys control what happens when a termed subscription reaches its end date:
ZUORA__RenewalSetting | ZUORA__AutoRenew | Behavior |
|---|---|---|
RENEW_WITH_SPECIFIC_TERM | true | Subscription automatically renews for the duration set in ZUORA__RenewalTerm, indefinitely until cancelled. |
RENEW_TO_EVERGREEN | true | Subscription converts to evergreen upon renewal, with no further expiry date. |
| Any | false | Subscription is not automatically renewed. It becomes “Out of Term” but remains active until manually renewed or cancelled. |
Example: creating a 12-month termed subscription
To create a subscription with a 12-month initial term that renews for another 12 months automatically, set the following metadata on the subscription:| Key | Value |
|---|---|
ZUORA__TermType | TERMED |
ZUORA__InitialTerm | 12 |
ZUORA__PeriodType | Month |
ZUORA__RenewalTerm | 12 |
ZUORA__RenewalSetting | RENEW_WITH_SPECIFIC_TERM |
ZUORA__AutoRenew | true |
Converting an existing subscription to termed
Subscriptions created in the Stigg dashboard are Evergreen by default. To convert an existing subscription to a Termed subscription, update its metadata directly from the subscription details page:- In the Stigg dashboard, navigate to the Subscription details page of the subscription you want to convert.
- Click Edit on the Metadata section.
- Add the relevant
ZUORA__metadata keys (see the configuration table above). - Save the changes.
If the subscription is already Termed in Zuora, updating these metadata values will issue an amendment to the existing term.
ZUORA__TermType to EVERGREEN and save.
For general information on how Stigg metadata is mapped to Zuora custom fields, see the metadata synchronization section in the Zuora overview.
Handling term-end expiration
WhenZUORA__AutoRenew is set to false, Zuora does not cancel the subscription when its term ends. Instead, the subscription transitions to an “Out of Term” state but remains Active in Zuora — no standard subscription canceled or updated webhook is triggered.
To ensure Stigg correctly marks these subscriptions as expired and revokes entitlements, you need to configure a Custom Scheduled Event and a Notification in Zuora that notifies Stigg when a subscription’s term ends.
Step 1: Create a custom scheduled event in Zuora
In Zuora, navigate to Platform → Events and create a new Custom Scheduled Event with the following settings:| Setting | Value |
|---|---|
| Base Object | Subscription |
| Base Field | TermEndDate |
| Condition | TermEndDate == today |
| Schedule | Once per day at your preferred UTC time |
The scheduled event runs a daily batch job at the configured time and triggers only for subscriptions whose
TermEndDate matches the current date. Subscriptions whose term ended on a previous day will not re-trigger.Step 2: Create a notification for the scheduled event
In Zuora, navigate to Platform → Notifications and create a new Notification Definition (Callout) for the scheduled event created in Step 1, pointing to your Stigg webhook endpoint. Stigg will then receive the event, fetch the subscription details from Zuora, and — ifautoRenew = false and the termEndDate is in the past — mark the subscription as expired and revoke the associated entitlements.