> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reorderjs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Plans & Offers

> Use the Plans & Offers page to create, edit, enable, and disable the subscription offer configurations that control which products are subscribable.

The Plans & Offers page gives you a single workspace for configuring which products and variants customers can subscribe to, what billing frequencies are available, and what discounts or trial terms apply. Navigate to **Subscriptions → Plans & Offers** in the Medusa Admin sidebar to get started. Each offer record can target an entire product or a single variant — when both exist, the variant-level offer takes precedence. The **Effective source** column lets you see at a glance which record is currently active for any given target.

## The plans and offers list

The list shows all configured offer records in a searchable, filterable table.

### Columns

| Column               | What it shows                                                                                |
| -------------------- | -------------------------------------------------------------------------------------------- |
| **Name**             | The offer name you assigned                                                                  |
| **Target**           | The product or variant this offer applies to                                                 |
| **Status**           | Whether the offer is enabled or disabled                                                     |
| **Frequencies**      | The billing cadences configured for this offer                                               |
| **Effective source** | Which record is currently winning the config resolution: `Product`, `Variant`, or `Inactive` |
| **Updated**          | When the offer was last modified                                                             |

The **Effective source** column is particularly useful when a variant-level offer is disabled and a product-level fallback is still active, or when no active offer exists for a target at all.

### Search

Use the search input in the toolbar to find offers by offer name, product title, variant title, or SKU.

### Filters

Click **Add filter** to apply one or more of the following:

| Filter             | Description                                     |
| ------------------ | ----------------------------------------------- |
| **Status**         | Filter by enabled or disabled                   |
| **Scope**          | Filter by product-level or variant-level offers |
| **Frequency**      | Filter by a specific billing cadence            |
| **Discount range** | Filter by discount percentage or amount         |
| **Product**        | Select a product using a searchable picker      |
| **Variant**        | Select a variant scoped to the chosen product   |

The **Product** and **Variant** filters open structured picker modals instead of free-text inputs, so you always select from real catalog data. Active filters appear as chips in the toolbar. Click **Clear all** to remove all filters at once.

### Sorting

Use the sorting menu to sort the list by **Name**, **Status**, **Product**, or **Updated**.

### Row actions

Each row has an action menu with the following options:

| Action      | What it does                                  |
| ----------- | --------------------------------------------- |
| **Edit**    | Opens the offer in an edit drawer             |
| **Enable**  | Activates the offer (requires confirmation)   |
| **Disable** | Deactivates the offer (requires confirmation) |

While an enable or disable mutation is in progress, the row action label updates to **Enabling...** or **Disabling...** and repeat actions on that row are blocked.

## Creating a new offer

Click **Create** in the page header to open the create flow in a full-screen modal.

<Steps>
  <Step title="Name the offer">
    Enter a name that helps you identify the offer in the list — for example, "Monthly coffee subscription" or "Annual plan – Starter".
  </Step>

  <Step title="Set the scope">
    Choose whether this offer applies to a **Product** or a specific **Variant**.
  </Step>

  <Step title="Select the product">
    Use the product picker to search for and select the target product. If the scope is **Variant**, a second picker lets you select the specific variant within that product.
  </Step>

  <Step title="Set the enabled state">
    Toggle **Offer enabled** on to make the offer active immediately after saving, or leave it off to save in draft state.
  </Step>

  <Step title="Configure frequencies">
    Add one or more billing frequencies. Each frequency row has:

    * **Interval** — `week`, `month`, or `year`
    * **Value** — a positive integer (for example, `1` for monthly, `3` for quarterly)
    * **Discount** (optional) — a percentage or fixed discount amount for customers who choose this cadence

    Use **Add frequency** to add more rows. To remove a row, click the remove button on that row and confirm.
  </Step>

  <Step title="Configure rules">
    Expand the **Rules** section to set:

    * **Minimum cycles** — the minimum number of billing cycles before a customer can cancel
    * **Trial** — toggle on to enable a free trial, then set the number of trial days
    * **Stacking policy** — how the subscription discount interacts with other store discounts (`allowed`, `disallow_all`, or `disallow_subscription_discounts`)
  </Step>

  <Step title="Save">
    Click **Save**. The new offer appears in the list and the table refreshes automatically.
  </Step>
</Steps>

<Note>
  Each `interval:value` combination must be unique within a single offer. Duplicate frequencies are rejected before the form can be submitted.
</Note>

## Editing an existing offer

Click **Edit** in a row's action menu to open the edit drawer. The drawer pre-fills all current values from the offer record.

### What you can change

| Field                                   | Editable |
| --------------------------------------- | -------- |
| Name                                    | Yes      |
| Enabled state                           | Yes      |
| Frequencies and discounts               | Yes      |
| Rules (minimum cycles, trial, stacking) | Yes      |
| Target product or variant               | No       |

The target product and variant are read-only in the edit drawer. To retarget an offer, create a new one for the intended product or variant.

<Note>
  The drawer loads the offer's current data when it opens. Changes you save are applied immediately and both the list and the drawer reflect the updated record.
</Note>

## Enabling and disabling offers

Use **Enable** and **Disable** in the row action menu to toggle an offer's active state without editing it.

<Warning>
  Disabling an offer prevents new subscriptions from using that configuration but does not affect subscriptions that are already active.
</Warning>

## How effective config resolution works

When Reorder resolves which offer configuration applies to a product and variant — for example, during a plan change or a storefront 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 is active, the product is not subscribable.

The **Effective source** column in the list reflects this resolution. If a variant-level offer is disabled and a product-level offer is active, the column shows **Product**. If no active offer exists for the target context, it shows **Inactive**.
