nohold / docs
How splitting works

Multi-location

How nohold handles merchants with multiple Shopify locations or Brightpearl warehouses.

How nohold handles merchants with multiple Shopify locations and Brightpearl warehouses.

What's shipped today

When nohold places a fulfillment hold on the preorder half of a split, it records the Shopify location that hold was assigned to. When Shopify later reports inventory arriving:

  • Inventory at the same location triggers auto-release (subject to your release rule).
  • Inventory at a different location does nothing for this hold.

This prevents the common multi-warehouse problem where stock arriving at warehouse A triggers fulfillment of an order that was supposed to ship from warehouse B.

Available on all plans (it's part of the inventory-update webhook flow).

The location is captured at the moment Shopify assigns the fulfillment order to a location during checkout. If Shopify can't determine a location (rare; happens with fulfillment-service-managed FOs), the location stays NULL and the auto-release fires on inventory arrival at any location, the same as the pre-multi-location behavior.

What's coming soon

Full per-tag warehouse routing rules. Examples: campaign:fall24 orders ship from London, campaign:winter24 orders ship from Phoenix. These let you tell nohold which warehouse a preorder should land at, rather than just respecting whatever Shopify happened to pick.

Per-tag routing requires an additional read_locations scope. When it ships, you'll get a banner in the dashboard asking you to re-grant scopes from your Shopify admin: a one-time click.

Scheduled for Scale tier.

What if I'm a single-location merchant?

Nothing changes. The auto-release runs as it always did. The location capture happens silently and the filter is a no-op when there's only one location to match against.

On this page