Skip to main content

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 relevant ZUORA__ 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 keyZuora fieldPossible values
ZUORA__TermTypeinitialTerm.termTypeTERMED | EVERGREEN
ZUORA__InitialTerminitialTerm.periodWhole number (e.g. 12)
ZUORA__RenewalTermrenewalTerm.periodWhole number (e.g. 12)
ZUORA__PeriodTypeinitialTerm.periodType, renewalTerm.periodTypeDay | Week | Month | Year (default: Month)
ZUORA__RenewalSettingrenewalSettingRENEW_TO_EVERGREEN | RENEW_WITH_SPECIFIC_TERM
ZUORA__AutoRenewautoRenewtrue | false

Renewal behavior

The ZUORA__RenewalSetting and ZUORA__AutoRenew metadata keys control what happens when a termed subscription reaches its end date:
ZUORA__RenewalSettingZUORA__AutoRenewBehavior
RENEW_WITH_SPECIFIC_TERMtrueSubscription automatically renews for the duration set in ZUORA__RenewalTerm, indefinitely until cancelled.
RENEW_TO_EVERGREENtrueSubscription converts to evergreen upon renewal, with no further expiry date.
AnyfalseSubscription 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:
KeyValue
ZUORA__TermTypeTERMED
ZUORA__InitialTerm12
ZUORA__PeriodTypeMonth
ZUORA__RenewalTerm12
ZUORA__RenewalSettingRENEW_WITH_SPECIFIC_TERM
ZUORA__AutoRenewtrue

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:
  1. In the Stigg dashboard, navigate to the Subscription details page of the subscription you want to convert.
  2. Click Edit on the Metadata section.
  3. Add the relevant ZUORA__ metadata keys (see the configuration table above).
  4. Save the changes.
Upon saving, Stigg syncs the updated metadata to Zuora and converts the subscription from Evergreen to Termed with the specified term settings.
If the subscription is already Termed in Zuora, updating these metadata values will issue an amendment to the existing term.
To convert a Termed subscription back to Evergreen, set 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

When ZUORA__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 PlatformEvents and create a new Custom Scheduled Event with the following settings:
SettingValue
Base ObjectSubscription
Base FieldTermEndDate
ConditionTermEndDate == today
ScheduleOnce 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 PlatformNotifications 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 — if autoRenew = false and the termEndDate is in the past — mark the subscription as expired and revoke the associated entitlements.