Skip to main content
Shopify Delivery Options let Firmhouse store the complete delivery choice for a subscription, including whether it is shipping, local delivery, or pickup. Firmhouse refreshes the available options when subscription products or the delivery address change and uses the selected option for future Shopify orders.

Before You Enable Delivery Options

Make sure:
  • Your Shopify app is connected and its requested permissions are up to date.
  • Take shipping rates from Shopify is enabled under Settings > Shipping.
  • Your Shopify shipping profiles return the expected options for your subscription products and delivery countries.
Enabling Delivery Options is currently staff-assisted. Firmhouse staff can start it from Settings > Shipping > Shopify Delivery Options. Enabling it preserves the existing shipping data, refreshes the available options whenever an order is generated, and schedules an immediate refresh for eligible existing subscriptions.
The immediate refresh is optional and safe to run again. If Shopify cannot return authoritative rates, subscriptions can continue with a complete saved Delivery Option. A legacy Shopify shipping rate is reused only when the unchanged rate was previously confirmed for the subscription’s current currency.

How Firmhouse Matches a Delivery Option

Firmhouse first tries to preserve the subscription’s existing delivery choice. A stored Shopify shipping option can only match another shipping option, and a stored Shopify pickup option can only match another pickup option. Some carrier apps, including Monta, expose both home delivery and carrier pickup points as Shopify Shipping options. Firmhouse also preserves the recognized carrier-level home-delivery or pickup intent when an exact carrier handle changes. Within the same delivery type, Firmhouse looks for the following identifiers:
  1. The same pickup location and option code, when location data is available.
  2. A unique option with the same code.
  3. A unique option with the same Shopify handle.
  4. A unique Monta shipping identity, for stores using Monta.
  5. The only available option of that delivery type.
For older subscriptions without a stored delivery type, Firmhouse only accepts a unique match based on the available location, code, or handle data.

What Happens When There Is No Match

If Firmhouse cannot match the previous choice, it selects the cheapest safe option whose type is Shipping and saves that typed option on the subscription.
  • Without a saved delivery choice, recognized carrier pickup-point options are excluded from automatic fallback. Firmhouse prefers an applicable home-delivery option instead.
  • With a saved recognized carrier choice, fallback stays within the same home-delivery or pickup type.
  • Shopify-native Pickup and Local delivery options are never selected as automatic fallbacks, even when they are free.
  • Prices are compared as numbers in the presentment currency.
  • Equal prices are resolved consistently by title, then code, then handle.
  • If Shopify cannot return authoritative rates, Firmhouse can continue with a complete saved Delivery Option or an unchanged legacy Shopify shipping rate that was previously confirmed for the subscription’s current currency by a successful refresh.
  • Projects using Shopify Delivery Options block when Shopify returns no applicable option. Legacy Shopify shipping-rate projects preserve their existing behavior when Shopify returns an empty rate list: Firmhouse clears the saved rate and continues without a shipping line. A non-empty rate list that cannot be matched safely still blocks.
This fallback protects recurring deliveries from silently changing into pickup orders while still allowing subscriptions with missing legacy data to recover automatically.

Recurring Order Generation

Before generating each recurring order, Firmhouse refreshes the available options using that order’s actual products and shipping address. A newly matched or fallback option is saved before order generation continues. This also replaces stale provider handles as Shopify or a shipping app changes them. If Shopify cannot return authoritative rates, Firmhouse continues only when the subscription has reliable saved shipping data. For legacy Shopify shipping rates, the unchanged saved rate must have been confirmed for the subscription’s current currency by an earlier successful refresh. The underlying failure remains visible to Firmhouse for investigation. Projects using Shopify Delivery Options block if Shopify returns no applicable option. Legacy Shopify shipping-rate projects continue without a shipping line only when Shopify explicitly returns an empty rate list; they still block when Shopify returns candidates but none can be matched safely. When blocked, Firmhouse creates a notification with the destination, error details, and a retry action. No order, charge, or shipment-date change is made. After fixing the Shopify configuration or choosing a delivery option on the subscription, the next order refreshes the option automatically. Staff can also use Refresh all Delivery Options under Settings > Shipping.

Change a Subscription’s Delivery Option

To review or change one subscription:
  1. Open the subscription in Firmhouse.
  2. Find Shipping method and click Edit.
  3. Select one of the options currently returned by Shopify.
  4. Click Save.
The available choices depend on the subscription’s products and delivery address. If no choices appear, verify the Shopify shipping profiles, product connections, address, and app permissions.