3PL & Fulfillment
How do I switch 3PLs (or add one) on Shopify Plus without overselling during cutover?
Moving to a new 3PL without overselling while stock is in transit between them.
Last updated September 16, 2026
Do not publish the new building until goods received complete. Do not leave the old one on the channel map once you cut. Cutover is inventory, open orders, and (if you have retail EDI) a retest. It is not a Shopify location rename. The failure mode is double-publish: Shopify selling the same units from A, from B, and from a truck that is in neither.
Freeze transfers and move on transfer orders
Freeze transfers the week you move. Raise a transfer off the old 3PL against a transfer order, not a dummy sales order. Units sit in-transit, valued, in neither building. The new 3PL receipts them. Only then does new-site on-hand go up. Sellable is not "the truck left." Sellable is GRC into the primary storage zone. Staging, pending putaway, and their receiving dock stay off the channel. Their on-hand is a file, not a live pick face. Their receiving report can show dock scans that are not yet in a pickable bin. If you export the new location the morning the trailer arrives, Shopify will sell units that are still in shrink-wrap. Publish A and B for those same units and you sell them twice. Pending is not sellable. Adding a second 3PL has the same rule: B does not publish SKUs that A still publishes, or that are still on the truck between them.
Dual-run the orders during cutover
Dual-run the orders. Old 3PL finishes what it already holds. New 3PL takes new orders only after the first cycle count agrees with your expected qty, and only after you remove A from the channel map the same hour you add B. Turn off continue-selling-when-out-of-stock. Hold a buffer sized to the lag: some 3PLs only send a count file, not a live feed. Do not babysit Shopify quantities by hand. The next export overwrites the type-in, and the typed-in number was already a lie. Map B as its own Shopify location. Do not rename A's location and hope the new building inherits the count.
Retest EDI before going live
If Target, Costco, or Nordstrom already send 850s, this is a retest, not a config swap. Sandbox PO from the VAN, confirm the 855, warehouse shipping order to the new 3PL, shipping advice back with a real carrier and SCAC, shipment marked done, outbound 856 and 810 checked, carton labels recertified against the routing guide. Confirm the new vendor code, LTL carrier, and SSCC prefix before the first live 850. Then change the 3PL on the trading partner. A missing SCAC or a test ISA flagged as production is a chargeback on day one. Reconstruct by SKU and timestamp before you call the first week an oversell.
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 cutting over a Shopify Plus brand from 3PL A to 3PL B (or adding B). Here is: sku, qty_at_A, qty_in_transit_A_to_B, qty_received_B, grc_complete (yes/no), shopify_locations_mapped, open_orders_at_A, edi_live (yes/no), last_count_vs_expected, continue_selling_oos. [paste] Produce: 1. SKUs that must not publish from B yet (no GRC, dock/staging, count disagrees). 2. A dual-run split: which open orders stay on A, when B may take new. 3. Stale location maps and continue-selling flags that will oversell during the lag. 4. EDI retest checklist (850 to 940/945 to 856/810, SCAC, labels, ISA test vs production) if retail is live. Do not recommend renaming a Shopify location as the cutover.
Explore this in Fulfil
More on 3PL & Fulfillment
Should I use a 3PL or keep fulfillment in-house, or run a hybrid? How do I decide?
Weighing a 3PL, in-house fulfillment, or a hybrid on total cost and complexity.
How do I add a second 3PL warehouse and route Shopify orders without split-shipment chaos?
Adding a second 3PL and routing Shopify orders to the right one without split-shipment mess.
How do I reconcile my 3PL's on-hand report to my books every week?
A weekly routine for matching your 3PL's on-hand report to your own records.
See it run on
your data.
Fulfil runs inventory, fulfillment, purchasing, and accounting for scaling DTC brands in one system.