VizupCommerce
shopify

Shopify Multi-Location Inventory: A Ship-from-Store Workflow

Karmanya Agarwal •
#shopify#inventory#fulfillment#retail#omnichannel

Use Shopify locations, keep inventory counts separate by site, route orders with explicit delivery and margin rules, and ship from stores only after stock, staff, and shipping checks are documented.

A second storefront is not automatically the answer when a fashion, beauty, or lifestyle brand opens another shop. If the online catalog, inventory ownership, and customer experience are still shared, one Shopify store with multiple locations can be a simpler operating model. The harder decision is whether a retail location should fulfill online orders or remain protected for in-person demand.

This guide turns that decision into a bounded workflow. It is for the inventory or operations lead deciding between a warehouse, a retail store, a fulfillment service, or a hybrid—not for a team looking for a generic inventory spreadsheet.

Start with the operating decision

Ask one question before changing the Shopify setup:

Can this location reliably promise, pick, pack, and hand off the same products that the online store offers?

A location is a good ship-from-store candidate when all of these are true:

A store should remain retail-only when its stock is intentionally reserved for appointments, launches, visual merchandising, local events, or walk-in demand—or when the team cannot keep inventory and fulfillment status current. Shopify lets a business prevent a location from fulfilling online orders; inventory at such a location is not included in the product’s online quantity.[1][2]

One store with locations or separate stores?

Use one Shopify store with multiple locations when the brand shares a catalog and customer experience but holds stock in different places. Shopify treats retail stores, warehouses, pop-ups, and fulfillment services as locations and tracks inventory separately at each one.[2]

Consider separate Shopify stores only when the storefront, catalog, pricing, market rules, or operational ownership genuinely need to be independent. That is a business-architecture decision, not a workaround for unclear location settings. If the real problem is that the same SKU is scattered across a warehouse and two shops, first test whether location-level inventory and order routing solve it.

Build a location map before activating fulfillment

Create a one-page map of every place that stores, sells, or fulfills inventory. Use a row for each location:

LocationPrimary jobProducts heldCan fulfill online?Shipping origin verified?Owner for exceptions?
WarehouseReplenishment and parcel fulfillmentFull catalog or core rangeYes or noYes or noName a role
Retail storeIn-person selling and local stockStore assortmentYes or noYes or noName a role
Pop-upEvent sellingEvent assortmentUsually no until testedUsually noName a role
3PL or fulfillment appOutsourced pick and packAssigned productsYesVerify with providerName a role

The map prevents a common mistake: treating total inventory as if it were available inventory. Shopify says each location maintains its own count; products are sellable and fulfillable only at locations where they are active.[2] A beauty brand may have 40 units of a serum across three places, but that does not mean every location can ship every order.

For each SKU or variant, record:

Do this first for the products that create the most customer risk: best-selling sizes, limited drops, shade ranges, bundles, gift sets, and products with special packaging. A small, verified catalog is safer than activating every SKU at once.

Configure the Shopify model with guardrails

Shopify’s native model gives you the pieces; your team still has to choose the policy. Work through the following sequence.

1. Add real inventory locations

Add each warehouse, store, pop-up, or fulfillment service that should be represented in the inventory model. Do not add a location merely because a team member works there. The location should correspond to a physical or service node that actually sells, stores, or fulfills stock.[2]

For a new store, confirm the address, local time zone, POS device assignment, shipping origin, and fulfillment permissions before treating its stock as available online.

2. Assign products and quantities by location

Activate only the products that a location can sell or fulfill. Enter the quantity for each location rather than relying on a network total. Shopify supports separate quantities at each location and inventory transfers between locations; a product assigned to a location with a quantity of zero is not a substitute for a receiving workflow.[2][4]

For fashion, verify every size and color variant. For beauty, verify every shade, bundle component, and gift-with-purchase condition. If a bundle depends on items stored in different places, test whether the order will split and whether the promised shipping rate still makes sense.

3. Decide which locations can fulfill online orders

Use online-fulfillment eligibility as a deliberate control, not as a default to forget. If a store is retail-only, keep it out of online fulfillment. If it is a ship-from-store node, include it only after the staff, packing materials, carrier handoff, and exception path are ready.

Shopify’s fulfillment settings determine whether a location’s inventory contributes to online quantity and whether it can receive online fulfillment assignments.[1] Record the decision in the location map so a future manager does not enable a location based on inventory alone.

4. Review shipping profiles and rates

A location can have stock and still be the wrong shipping origin. Shopify shipping profiles group products, locations, rates, and zones; when an order needs products from different location groups, the applicable rates can be combined.[6]

Check each candidate location with a real address in the primary market:

Do not promise two-day or next-day delivery because a store is geographically close. Check the actual handling time, carrier pickup, weekends, local holidays, and product-specific constraints.

Choose an order-routing policy

Order routing is a policy choice about what the business values. Shopify applies routing rules in sequence to prioritize fulfillment locations.[5] Start with the customer and operational promise, then choose the rule order that supports it.

Business priorityRouting emphasisGuardrail to document
Keep the order togetherMinimize split fulfillmentsConfirm one location can pick every line item
Deliver within a marketStay within the destination marketCheck duties, tax, carrier handoffs, and local inventory
Reduce travel distanceShip from closest locationConfirm the closest location can meet handling and carrier cutoffs
Protect retail stockRanked locationsPut the warehouse or 3PL ahead of stores, with stores as a fallback
Clear a seasonal store rangeRanked locations or a controlled campaignSet an end date and review availability after the campaign

Do not treat the default routing result as a business strategy. A warehouse may be cheaper and more consistent than a store even when the store is closer. A store may be the right fallback for a size that is unavailable at the warehouse. A split shipment may be acceptable for a high-value order but harmful for a low-margin one.

Test at least these orders in a staging or controlled live workflow:

  1. One item stocked at the warehouse and one store.
  2. Two variants stocked at different stores.
  3. A bundle whose components are not co-located.
  4. An item that is available in total but not at an online-fulfilling location.
  5. An order whose destination is outside the location’s shipping zone.
  6. A product that sells in person while an online order is being prepared.

Record the assigned location, package count, shipping rate, promised date, and staff action for each test. The purpose is not to prove that one routing rule is universally best; it is to expose a mismatch before shoppers find it.

Run a ship-from-store shift safely

Ship-from-store is an operating workflow, not a toggle. Shopify POS can let permitted retail staff prepare orders, print packing slips, buy or print shipping labels, add tracking, and ship from the location when the relevant fulfillment and shipping settings are configured.[3]

Give the shift a simple queue:

  1. Open the assigned orders. Confirm the location, order status, delivery address, and promised service.
  2. Pick the exact variant. Scan or verify the SKU, size, shade, color, and quantity. Do not replace an item without an approved customer-service path.
  3. Check condition and presentation. Remove damaged, opened, display, or reserved stock from the fulfillment decision.
  4. Pack for transit. Use the packaging and inserts that match the product and the destination.
  5. Buy or attach the shipping label. Confirm the carrier, service, address, and tracking information before handoff.[3]
  6. Mark the correct items fulfilled. If the order is split, make the package boundary visible to the customer and support team.
  7. Log the exception. Record missing stock, an inventory adjustment, a reassignment, a late handoff, or a customer-contact requirement.

For a fashion store, the highest-risk error may be shipping the wrong size or sending a display item without inspection. For a beauty store, it may be shipping the wrong shade, a tester, or a product with a compromised seal. The checklist should reflect the product risk, not just the platform steps.

Keep the retail workflow bounded at first. Start with a small group of SKUs, one store, a defined daily cutoff, and a named escalation owner. Expand only when the team can maintain both the shelf and the shipping queue.

Replenish with transfers, not informal promises

If one store is selling through a product while another has excess, create a tracked inventory transfer instead of relying on a message that says “send a few over.” Shopify’s transfer workflow can move and track inventory between locations, mark units as committed or in transit, and receive them at the destination.[4]

A useful transfer brief includes:

Do not count stock as available at the destination until the receiving step is complete. If the shipment is partial, receive what arrived and leave the remainder visible as outstanding. This is especially important for limited drops, shade assortments, and size curves where one missing variant changes the commercial value of the whole range.

Measure the workflow without promising a lift

Set a baseline before enabling a new ship-from-store location. The first question is operational: can the network fulfill the right order from the right place without creating more customer problems?

Use a weekly scorecard with a primary measure and protective checks:

Primary measure: percentage of assigned online fulfillments handed to the carrier or pickup queue within the promised handling window.

Side-effect checks:

Keep the baseline and comparison conditions visible: date range, products, locations, order volume, carrier services, promotions, and staffing. A faster handoff is not an improvement if stock discrepancies, support load, or returns rise at the same time. Treat early results as descriptive unless the comparison isolates the change.

A location audit

Use this short review before adding a store to online fulfillment:

Save the result as an operating decision, not as a vague “inventory sync” task. Include the owner, the date to recheck, and the evidence that would change the decision.

Before changing the operating flow

Activate ship-from-store when:

Keep the store retail-only or use it as a fallback when:

Use the one that makes the inventory promise, fulfillment decision, staff workflow, and customer expectation agree with one another to judge multi-location setup; the one that makes every unit available everywhere alone is not enough.

Sources

[1] https://help.shopify.com/en/manual/fulfillment/setup/locations/fulfillment — Shopify: Setting up order fulfillment for locations [2] https://help.shopify.com/en/manual/products/inventory/setup/multi-managed-inventory — Shopify: Understanding inventory management for multiple locations and apps [3] https://help.shopify.com/en/manual/sell-in-person/shopify-pos/order-management/ship-from-store — Shopify: Ship from store [4] https://help.shopify.com/en/manual/products/inventory/inventory-transfers/creating-and-processing-transfers — Shopify: Creating and processing inventory transfers [5] https://help.shopify.com/en/manual/fulfillment/setup/order-routing — Shopify: Order routing [6] https://help.shopify.com/en/manual/fulfillment/setup/shipping-profiles/managing-fulfillment-locations — Shopify: Managing fulfillment locations in shipping profiles

← Back to Blog