Articles in this section

How to Configure 3rd Party Fulfillment Locations in Shopify

Use this article when Shopify assigns orders to a 3rd party fulfillment location instead of a location ShipHero fulfills from. To sync locations and choose which warehouse pushes inventory to each location, see How to Manage Shopify Locations in ShipHero.

Why Shopify Fulfillment Service Rules Affect ShipHero

Shopify introduced a platform change affecting third-party fulfillment apps. Order management apps can no longer create fulfillments for orders assigned to a different app's fulfillment service (Shopify changelog).

In practice, this means a warehouse or fulfillment app may only mark an order as fulfilled if that order (or its fulfillment order) is assigned to the location or fulfillment service associated with that app.

Apps can still read and manage orders globally, but Shopify's API now prevents fulfillment creation if the order's items are assigned to another app's location. Fulfillment service apps can only fulfill orders assigned to them, while orders assigned to merchant-managed (in-house) locations remain fulfillable by order management apps as usual.

ShipHero Requirement for Shopify Merchant Locations

All orders to be fulfilled by ShipHero need to be assigned to a merchant location.

Starting on June 6th, 2025: If a fulfillment-order line is assigned to a location not owned by ShipHero, ShipHero sets the fulfillable_quantity to 0 or calculates the right fulfillable quantity based on the allocation.

How to Set Up Shopify Order Routing for ShipHero Locations

To assign whole orders or order lines to ShipHero based on available inventory, rank your default merchant locations first in your Shopify order routing rules. These are the general steps. For the current steps in Shopify, see Setting up order routing in the Shopify Help Center.

  1. In Shopify, go to Settings > Shipping and delivery and select Order routing.
  2. Select Add rule.
  3. Select Use ranked locations.
  4. Create a new location group for the 3rd party locations, move those locations into it, and select Done. Locations in the first group rank above the second group.
  5. Move the new rule so it is the second priority.
  6. Select Save.

Shopify now routes orders to ShipHero first when inventory is available and ShipHero is the closest location to the destination address. Shopify routes to the 3rd party location when it is not.

Shopify Order Routing Screenshots

Shopify's interface may differ from these screenshots. Use them as a general guide to where each setting is.

Step 1: Open Order routing Step 2: Select Add rule Step 3: Select Use ranked locations Step 4: Group the locations Step 5: Rank the rule second
Shopify Settings page with Shipping and delivery selected and an arrow pointing to the Order routing section Shopify Order routing page showing the default routing rules and an arrow pointing to Add rule Shopify Add rule window listing Use location metafield and Use ranked locations Shopify Use ranked locations rule showing two location groups, one for merchant locations and one for 3rd party locations, and the Done button Shopify Order routing page showing the Use ranked locations rule moved to the second position

How to Route Shopify Orders to a Location by Destination with Shopify Flow

If you need to map orders or line items to a location based on destination country or other conditions, use Shopify Flow. Flow helps you build custom automations without code, including inventory tasks like reordering and restocking and managing fraud concerns.

For example, a customer needs to assign orders that are not going to the US or CA to a location in China. MX orders would usually go to US or CA locations because of proximity, so a different approach is needed. These are the general steps. For the current steps in Shopify, see Creating workflows in Shopify Flow in the Shopify Help Center.

  1. Set the trigger to run when an order is created.
  2. Add a condition that checks the shipping address country code against US and CA.
  3. Because more than one fulfillment order can be created per order, get the order's fulfillment orders and loop through them with a For each step.
  4. Add the action that assigns each fulfillment order to the location you want, then review the finished flow.

On order creation, when the country is not US or CA, this flow assigns the fulfillment orders to the location defined in the last step.

Shopify Flow Screenshots

Shopify's interface may differ from these screenshots. Use them as a general guide to what the flow looks like.

Step 1: Trigger Step 2: Condition Step 3: Loop through fulfillment orders Step 4: Finished workflow
Shopify Flow trigger showing Order created Shopify Flow condition checking whether the shipping address country code equals US or CA Shopify Flow showing the Get fulfillment order data action followed by a For each loop Shopify Flow showing the finished workflow with the action panel open

Shopify Order Routing and Flow Resources

More Resources

  • ShipHero Public API

    Connect your tools and AI agents directly to ShipHero with the Public API. Build powerful integrations, automate workflows, and tap into real-time data using the AI tools you prefer, with the option for secure, read-only access for AI-driven insights without added risk.

  • ShipHero Academy

    Explore ShipHero Academy for certifications, deep-dive training, and expert-led courses on WMS and fulfillment. Build your expertise and help your team operate at a higher level.

  • Change Log

    Stay up to date with the latest improvements across ShipHero. The Change Log gives you a clear view of new features, enhancements, and fixes as they roll out—so you always know what’s new and what’s better.