Skip to main content
A plan offer is the configuration record that makes a product or variant subscribable. It defines which billing frequencies are available to customers, what discount (if any) applies to each frequency, and additional rules like trial periods and minimum commitment cycles. Without an active plan offer, a product cannot be added to a subscription checkout.

Product scope vs. variant scope

You can configure a plan offer at the product level or at an individual variant level. When both exist for the same product, the variant-level offer always wins — it fully replaces the product-level configuration for that variant. No fields are merged between the two records.
If a variant-level offer is disabled or does not exist for a variant, Reorder falls back to the product-level offer. If neither is active, the product is not subscribable.

Allowed frequencies

Each plan offer defines one or more allowed billing frequencies. A frequency is a combination of an interval and a positive integer value: Each frequency must use a unique interval:value combination within the same offer. Duplicates are rejected.

Per-frequency discounts

You can attach a discount to each frequency in the offer. Customers who choose a longer or preferred cadence can receive a better price. Discounts are optional and can be defined for any subset of the allowed frequencies. A discount can only be attached to a frequency that is already present in allowed_frequencies.

Offer rules

Each plan offer can include a rules object with three settings:

Minimum cycles

minimum_cycles sets a minimum number of billing cycles before a customer can cancel. For example, setting minimum_cycles: 3 means a subscriber must complete at least three paid renewals before the subscription can be cancelled through a standard cancellation flow.

Trial settings

When a trial is active, the subscription is marked as a trial and trial_ends_at is set. Billing starts after the trial period ends.

Stacking policy

The stacking policy controls how the subscription discount interacts with other discounts in your store:

Enabled and disabled states

Every plan offer has an is_enabled flag. Only enabled offers are considered during effective config resolution. Disabling an offer removes it from the subscribable configuration for new subscriptions without deleting the record — you can re-enable it at any time from the Admin.
Disabling an offer does not affect subscriptions that are already active. It only prevents new subscriptions from using that offer configuration.

Effective config resolution

When Reorder resolves the subscription configuration for a product and variant — for example, during a plan change or a PDP offer lookup — it follows this order:
  1. Look for an active variant-scoped offer for the requested variant.
  2. If none exists, look for an active product-scoped offer for the product.
  3. If neither exists, the product is not subscribable.
The winning record provides all configuration fields. Reorder does not merge frequencies, discounts, or rules across the product-level and variant-level records. You can verify the resolved configuration from the offer detail page in the Admin, which shows the effective config summary alongside the source record.