By Janson Wang · Founder & CEO, ASG Dropshipping · 17 min read
Quick Answer: Copy each location’s eligibility, stock and dated rules before changing anything. Shopify order routing chooses who fulfills; shipping settings price checkout. Compare the customer’s shipping payment with both parcels’ actual charges. A difference can be an intended subsidy. For an urgent move, go straight to the current-order procedure .
A screening machine, blue conveyor and parcel trolley share the same warehouse bay. Visible parcel labels and paperwork have been redacted. Two Shopify order routing questions keep coming up from sellers with more than one location. A new seller on Reddit was planning UK and UAE hubs and wanted each country’s orders to reach its local hub. A Shopify Community merchant stocked the same products in a US warehouse and a Singapore 3PL. After setting Singapore stock to zero, they could still order from Singapore against US stock.
The first question concerns assignment; the second concerns what customers can buy. A third is how much checkout charges. Keep separate records for all three. An unexpected warehouse and an unexpectedly small shipping payment need different explanations.
This guide combines Shopify documentation, historical merchant reports and worked assumptions. It has not been tested in your store. Examples labeled DEMO are invented teaching records, not ASG customer results. If you are investigating an old order, today’s configuration cannot fill a missing historical field.
On this page
Check whether both locations can fulfill the order
Start with your goal and a specific cart. Write down core SKUs, destination countries, daily order volume, cost limits and delivery expectations. Decide whether your immediate priority is fewer parcels, a preferred warehouse or another documented requirement. That gives the later rule comparison a purpose.
Shopify multi location inventory: record four checks
Shopify’s routing setup guide excludes locations with online fulfillment disabled or no active destination zone in the relevant shipping profile; rates are not required for that zone check. Unverified location addresses affect distance ranking. Stock must be checked at order time.
Use these four record groups before editing a rule. They are a practical worksheet, not a copy of an admin screen.
Check
Fields to capture
Check Online fulfillment
Fields to capture Location name and ID; enabled or disabled; screenshot date; person checking.
Check Address
Fields to capture Stored location address; verification status; customer country and postcode; unresolved mapping issue.
Check SKU and quantity
Fields to capture Exact variant ID; quantity ordered; available quantity at each location at the relevant time; evidence file.
Check Shipping coverage
Fields to capture Shipping system; relevant profile or option; location group or condition; destination coverage; separate checkout rate check.
Open Settings → Locations for location records and Settings → Shipping and delivery → Order routing for the rule list, following the official setup instructions . Save screenshots with the date, timezone and store identifier. For an old order, label today’s screenshot CURRENT, not ORDER-TIME.
For example, “black cap available” is incomplete. Record CAP-BLK, quantity one, UK available five, UAE available five, and when those figures applied. Do not substitute total stock across the business for the quantity at the named location. If the historical inventory evidence is missing, record UNKNOWN and ask who can retrieve it.
The zone check and the customer checkout check answer different questions. A country offered to customers must also meet Shopify’s active market and shipping-zone requirements . Do not treat “zone exists” as proof that the intended customer has an available rate.
For a new store, fill the same fields using planned values and mark the entire sheet PLANNED. Choose a one-item cart, a mixed cart and your main destination. Write expected assignments and checkout charges before comparing them with what the store displays. A checkout preview is not a fulfillment test. It is a check of the shopping experience; fulfillment and app results still require an order record.
How Shopify order routing rules choose a location
The routing overview describes this default sequence: minimize splits, destination market, closest location. The location guide separately says to add proximity routing. Read your actual list rather than infer it from either general description.
Table 1. Rule meanings. These compact definitions follow Understanding order routing .
Rule
Priority
Rule Minimize split fulfillments
Priority Complete stock first; otherwise fewer packages.
Rule Stay within the destination market
Priority Same-market preference, not a country lock.
Rule Ship from closest location
Priority Straight-line distance.
Rule Use ranked locations
Priority Your ordered groups.
Rule Use location metafields
Priority Boolean or numeric values.
Keep your full parameters beside this short list: group membership, market definitions, addresses and any metafield values. Date each saved version. An untitled screenshot that cannot be matched to an order is poor evidence, even if its values look plausible.
Two locations, two SKUs, one changed variable
These are independent paper cases, not successive changes to a store. Start each from Case A. The cart is one CAP-BLK and one SOCK-GRY, going to Bristol, UK. Both locations are active, eligible for this cart and destination, and have verified addresses. Assume both services can carry either product; there are no special product restrictions or app overrides. UK belongs to the destination market; UAE does not.
Case
UK stock: CAP / SOCK
UAE stock: CAP / SOCK
Rule order
Case A — baseline
UK stock: CAP / SOCK 5 / 4
UAE stock: CAP / SOCK 5 / 4
Rule order Minimize splits → market → ranked → closest.
Case B — stock only
UK stock: CAP / SOCK 5 / 0
UAE stock: CAP / SOCK 5 / 4
Rule order Identical to A.
Case C — order only
UK stock: CAP / SOCK 5 / 4
UAE stock: CAP / SOCK 5 / 4
Rule order Minimize splits → ranked → market → closest.
The ranked parameter is UAE above UK in every case. C only swaps two rule positions; it does not add a preferred warehouse or change inventory. B only changes UK SOCK-GRY from four to zero; every other input remains A’s.
Applying Shopify’s sequential rules gives these deductions:
A: Both have the cart; market selects UK.
B: Only UAE has the cart; UAE wins before market.
C: Both have the cart; ranking selects UAE before market.
Paper comparison of Cases A–C. B changes UK SOCK-GRY stock; C resets to A and swaps positions 2 and 3. Rules . That small exercise separates a stock explanation from a rule-order explanation. Before trying it with your own numbers, copy the complete starting state. If you alter a profile, a quantity and a rule together, the comparison no longer tells you which change caused the result.
If a location fails eligibility, resolve that input first. If neither can supply an ordered quantity, stop using this three-case model: its assumptions no longer hold. Shopify’s troubleshooting guide describes both split and overselling outcomes. Do not assume the nearest warehouse must supply an impossible cart.
These paper cases do not compare live prices or transit times. For a cheapest-or-fastest requirement, ask an app provider to demonstrate it with your inputs before relying on it. Custom-rule availability is also a separate question: Shopify documents early-access restrictions , including Partner enrollment for Plus merchants developing their own rules.
How checkout charges for a two-location order
First identify the shipping system in your store. If you cannot tell, mark it UNKNOWN and ask support. Do not diagnose a charge using the rules of a different system.
Table 2. Shopify shipping from multiple locations. Each row links its own source so the distinction remains visible on a phone.
System
Relevant charging behavior
System Shipping profiles
Relevant charging behavior One profile and location group can share one flat rate; different profiles or groups can add rates. Weight, carrier and app rates combine. Same-name rates across profiles add; otherwise the cheapest from each is combined.
System Shipping options by market
Relevant charging behavior Certain early-access stores. Within one option, flat or order-amount rates use the highest match. Different options add. Weight and calculated rates add per shipment; preorder and ship-now rates remain separate.
The location fulfillment guide says rates use the default location if shipping settings have not been updated; labels purchased in Shopify admin use the fulfillment location. This does not establish the pricing basis of an app, carrier account or fulfillment partner’s invoice. Record where each label was bought.
Shopify split shipping: customer choice and warehouse choice
Shopify’s split-shipping guide distinguishes methods from assignment: “Lowest price” selects shipping methods, not the cheapest warehouse. Customers cannot choose the split, and checkout cannot divide units of one line between locations that each have insufficient stock. For shipping options by market, split shipping is activated after upgrade.
The same guide suggests a storefront compatibility check for third-party apps. Also verify the eventual order and warehouse record. A plausible checkout total cannot prove that an app received the intended location or shipping choice.
Configured weight is not the packed parcel measurement
Keep two sets of inputs. Checkout configuration means saved product weights, package settings, rate ranges, currency and the customer’s selected method. Dispatch evidence means each sealed parcel’s measured weight, dimensions, purchased service and billed charge. Put the time beside both sets.
For combined weight rates, Shopify’s profiles example adds the default package weight to each product’s weight before combining its rate. The market-options guide requires accurate product weights; calculated rates also use package dimensions and destination. Do not transfer one system’s package arithmetic to another without checking it.
Worked two-parcel example: a deliberate GBP 3.50 subsidy
Everything in DEMO-061-1001 is hypothetical, including stock, settings, invoices and approvals. It is a separate cost example, not a fourth change to Cases A–C. Use the same two SKUs and UK destination, but assume CAP-BLK is stocked only at UK and SOCK-GRY only at UAE, so the agreed fulfillment plan has two parcels. No manual or app reassignment occurs.
The store uses shipping profiles , with one product in each of two profiles, and a single available Standard weight rate schedule in each. Each parcel contains one unit of one SKU. There are no subscriptions, preorders, pickup items or overlapping services in this example.
Checkout input
CAP-BLK / UK
SOCK-GRY / UAE
Checkout input Configured product weight
CAP-BLK / UK 0.40 kg
SOCK-GRY / UAE 0.70 kg
Checkout input Default package weight
CAP-BLK / UK 0.10 kg
SOCK-GRY / UAE 0.10 kg
Checkout input Weight used in this example
CAP-BLK / UK 0.50 kg
SOCK-GRY / UAE 0.80 kg
Checkout input Applicable Standard band
CAP-BLK / UK 0–0.50 kg: GBP 3.00
SOCK-GRY / UAE 0–1.00 kg: GBP 5.00
Checkout input Next band, for comparison
CAP-BLK / UK Above 0.50–1.00 kg: GBP 4.00
SOCK-GRY / UAE Above 1.00–2.00 kg: GBP 7.00
The band endpoints are inclusive where stated; “above” excludes the preceding endpoint. The two products are inside their first bands. Under the cited combined profiles calculation , checkout shipping is GBP 3.00 + GBP 5.00 = GBP 8.00 .
Now set the comparison basis. All shipping amounts are GBP, excluding tax. Customer shipping tax and carrier-invoice tax are assumed zero for arithmetic only; this is not a statement about UK tax treatment. Shipping discounts, later refunds and credits are all GBP 0.00. No currency conversion is needed. Handling, packaging materials and product costs are outside this shipping-only comparison.
Dispatch record
Parcel UK-01
Parcel UAE-01
Dispatch record Contents
Parcel UK-01 CAP-BLK × 1
Parcel UAE-01 SOCK-GRY × 1
Dispatch record Measured packed weight
Parcel UK-01 0.54 kg
Parcel UAE-01 0.86 kg
Dispatch record Measured dimensions
Parcel UK-01 25 × 20 × 8 cm
Parcel UAE-01 30 × 22 × 10 cm
Dispatch record Label purchase channel
Parcel UK-01 External carrier account
Parcel UAE-01 Fulfillment partner
Dispatch record Final transport charge
Parcel UK-01 GBP 4.25
Parcel UAE-01 GBP 7.25
Dispatch record Tax / later adjustments
Parcel UK-01 GBP 0.00 / GBP 0.00
Parcel UAE-01 GBP 0.00 / GBP 0.00
These are assumed final transport invoices, including any transport surcharges. They are not calculated from the checkout bands. The UK parcel’s 0.54 kg measurement therefore does not retroactively change the earlier checkout input of 0.50 kg. It gives the merchant a specific packaging or configuration discrepancy to investigate for future orders.
For that follow-up, preserve the product-weight field, the saved package selection and a weighing record for each sealed parcel. The unexplained differences here are 0.04 kg for UK and 0.06 kg for UAE. Ask whether packaging materials, a product-weight entry or a different parcel configuration accounts for each difference. Do not overwrite the historical input with the measured result. Record any proposed correction separately, with its effective date, and calculate the next comparable cart again. That lets you explain both the original payment and the later improvement without rewriting what happened.
The arithmetic is now complete:
Customer shipping retained: GBP 8.00 − GBP 0.00 discounts − GBP 0.00 refunds = GBP 8.00 .
Transport expense: GBP 4.25 + GBP 7.25 = GBP 11.50 .
Shipping subsidy: GBP 11.50 − GBP 8.00 = GBP 3.50 .
DEMO-061-1001 only: Card B’s retained customer shipping is compared with the two assumed final transport invoices. Amounts, weights, dimensions and prior subsidy approval are hypothetical, not a carrier quote or a Shopify screenshot. Assume the merchant approved that GBP 3.50 subsidy before offering these rates, and both parcels followed the agreed assignment. The shipping gap is intentional; it does not establish a routing fault. It is not the order’s profit or loss, because merchandise revenue and other costs have not been included.
If either invoice is missing, label the subsidy UNKNOWN. If currency or tax treatment differs, normalize the amounts and retain the conversion or tax basis before subtracting. If a surcharge is still pending, label the result provisional. A blank adjustment field is not evidence of a zero adjustment.
Questions about multi-location fulfillment? Contact ASG with the SKUs, locations and routing questions you want to discuss.
Discuss your fulfillment setup
Audit past orders and explain the shipping gap
A past order is not a test of a new configuration. It is a record of that order’s outcome. Start with ten recent multi-location orders as a manageable investigation sample, not a statistical guarantee. Record how you chose them; selecting only complaints would answer a different question from checking consecutive orders.
Keep one order ID across three field cards: what happened, what it cost, and what the evidence supports. Separate initial assignment , authorized later changes and final dispatch . Otherwise a legitimate manual move can look like a routing error.
Filled historical record: DEMO-061-1001
This continues the hypothetical two-parcel cost example. The evidence names below describe invented teaching records; they are not files from a real account.
Card A — Order and locations
Field
Recorded value
Field Order and placement time
Recorded value DEMO-061-1001; 12 October 2026, 10:00 UTC.
Field Destination and items
Recorded value Bristol, UK; CAP-BLK × 1 and SOCK-GRY × 1.
Field Order-time available stock
Recorded value UK: CAP 5, SOCK 0. UAE: CAP 0, SOCK 4.
Field Eligibility record
Recorded value Both online-enabled; addresses verified; applicable destination coverage saved in DEMO configuration copy.
Field Initial assignment
Recorded value CAP to UK; SOCK to UAE; matches the recorded fulfillment plan.
Field Authorized manual reassignment
Recorded value None in the assumed complete change log.
Field App change and final dispatch
Recorded value No subsequent app change; both warehouse records match; parcels UK-01 and UAE-01.
Card B — Shipping reconciliation
Field
Recorded value
Field Common basis
Recorded value GBP; tax excluded; tax, discounts, refunds and adjustments all zero.
Field Customer shipping retained
Recorded value GBP 8.00, matching the checkout example.
Field Transport invoices
Recorded value UK-01: GBP 4.25; UAE-01: GBP 7.25. Both final.
Field Total and difference
Recorded value GBP 11.50 transport; GBP 3.50 merchant subsidy.
Field Purchase channels
Recorded value External carrier account and fulfillment partner; not assumed Shopify-admin labels.
Field Approval and excluded costs
Recorded value DEMO pricing approval covers subsidy; product, packaging and handling costs excluded.
Card C — Settings, finding and owner
Field
Recorded value
Field Settings at order time
Recorded value DEMO copy dated 11 October 2026, 16:00 UTC: profiles, Standard bands and package inputs as above. Rules: minimize splits → market → ranked (UAE above UK) → closest.
Field Expected dispatch
Recorded value UK CAP parcel and UAE SOCK parcel, using that saved plan and inventory evidence.
Field Settings changed since?
Recorded value No, within the assumed complete configuration log.
Field Routing finding
Recorded value CONSISTENT WITH PLAN; no unexplained assignment change.
Field Cost finding
Recorded value EXPLAINED; approved GBP 3.50 shipping subsidy.
Field Owner and next check
Recorded value Demo operations lead; compare configured and measured weights before the next rate review.
Field Missing evidence
Recorded value None within this invented example; all real-store fields remain unverified.
The assumed complete log for DEMO-061-1001 records no manual reassignment or app change. The connectors join the same order and parcel references; this is an author-created record diagram. Consistent, investigate or UNKNOWN
Use those three outcomes separately for assignment and cost. A consistent route can coexist with an unresolved invoice. A correct total can coexist with an unexplained location change. Do not compress them into a single green or red verdict.
For an INVESTIGATE example, suppose a complete order-time record predicts UK, but dispatch shows UAE and no authorized change explains it. Investigate the initial assignment, subsequent activity and app record in sequence. The observation identifies a discrepancy; it does not identify the component at fault.
For an UNKNOWN example, suppose DEMO-061-1002 has a final UAE shipment but no saved rule list or historical stock. Record both as UNKNOWN. Even if today’s settings favor UK, do not set a proven historical routing-error flag. Name the missing records, their owner and the next retrieval step.
An authorized change needs its own explanation. Suppose another teaching record shows UK as both the expected and initial location. At 11:20 UTC, an operations lead approves a move to UAE for a documented service requirement; the receiving warehouse acknowledges the same items at 11:35. Final dispatch from UAE differs from the initial plan, but the recorded intervention explains that difference. Keep the initial-routing finding separate from the decision to change it. If the approval exists but the app’s change time does not, label that timing UNKNOWN instead of inventing a complete sequence. The remaining question is the missing activity record, not automatically a routing fault.
Keep evidence references usable by a colleague: a file or export identifier, its date, the relevant field and the person who captured it. An invoice total without the parcel reference cannot reliably join Card B to Card A. Likewise, an app screenshot from yesterday cannot establish its location immediately after last week’s order. If records conflict, preserve both versions and describe the conflict; do not silently choose the one that matches the expected result.
App evidence belongs here. NZ Tack Saddlery Co’s review , edited September 15, 2026, reported location changes not syncing with ShipStation. Wms&Co.’s October 2024 review described order edits not carrying over, while another October 2025 review reported an unnoticed sync interruption. These are dated merchant reports, not verified defects or a verdict on your installed version. They justify recording both systems, not assuming both agree.
Save the completed cards with supporting order exports, configuration copies and invoice references. Close an investigation only when the stated question has an evidenced answer; otherwise leave the unresolved field and owner visible.
Two evidence paths, not authorization to move an order. Use the existing instructions at each entry point. Historical cards . Current-order procedure . Change the location of a current order safely
An urgent order does not need to wait for the historical sample. Start from its present fulfillment status and the exact items you intend to move. Shopify permits location changes for unfulfilled orders , excluding local delivery and in-store pickup.
Check the fulfillment-service state first
Follow Shopify’s fulfillment-app cancellation rules :
Not requested: change the location directly.
Requested, not accepted: cancel the request first; then change the location.
Accepted: request cancellation and wait for the service to accept before changing location.
If cancellation is rejected, stop. The service continues fulfillment. A sent or pending request is not acceptance. Merely reverting an order to unfulfilled does not stop the service; confirm cancellation with it. These limits also come from the fulfillment-app guidance .
Write down the current state, time, request reference and response before handing the order to another colleague. “Cancellation requested” and “cancellation accepted” must remain separate entries. If the response has not arrived, the record should say WAITING, with an owner, rather than suggest the move is complete.
Move the eligible items and check both records
For an eligible order, the desktop change-location procedure is: open Orders, choose the order, use the fulfillment section’s menu → Change location, select items and the new location, then confirm.
Before confirming, compare the intended destination, SKU quantities and available stock with your proposed new assignment. Record the reason for the move and its approval. An urgent delivery decision might be justified even when the original routing behaved exactly as configured; preserve that distinction in the history.
Afterward, read back the saved assignment and the receiving warehouse or app record. Check the item quantities, location identifier, expected service and any remaining request at the previous provider. If the two records differ, keep fulfillment coordination open and assign someone to resolve the discrepancy. Do not call the transfer complete from a changed label in one screen alone.
Use a simple completion note: order ID; items moved; old and new locations; reason; cancellation outcome where applicable; saved assignment; receiving-party acknowledgement; remaining task and owner. This is an operating checklist, not a claim that every app exposes those fields automatically.
For a handover, state the next permitted action explicitly: waiting for the existing provider, checking the saved move, or preparing dispatch at the acknowledged destination. Include the last checked time. That prevents two colleagues from treating the same unfinished transfer as two separate orders to release. If you cannot establish who currently holds the work, resolve that ownership question before making another assignment change.
Yellow crates flank a clear aisle beneath sorting chutes; bag stands continue into the background. This physical work area is not an order or inventory record. When one fulfillment location is the simpler setup
If a second location handles few orders, compare its value with the work of maintaining it. Three different approaches get called “one location”; distinguish them before changing anything.
One online location. Shopify’s location fulfillment guide describes making one location default and disabling online fulfillment elsewhere. The other stock leaves online quantity, though draft orders and other channels can still use it.
One inventory record for physically separate stock. In April 2023, philosophyalice described doing this for a single rate and then maintaining records manually. Treat that as one merchant’s workaround, not a recommendation to hide stock locations.
Historical single-origin shipping. A 2020 Community reply and a 2023 vendor post discussed that mode. Availability in your store today remains UNKNOWN; neither historical account establishes a current setting.
Before choosing, record last month’s second-location orders, split orders within that group, and orders charged more shipping than your intended policy. Add storage and transfer costs separately. These are three investigation counts, not thresholds that prove one network is better.
Blue parcel chutes, sacks and yellow wheeled carts occupy the outbound handling area. A China location needs the same evidence as any other. ASG’s role here is sourcing and fulfillment coordination; request the service scope for your own account. Photos show warehouse work, not your store’s routing settings or a promise of photo proof on every shipment.
For the next decision, use the hybrid fulfillment guide to consider SKU allocation, the bundle fulfillment guide for consolidation planning, the Printful and own-stock guide for mixed-provider records, or the China zones and rates guide for that shipping setup. These are related reading; Shopify’s linked documentation supplies the platform rules above.
Common questions about Shopify order routing
How do I change the fulfillment location on Shopify?
Use the current-order procedure , beginning with its cancellation state check. Prepare the intended item quantities and destination before making the move, then compare the saved Shopify assignment with the receiving party’s record. A completed historical worksheet does not authorize a current transfer.
How do I make Shopify route orders to the correct warehouse?
Define what “correct” means for the cart, then complete the eligibility record and compare your inputs with the three routing cases . Keep the original configuration so a later order can be explained. For needs beyond the listed rules, request a demonstrated app workflow.
Can one shipping charge cover a two-location order?
It depends on the shipping system and rate type. Use Table 2 and the cost example to identify the applicable structure before changing a price. Then compare retained customer shipping with both final transport charges on the same currency, tax and adjustment basis.
Does the lowest checkout price prove that the cheapest warehouse ships?
No. Read the split-shipping distinction , then record the assigned warehouse separately from the chosen service. Comparing checkout totals alone will not answer your warehouse-cost question; you also need the alternative fulfillment quotes and their scope.
What can I check before I have real orders?
Complete a planned cart and settings sheet, record expected results and inspect checkout. Keep fulfillment and app confirmation marked untested until an order provides those records. Use the filled historical cards as your future record format, without presenting their invented evidence as your own.
Your next check
Choose one cart or one past order. Save the dated inputs, name the expected assignment and reconcile the shipping amounts. Shopify order routing becomes easier to investigate when each answer has its own evidence. If a field is UNKNOWN, record what would resolve it before changing a setting to make the example fit.
Use the order record
About the author
Janson Wang is Founder & CEO of ASG Dropshipping, a sourcing and fulfillment service provider.
ASG Data Note: DEMO cases are author-created assumptions. Historical posts describe their authors’ stores at the stated time. Shopify documentation was checked on 19 October 2026; account-specific behavior and real-store outcomes were not tested. Owner-provided warehouse photographs are reused with permission. All three photographs use verified 6000 × 4000 originals; public exports redact parcel identifiers and paperwork where present.
Planning a fulfillment change? Share your requirements and unresolved questions with ASG before deciding on your next step.
Contact ASG
External Sources and Related Reading