Two suppliers may carry the same product but charge different prices. Their stock, destinations, and handling times may differ too. A routing rule picks who receives a paid order and what happens if it can't fulfill it.
I ran a print-on-demand apparel store on Shopify. That taught me that a paid order is only a handoff to someone else's production line. The chosen supplier must protect both the margin and delivery date.
Key takeaways
What is order routing in dropshipping?
Order routing in dropshipping picks a supplier for each order and sets the response if it can't fulfill it. A usable rule checks exact variant equivalence, destination coverage, trusted stock, the promised handling window, and landed margin before releasing the order, then defines how to hold, cancel, or reroute a failed handoff.
One product can come from several third parties. Their costs, stock records, shipping coverage, and handling times may differ. Choose the supplier for the current order instead of fixing it once for the product.
Routing decides who gets the order. Your fulfillment method determines whether a person, an app, or a supplier releases it afterward.
The same words also appear in securities trading and large distributed-order systems. Here, they mean choosing among third-party suppliers for a dropshipping order.
A written routing rule makes the choice repeatable. The order record shows which suppliers passed and which one won. It also explains why an order was held instead of sent.
Supplier SKU and variant equivalence comes first because a similar product isn't the item the customer ordered. Cancellation confirmation and the duplicate-shipment risk matter when a failed handoff is rerouted to another supplier.
What Shopify's built-in routing can and can't do
Shopify's default order routing ranks store locations. Supplier price, stock confidence, and handling time need another data source. It starts working when a store has 2 or more active locations. Shopify applies three default rules in this order:
- Fewest packages: Prefer locations that can fulfill the order with fewer splits.
- Destination market: Prefer a location inside the customer's market when possible.
- Shortest distance: Prefer the location closest to the shipping address.
Shopify applies rules from top to bottom, and each rule narrows the last result. The sequence reads Shopify locations and their recorded inventory. Supplier data that never reaches those records can't affect the choice.
Custom location rules can use metafields such as fulfillment speed. Third-party developers can also add them. These rules still rank locations.
Shopify says routing may assign an order to a location with no available stock. The sale can go through, but overselling can begin when no supplier check catches the gap.
I'd make the supplier pass the order-level checks below before releasing an order assigned by Shopify.
Build your supplier routing stack
The Supplier Routing Stack checks variant coverage, stock, and delivery before comparing margin and supplier records. Use the checks in this order:
- Can ship: Confirm the exact variant and destination.
- Stock you trust: Require enough reported stock from a recent, successful update.
- Promise met: Fit handling and transit inside the checkout promise.
- Best landed margin: Compare profit after supplier costs.
- Preferred supplier: Break a tie with your order log.
Start with the first check and stop as soon as a supplier fails.
1. Filter for suppliers that can ship it
A supplier passes the first filter only if it carries the purchased variant and ships to the customer's country. Map every supplier SKU to the store variant before an order arrives.
Two supplier SKUs are equivalent only when every attribute the customer saw matches. Check size, color, material, brand, and pack count. A similar item fails because a reroute can't quietly change what the customer bought.
Store the mapping against the exact store variant ID. Beside it, record each supplier SKU and the destinations that supplier serves. The person or tool routing the order now has one row to read. They won't need to search supplier catalogs after payment.
Record destination coverage in the same row. Finish supplier due diligence before adding any supplier to the eligible list.
Test the mapping with one low-risk order to the backup's normal destination. A correct SKU on paper still needs to reach the supplier with the right option and address.
2. Filter for a stock signal you trust
A stock signal passes when a recent successful update reports enough of the purchased variant to cover the order. A stale or missing update means the stock is unverified. It doesn't mean the count is zero.
Store the update time beside the available quantity. Your inventory synchronization setup should flag a stale feed. Routing then reads its pass or fail result.
Remove the supplier when the quantity is too low or the signal has expired. Send the feed problem to its owner.
Set the maximum age from your own records. Compare the time between successful updates with the time it takes to sell the reported quantity. Shorten the window when stock can sell out before the next update. Keep the supplier out of automatic routing when that evidence is missing.
I prefer a visible unverified result to a guessed quantity. A guess makes the order look routed while leaving the stock question unresolved.
Keep the last successful update separate from the last attempted update because a failed attempt doesn't refresh the quantity.
3. Filter for the promise you made
A supplier passes when its handling time plus worst-case transit fits the checkout promise. Use that supplier's stated times for the customer's destination.
Handling covers the time before carrier handoff. Transit covers the trip afterward. Add the supplier's two high-end estimates and compare the result with the customer's promise.
Use the slowest stated transit time so the supplier qualifies across its full delivery range. If the order arrives near a supplier cutoff, use the handling time that applies after that cutoff.
AliExpress shipping times vary by route and method. When the supplier gives no usable handling time, keep it out of automatic routing.
Save the promise shown at checkout with the order. If store copy changes later, the routing test still needs the date that this customer actually saw.
4. Rank what's left by landed margin
Landed margin is the sale price minus item cost and supplier shipping, before payment fees. It measures what the supplier leaves before costs that don't change with the route.
This comparison stops a low item price from hiding higher shipping. Set the floor high enough to cover payment fees, support, returns, and your target profit.
Estimate the return allowance from the product's refund rate. Multiply it by the average loss per refund in your order records. Add a fee to the routing math only when switching suppliers changes it.
Imagine you sell a $60 jacket in one variant. Supplier A charges $24 for the item and $6 shipping. The item and shipping from Supplier B cost $21 and $9.
Both need two days for handling and up to 10 days in transit. That fits a 12-day checkout promise.
The calculation produces the same result for each supplier:
- Supplier A: $60 minus $24 minus $6 leaves $30.
- Supplier B: $60 minus $21 minus $9 leaves $30.
Both suppliers leave a $30 landed margin, so the preference rule decides between them. Ranking by item cost alone would pick Supplier B even though the order leaves no extra money.
If both results fall below your margin floor, neither supplier wins. Hold the order instead of turning the least-bad loss into an automatic choice.
5. Break ties with a preferred supplier
When landed margin ties, choose the eligible supplier with fewer rejections and late shipments in your records. Update the preference list from completed orders.
Record the result of each released order against the supplier. A rejection is one result, while a late carrier handoff is another. Wait for a useful pattern instead of turning a tiny sample into a precise score.
Choose from suppliers that passed today's checks before consulting the preference list. Calling someone your primary supplier doesn't make today's stock fresher or today's route faster.
Routing checks prevent automatic release when supplier evidence fails. Stock accuracy and fulfillment still depend on the supplier.
Route around rejects, stockouts, and late orders
A rejection, post-payment stockout, or missed handling window needs a new decision before a backup receives the order. Each path uses different evidence, but all reroutes share one guard:
- Rejection: Read the reason and separate order errors from supplier failures.
- Stockout: Rerun all five checks on an unchanged customer order.
- Late order: Test the backup against the time still left.
Cancel the first order before you reroute
Release the backup only after the first supplier confirms cancellation. This prevents two suppliers from shipping the same purchase.
Shopify blocks a fulfillment-order move while a connected service is still acting on it. The destination must also stock the item.
The platform can send a cancellation request to a third-party service, but a request isn't a confirmation.
Use the same guard for an app, email, or purchase-order supplier:
- Get confirmation: Obtain written or system proof that the first supplier cancelled.
- Rerun the checks: Test the backup with the current address, stock, and time.
- Release the order: Send it only after every check passes.
- Keep one record: Store the cancellation confirmation with the first and replacement supplier order IDs.
If cancellation is rejected because the parcel has already left, stop the reroute and track the first shipment.
That record tells support which parcel should exist and gives the order owner a clear release point for the backup.
Supplier rejects the order
Reroute a rejected order only when the reason belongs to the supplier, not the order. Shopify's fulfillment model records an explicit rejected request. Another supplier may return an app error or refusal message.
Read that message before choosing the backup. Fix and resubmit a bad address or wrong variant. A second supplier would receive the same broken order. A discontinued item or supplier-side shipping refusal can move to the backup after the five checks pass.
I read the rejection reason before deciding whether to correct the order or change suppliers. Order errors follow the order to every supplier, while supplier failures may disappear when a qualified backup takes over.
When the message is vague, hold the order and ask the supplier what failed. Don't turn an unknown cause into a reroute rule.
Supplier is out of stock after payment
Move the unchanged order when the backup passes all five checks. Ask the customer when no supplier qualifies. Routing handles the supplier choice. The later customer decision belongs to the recovery process.
Suppose B's handling time rises to four days. Its 14-day worst case now misses the 12-day promise, so the automatic reroute stops.
Stockouts can begin with the supplier or the store's inventory record. If no route qualifies, ask the customer to choose a backorder, substitute, or refund through your overselling recovery process.
A substitute is a new customer decision, so it doesn't belong inside an automatic supplier swap.
Supplier misses its handling window
A late reroute works only when the backup can still meet the original delivery date. Test it after the first supplier uses its stated processing window.
Trigger the review when that window and your grace period end without a carrier handoff. Subtract the days already used. Test the backup's handling plus worst-case transit against the time left.
When tracking is late, ask whether the parcel has reached the carrier and request the handoff date or confirmation. That answer tells you whether cancellation may still be possible.
Picture Supplier A still unshipped on day four of the jacket order. Eight days remain, while Supplier B needs up to 12. Keep the order with A while you check its status.
Cancel only if it can't ship, then tell the customer what the supplier reported and when they'll hear from you again. Follow your WISMO response process.
Find the last useful review point from the original delivery deadline. Subtract the backup's handling time and worst-case transit. A later trigger can turn every option into a delayed one.
If no route can keep the date, tell the customer before sending another supplier order. A quiet reroute only replaces a known delay with a hidden one.
Decide when to split an order
Use one qualified supplier when its full shipment meets the margin and delivery rules. Split only when each parcel does the same. A second supplier adds another shipping charge, tracking number, and customer update.
Check these conditions before splitting:
- Item coverage: Each supplier carries the exact variant assigned to its parcel.
- Parcel margin: Each shipment leaves enough money after its own supplier costs.
- Delivery promise: Every parcel still fits the date shown at checkout.
Consider a hypothetical jacket cart with a $15 hat that only Supplier C stocks. Neither jacket supplier carries it. In this example, the hat costs $6 and adds $5 shipping, so its parcel leaves $4 before payment fees. That small remainder may disappear after the other order costs, even though both products are available.
The second shipping charge belongs to the split. Looking only at the whole cart can let the profitable jacket hide a hat shipment that loses money.
Shopify processes each fulfillment on its own. The customer can receive several shipping emails. A split also needs clear parcel records because the WISMO reply differs for each shipment.
If one parcel breaks the promise and two parcels break the margin, hold the order. Ask whether the customer wants a later delivery, a substitute, or a refund.
Record who approved the split and which tracking number belongs to each item. Support can then read the record instead of rebuilding the order from two supplier portals.
Choose where the routing rules run
Start with a rule sheet, use Shopify for location routing, and add a supplier platform when manual checks can't keep up. Compare each option on the same questions:
A manual sheet is the easiest place to prove the rule. It fits a few multi-supplier products. Manual work fails when orders arrive faster than you can check them.
Shopify fits stores with two or more locations when the decision fields live there. It falls short when price, stock confidence, or handling time stays in supplier systems.
Flxpoint is one documented example of the dedicated category. Its ordered priorities narrow eligible sources step by step. A Required condition can hold an order and notify you. If no source qualifies, the group can choose cancel, hold, or manual review.
That depth suits a larger multi-supplier catalog, but setup and upkeep can outweigh the benefit for a small store. The platform also can't repair missing supplier data.
Move beyond the sheet when order volume outruns manual checking. Compare Shopify apps or supplier platforms on the fields your rules need. Those fields include exact variant mapping, current stock, route-specific times, and supplier costs. Also require controls for holds and confirmed cancellations.
FAQ
Is order routing the same as shipping routing?
Order routing chooses who fulfills an order. Shipping routing chooses the carrier service or route that carries the parcel.
What's the best way to ship orders on Shopify?
Choose manual, partial, or automatic fulfillment based on order volume and how much approval each product needs. Supplier routing then decides which eligible party receives the order.
Do I need order routing with only one supplier?
With one supplier, you need failure and cancellation rules more than a selection rule. Write them before adding a backup so the second route is ready when you need it.
How often should I review my routing rules?
Review them after every reroute or supplier change to price, handling time, or destination coverage. Use the order log to update the preferred-supplier list.
