Setting up order fulfillment for locations
After you add locations, you need to configure how each location fulfills orders. When you have multiple active locations, Shopify assigns online orders to locations based on available inventory and the order routing rules you configure.
If a location has enough inventory to fulfill an entire order, then the order is assigned to that location. If no single location can fulfill the order, then it's split across multiple locations or the highest-priority location oversells the product. After you set up order routing, you can assign inventory to your locations.
On this page
- Understanding how orders are assigned to locations
- Setting up location fulfillment for online orders
- Setting up location fulfillment for in-store purchases
- Change the default location
- Activate or deactivate delivery methods for a location
- Prevent a location from fulfilling online orders
- Example for online order fulfillment
Understanding how orders are assigned to locations
When orders are placed through any online sales channel, they're assigned to a location based on your order routing configuration and available inventory. By default, if any location can fulfill the entire order, then the inventory is taken from that location. If no location can fulfill the entire order, then the order is split across multiple locations, or the highest-priority location oversells the product.
Overselling happens when you sell more of a product than the quantity that you have in stock for that product at that location. If you have Continue selling when out of stock deactivated for a product, then the product displays as out of stock to customers based on your total online quantity across all locations that fulfill online orders. Learn more about selling out of stock products.
For example, you sell shirts and have 2 locations with the following priorities in your order routing configuration:
- Location A, set to top priority.
- Location B, set to second priority.
Location A has 1 shirt and Location B has 2 shirts. If you receive an order for 2 shirts, then Location B fulfills it because it has enough inventory to fulfill the entire order. If you receive an order for 3 shirts, then Location A oversells the shirt and finishes with an inventory of -2.
Considerations for assigning orders to locations
Review the following considerations when configuring how orders are assigned to locations:
- Product-specific fulfillment: If you need different locations to fulfill specific products or product types, then use shipping profiles to assign products to locations.
- Geographic proximity: By default, locations aren't prioritized based on proximity to the customer's shipping address. To fulfill from the closest location, configure order routing to add the Ship from closest location rule.
- Split fulfillments: Orders are automatically split when no single location has enough inventory to fulfill the entire order. You can control this behavior with order routing rules such as Minimize split fulfillments.
Setting up location fulfillment for online orders
If you have more than one active location, then you need to specify how to fulfill online orders. There are several ways to set up your locations for fulfilling orders:
- If you want all items for online orders to fulfill from a single location, then make that your default location and prevent other locations from fulfilling online orders.
- If you want to prioritize specific locations to fulfill orders before others, then configure order routing rules to rank your locations.
- If you want to customize which location fulfills orders based on products, then update your shipping settings to use shipping profiles.
- If you're using a dropshipping app or fulfillment service to fulfill all of your orders, then you don't need to make any changes to your locations or the default location.
Setting up location fulfillment for in-store purchases
In-store purchases that are completed with Shopify POS use available inventory from the location where the sale is made. If the orders are placed to be shipped to the customer's address, then they use inventory based on your order routing configuration rather than the store's location.
Change the default location
If you don't update your shipping settings, then your shipping rates are calculated based on the location that's set as your default location. Your default location is displayed in the Default section in your Locations settings.
You can set any of your active locations to be the default location. Apps and deactivated locations can't be set as the default location.
If you change the default location to a location where a carrier isn't supported, then the rates for that carrier are hidden at checkout. For example, if you set a default location in the United States, then Canada Post rates aren't displayed at checkout.
Rates for buying shipping labels from the Shopify admin are calculated based on the fulfillment location, not your store's default location.
Steps:
Desktop
From your Shopify admin, go to Settings > Locations.
In the Default location section, click Change.
Select a location, and then click Save.
Mobile
From the Shopify app, tap
, and then tap
Settings.
In the Store settings section, tap Locations.
In the Default location section, tap Change.
Select a location, and then tap Save or ✓.
Activate or deactivate delivery methods for a location
If you have the Use inventory at this location to fulfill online orders option activated for your location, then you can view available delivery methods, and activate or deactivate them for a location. You can also view the status of each delivery method for a location.
Steps:
Desktop
From your Shopify admin, go to Settings > Locations.
In the All locations section, click a location that you want to activate or deactivate delivery methods for.
In the Fulfillment section, click a delivery method that you want to activate or deactivate.
Mobile
From the Shopify app, tap
, and then tap
Settings.
In the Store settings section, tap Locations.
In the All locations section, tap a location that you want to activate or deactivate delivery methods for.
In the Fulfillment section, tap a delivery method that you want to activate or deactivate.
Prevent a location from fulfilling online orders
Some businesses have locations that hold inventory for in-person sales only, or locations that are only for storage. Preventing a location from fulfilling online orders ensures that orders from sales channels such as the Online Store and Facebook Shop don't use inventory from these locations.
Preventing a location from fulfilling online orders removes any inventory assigned to the location from a product's online quantity. The online quantity of a product is displayed on the Inventory page. If you display inventory levels on your online store, then this is the number that's displayed to customers.
Preventing a location from fulfilling online orders also prevents Shopify POS ship-to-customer orders from using inventory from these locations.
The location's inventory can still be used to fulfill draft orders and orders from other sales channels. Check whether your sales channels follow your store's inventory policies when they create orders.
Steps:
Desktop
From your Shopify admin, go to Settings > Locations.
In the All locations section, click the location that you want to stop fulfilling online orders from.
In the Fulfillment section, deactivate the Use inventory at this location to fulfill online orders toggle.
Click Save.
Mobile
From the Shopify app, tap
, and then tap
Settings.
In the Store settings section, tap Locations.
In the All locations section, tap the location that you want to stop fulfilling online orders from.
In the Fulfillment section, deactivate the Use inventory at this location to fulfill online orders toggle.
Tap Save or ✓.
Example for online order fulfillment
In this example, a store has 4 locations and receives online orders for various items. The orders are assigned to locations based on the order routing configuration and the following default rules:
- Try to assign the order to a single location.
- If required, then assign a line item to a location that has enough inventory, but don't split line items between locations.
- If an item is oversold, then assign the order to the highest-priority location where the item is stocked.
Assume the following inventory is available at the locations:
| Location | Hats | Shirts | Mugs | Shoes |
|---|---|---|---|---|
| New York | 5 | 1 | Not stocked | Not stocked |
| Los Angeles | 0 | 5 | 1 | Not stocked |
| Chicago | 1 | 0 | 5 | 1 |
| Pittsburgh | 10 | 10 | 10 | 10 |
The order routing configuration has ranked locations in the following order:
1 - New York. 2 - Los Angeles. 3 - Chicago.
Pittsburgh doesn't fulfill online orders at all.
Based on these order routing rules, some example orders are assigned to the following locations for fulfillment:
| Order | Assigned locations | Reason |
|---|---|---|
| 1 shirt | New York | Highest priority location with inventory. |
| 1 shirt, 1 mug | Los Angeles | Highest priority single location with both items. |
| 1 hat, 1 mug | Chicago | Only location with both items. |
| 2 shirts | Los Angeles | New York has insufficient inventory. Los Angeles has enough. |
| 2 hats, 2 shirts | Hats assigned to New York, shirts assigned to Los Angeles | No single location has both items. Split to avoid overselling. |
| 6 shirts | New York | Oversold. Assigned to highest priority location where shirts are stocked. |
| 7 shirts | New York | Oversold. Assigned to highest priority location where shirts are stocked. |
| 1 hat, 1 shirt, 1 mug, 1 pair of shoes | Hat and shirt assigned to New York, mug assigned to Los Angeles, shoes assigned to Chicago | No single location has all items. Each assigned to highest priority location with inventory. |