3PL & Fulfillment

How multi-warehouse order routing decides where an order ships from.

How order routing decides which warehouse each shipment goes out from.

Last updated September 16, 2026

Preferred warehouse is first try, not a guarantee. Ask: can this node ship 100% of the lines before cutoff?

If yes, it ships. If no, you have three honest answers. Split: two cartons, two trackings, two promises. Overflow: move the whole order to the next node that can ship 100%. Refuse: wait for a transfer, or cancel the short line. Use-whoever-has-stock is how a two-line order becomes two buildings and a doubled pick fee.

Name preferred, overflow, and split rules

Name the preferred node by ship-to (state, zip, market). Name the overflow order. Name whether that channel may split. If you cannot answer those three before the order lands, the default will answer for you, and it will split. Preferred that cannot complete before cutoff is not preferred anymore. It is a miss, then a decision. A California zip that prefers West still overflows East if West is short tonight. Do not hold the order at West hoping a transfer lands.

When splitting is allowed

Wholesale and routing-guide orders almost never split. A retailer PO is one DC, one 856, one appointment. DTC might split if you said so at checkout, and if the customer will tolerate two dates. Do not discover the split at pack. The router decides at allocate, against sellable at that node, not against a pooled number across East and West.

Do not split a single line across buildings unless you mean two shipments of the same SKU. Five units with three in East and two in West is either one overflow to the node that has five, or a split of that line. Most brands do not want two boxes of the same hoodie. Default to complete-from-one. Allow line-level split only where you priced it.

What does not count as fallback

In-transit, Reserved, QC, and the other store's floor are not fallback qty. The next node must have sellable, pickable units that this channel is allowed to take. A closed or test location left on the map is not a fallback. A second 3PL you have not cut over is not a fallback. Amazon Reserved and FBA in-transit are not fallback. This is the routing rule (preferred by ship-to, complete-from-one versus split, then fallback). It is not how you add a second 3PL, and it is not MCF overflow. Zone skip and the cheapest rate are a later question, after the box exists. Wholesale and DTC can share a building and still use this same router. Shared-warehouse pools are a different cut.

Here the only question is complete, split, or refuse. Preferred is a try. Complete, split, or refuse is the decision.

Run this with AI

Connect Claude or ChatGPT to your Fulfil data with the Fulfil MCP, then run this prompt on your own numbers.

You are the ops lead routing Shopify and wholesale orders across two or more warehouses.
Here is: order_id, channel, ship_to_state, preferred_node, lines, qty_by_sku, sellable_at_preferred, sellable_at_fallback, complete_from_one (y/n), split_allowed (y/n), buckets_counted (sellable / in_transit / reserved / qc / store_floor).
[paste]

Produce:
1. Orders the preferred node cannot ship 100% before cutoff, and the decision (overflow whole order, split, or refuse).
2. Wholesale or routing-guide orders that would split (almost never allowed).
3. Single lines split across buildings, or fallback qty taken from In-transit, Reserved, QC, or store floor.
4. Closed, test, or not-cutover locations still on the map as fallback.
Preferred is first try. Complete-from-one unless that channel priced a split.

See it run on
your data.

Fulfil runs inventory, fulfillment, purchasing, and accounting for scaling DTC brands in one system.