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

# Split Shopify checkout products into separate subscriptions

> Understand when products from one Shopify checkout stay together and when Firmhouse creates separate subscriptions.

Normally, products bought together through Shopify Checkout become one Firmhouse subscription. Sometimes they need to be managed separately.

For example, a customer might buy monthly coffee that can be cancelled at any time and monthly filters with a three-month minimum commitment. Separate subscriptions let the customer pause, change, or cancel one without affecting the other.

For most merchants, nothing changes. Products with the same plan rules continue to stay together, and a standard Shopify subscription widget needs no extra configuration.

## When products become separate subscriptions

Firmhouse separates products when:

* Shopify already placed them on different subscription contracts;
* their selling plans have different minimum or maximum commitment rules; or
* they have different values for **Subscription split order line attribute**, when you have configured one.

Firmhouse reads the selling plan on each checkout line to find its commitment rules. In detail, it compares whether minimum and maximum commitments are enabled and, when present, their duration and unit.

The selling plan, billing interval, or delivery interval alone does not cause a split. Two products on different selling plans can stay together when their commitment rules and other details match. Products with the same monthly interval can split when one has a minimum commitment and the other does not.

Here are some common examples:

| Checkout                                                                      | What Firmhouse creates                                | Why                                     |
| ----------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------------------- |
| Monthly coffee and monthly filters, both with the same commitment rules       | One subscription                                      | Their plan rules match                  |
| Monthly coffee with no minimum and monthly filters with a three-month minimum | Two subscriptions                                     | Their commitment rules differ           |
| Two boxes with different chosen shipment dates                                | Two subscriptions, when `Shipment date` is configured | Their configured checkout values differ |

When Shopify initially placed split products on one contract, Firmhouse creates a contract for each resulting subscription.

## Separate products by a checkout value

The optional **Subscription split order line attribute** setting is available by default. It is useful when the plan rules are the same but a choice made in your storefront should keep products separate, such as a shipment date, location, or recipient.

Configure a split attribute when:

* your storefront collects a value for each product added to the cart;
* products with different values need independent subscriptions; and
* those products can otherwise share the same Shopify contract and Firmhouse commitment settings.

Leave the setting empty when Shopify contracts and plan rules already produce the subscriptions you need.

## Configure the attribute in Firmhouse

1. In Firmhouse, go to **Apps**.
2. Open the **Shopify Subscriptions** app.
3. In **Configuration**, find **Subscription split order line attribute**.
4. Enter the Shopify line item property name, such as `Shipment date`.
5. Click **Save**.

Enter the Shopify line item property name, not one of the possible values. The property name is case-sensitive. Firmhouse ignores whitespace around the name, but using exactly the same spelling and capitalization in Firmhouse and Shopify is safest.

## Add the value to the Shopify product form

Add the line item property inside the existing Shopify product form that submits the product to the cart. Place it alongside the variant, selling plan, and quantity fields:

```liquid theme={null}
<label for="shipment-date">Shipment date</label>
<input
  id="shipment-date"
  type="date"
  name="properties[Shipment date]"
  required
>
```

The text inside `properties[...]` must match **Subscription split order line attribute**. In this example, the configured name is `Shipment date`. A cart line can then contain a value such as `2026-08-14`. Lines with the same date stay together when their other plan details match; lines with different dates become separate subscriptions.

Do not create a second product form for this field. Shopify only attaches the property to the cart line when the field is submitted as part of the form that adds the product.

## Example with shipment dates

Suppose a customer checks out with these products:

| Product   | Plan rules       | Shipment date |
| --------- | ---------------- | ------------- |
| Product A | Minimum 3 months | August 14     |
| Product B | Minimum 3 months | August 21     |

Because the `Shipment date` values differ, Firmhouse creates two subscriptions. If both values were August 14, the products would stay together.

Products that do not submit the configured property have no split value and stay grouped with other products that also have no value, provided their other grouping dimensions match.

This setting applies when Shopify orders are imported. It does not retroactively regroup existing subscriptions.

## Automations and integrations

One Shopify checkout can create more than one Firmhouse subscription. Make sure automations that change products, plans, or subscription status handle every resulting subscription instead of assuming that one checkout always creates one subscription.

If your integration stores Shopify subscription contract IDs, read the current contract ID from each Firmhouse subscription after import. Products that split from one shared Shopify contract receive separate contract IDs. Test a representative complex checkout before relying on the automation in production.

## Related articles

* [Shopify app settings](/configure/shopify/shopify)
* [Build a custom subscription widget](/configure/shopify/custom-subscription-widget)
* [Shopify selling plans and selling plan groups](/shopify/selling-plans-and-groups)
