Selection channels
A direct Offer does not need a prior association with the selected plan or price.
Eligibility and exclusivity
Automatic introductory selection excludes customers with anactive, past_due, or paused subscription in the organization. Other historical statuses do not create a lifetime ban.
An explicit offerId overrides automatic introductory selection. A Promo Code is rejected with intro_offer_active while an eligible introductory placement applies. offerId, promoCode, and cardPromotionId are mutually exclusive. customTrialDays and skipTrial combine with offerId and promoCode, not with cardPromotionId. A trial without a payment method starts with none of the three.
Duration and phases
An Offer combines ordered discount or fixed-price phases. A finitedurationCycles counts billing periods, not calendar months. A yearly Offer phase with durationCycles: 2 lasts two yearly billing cycles.
durationCycles: null to remain active until the accepted application ends. Promo Codes can reference the same Offers. Introductory placement is narrower: exactly one finite percentage or amount_off phase.
Trials are not Offer phases. When the price has a trial, the discount starts with the first invoice after it.
Plan changes
The Offer Application belongs to the price target accepted by the subscription. An immediate plan change ends that application. The change may pass a newofferId or a promoCode; otherwise the new plan begins at its normal price. Scheduled plan changes accept neither.
What gets discounted
Current subscription Offer channels apply to the plan base price. Overage, add-on, credit-pack, and seat-overage charges remain at their normal prices.Accepted phases are stored in an immutable Offer Application. Editing, deactivating, or archiving the catalog Offer changes future applications only.