A 3PL connects to Shopify through an app, and Shopify treats the 3PL's warehouse as a location in your store. Orders routed to that location go to the 3PL, the 3PL picks, packs and ships, and tracking posts back so Shopify sends the shipping confirmation the way it does today. Inventory counts, returns and refunds still live in your admin; the integration keeps them in step with the shelf.
Shopify treats the 3PL as a location with its own count
Everything hangs off the word location. Shopify defines one as any physical place where you sell products, fulfill orders, or stock inventory, and apps that physically stock inventory for you, including third-party logistics services, count as locations (checked October 2026). They sit under App and custom fulfillment locations and do not count toward your plan's limit, which that page puts at 10 active locations on Basic, Grow and Advanced and 200 on Shopify Plus as of October 2026. An app cannot be the default location and cannot be deactivated; to remove it, you remove the app.
Inventory is counted per location. Multi-managed inventory lets one product sit at your own location and at a fulfillment app at the same time, each with its own count, and inventory cannot be shared or pooled between locations (checked October 2026). Each location has a switch, Use inventory at this location to fulfill online orders. Off, and its stock stops counting toward what customers can buy. If checkout shows Inventory Unavailable, check that switch first.
So the 3PL's count in Shopify is only as good as the integration that writes it: ask how often it posts and whether receiving updates it the same day. And a move between warehouses is a move between locations. On cutover day the old location's stock goes to zero or its switch goes off, and the 3PL's goes on. The switching guide covers that day.
How an order reaches the 3PL and how tracking comes back
Shopify's options for letting someone else ship are its own network, a third-party service connected through an app, or a custom service that receives orders by email and does not update order status automatically, so you add tracking by hand (checked October 2026). A 3PL at volume connects through an app.
With an app-based fulfillment service, products stocked at the 3PL's location move by fulfillment request. The app fulfillment page gives the sequence (checked October 2026). You click Request fulfillment, or, with automatic fulfillment on under Order processing, the request goes out when the order is paid. The order shows In progress while the 3PL accepts or declines; declined returns it to Unfulfilled. Items can ship separately, and the order shows Fulfilled only after all items ship. The rules that matter most: after you request fulfillment you cannot edit the order or refund items, and Mark as fulfilled is not available on orders at fulfillment service locations, so to ship something yourself you change the order's location first.
Cancelling has its own order of operations. Before the 3PL accepts, Cancel request puts the order back to Unfulfilled. After it accepts, you send a Request cancellation and wait. Shopify warns that Revert to unfulfilled does not stop your fulfillment service from fulfilling the order, so a revert without a confirmed cancellation can mean a parcel on a truck and a bill for it. A fulfillment can also sit On hold, placed by you or an app, until the hold is released.
Not every connection uses the request flow. The same page allows for a provider that creates fulfillments directly on your order. Shipping platforms and warehouse systems often work this way: they read paid orders, write the fulfillment with tracking when the parcel ships, and the location stays one you manage. Ask which pattern your 3PL uses, because it decides what you can still do in the admin once an order is on the floor.
The fulfillment is what triggers the customer email. Per the customer notifications page, the Shipping confirmation is sent when an order is fulfilled, the Shipping update when tracking is updated, and Out for delivery and Delivered on tracking events from the carrier or fulfillment app (checked October 2026). Each fulfillment sends its own email. Ask when your 3PL posts tracking, at label print or at the carrier's first scan. The gap is what a customer sees as a label with no movement.
Order routing decides which location ships the order
Routing matters as soon as more than one place holds stock, which is your state during a switch. Order routing applies rules in sequence to prioritize locations and needs two or more active locations (checked October 2026). The default rules, in order: minimize split fulfillments by preferring locations with every item in stock, stay within the destination market, then ship from the closest location, measured in a straight line. When no location has every item, the order is split, or the highest-priority location oversells, which can leave a negative count.
A few settings decide most of it. A new location is added to the bottom of your routing list, so a 3PL you just connected ranks last until you move it. The online switch decides whether a location is in the running at all. And a shipping profile, a set of shipping rules for specific products and locations, ties a SKU to the locations that fulfill it, so a product only the 3PL stocks never routes to your office.
Subscription orders are normal orders, with one exception
Your subscription app creates the recurring orders. Shopify's subscription fulfillment page says pay-per-delivery renewals appear on the Orders list and are managed and fulfilled the same as non-subscription orders (checked October 2026). To the 3PL they are orders like any other.
The exception is prepaid. A prepaid customer gets a single order that shows Scheduled until a fulfillment date is reached. On that date it changes to Unfulfilled, and inventory for that cycle is reserved on the fulfillment date, not when the order was created. You can Fulfill early, but you cannot reschedule. A connection that only picks up orders at creation misses every later cycle. Test a prepaid order through more than one fulfillment date, and tell the floor when billing days fall, because renewals land in a wave.
Returns and refunds stay in your Shopify admin
Shopify keeps returns on the order. From the Orders page you create a return, send shipping instructions, and issue refunds after inspecting the returned items (checked October 2026). When you process the return, each item has a Restock at location, and the refund can be issued Now or Later. On a plain refund, Restock items is selected by default and only appears when you track inventory for the items. Refunding an unfulfilled item removes it from the order, and you cannot create a return for items already refunded, so create the return first.
The 3PL's part is physical: receive the parcel, open it, grade it, restock or set aside. The integration's part is to tell the store what arrived, so the refund fires by your rule and the restock lands at the 3PL's location, not yours. The returns process guide walks the steps from request to refund.
What syncs, in which direction, and what breaks
This table is the one to send a 3PL before you sign, next to the questions to ask a 3PL. For each row ask whether it syncs, how often, and what shows in Shopify when it fails.
| What moves | Direction | What breaks when it is wrong |
|---|---|---|
| Paid orders | Shopify to 3PL | Two systems pulling the same orders ship them twice. A pull only at creation misses held orders and prepaid cycles. |
| Edits and cancellations | Shopify to 3PL | Edits and refunds lock after a request. A change agreed by phone never reaches the store; a cancel the 3PL never confirms still ships. |
| Product data: SKU, barcode, weight, dimensions | Shopify to 3PL | A blank or duplicated variant SKU maps to the wrong bin. A missing weight breaks carrier rating. |
| Inventory counts | 3PL to Shopify | A stale count oversells. A count written to the wrong location zeroes stock you still hold. |
| Fulfillment and tracking | 3PL to Shopify | No fulfillment, no shipping confirmation. Tracking posted at label print shows a label with no movement. |
| Shipping method | Shopify to 3PL | An unmapped checkout method falls to a default service: expedited paid for, ground shipped. |
| Subscription renewals | Shopify to 3PL | Renewals land in a wave on billing day. Prepaid cycles sit Scheduled until the fulfillment date. |
| Returns received | 3PL to Shopify | If receipt never posts, the refund waits on a person and the unit never restocks. |
| Refunds | Shopify admin or returns app | A refund without a receipt means the stock walks. A receipt without a refund means the customer writes in. |
| Customer notifications | Shopify to customer | Several emails on a split order. A carrier set to Other without the full tracking URL gives a dead link. |
The cutover test plan
Run this while your current warehouse is still shipping real orders, so a failed test costs nothing. Use real products tagged as tests and an address you control.
- 01Confirm the 3PL appears under App and custom fulfillment locations in Settings, with its online switch off until cutover day.
- 02Export your products and check every variant has its own SKU, a barcode, a weight and dimensions. Fix blanks in Shopify, so there is one source.
- 03Check Order processing: with automatic fulfillment on, the request goes out when the order is paid; otherwise someone clicks Request fulfillment or the 3PL's connection pulls orders itself.
- 04Place a single-unit test order to your own address. Watch it reach the 3PL, note how long it took, and check the order timeline.
- 05Place a multi-unit order with a gift note, one on an expedited method, and one with a discount code. Confirm the lines, note, service level and totals reach the floor.
- 06Have the 3PL ship the tests. Confirm tracking posts to each order, the carrier is recognized, the shipping confirmation arrives, and the link opens the carrier's page.
- 07Cancel an order after it reaches the 3PL and before it ships. Confirm it returns to Unfulfilled and does not leave the dock.
- 08Receive a carton at the 3PL and time how long until the Shopify count changes, and at which location.
- 09Run a prepaid subscription through a fulfillment date and a renewal through billing day. Return a test parcel and confirm the receipt posts, the restock lands at the 3PL's location, and the refund fires by your rule.
- 10On cutover day: stop the old warehouse pulling orders, zero its stock or turn its switch off, turn the 3PL's on, and watch the first hour of orders on the dashboard.
How the Shopify connection runs at YNK
We run on ShipStation, and Shopify connects natively, including Shopify Plus. Subscription orders arrive as normal Shopify orders and ship on the same cutoff. Orders sync in from your store and tracking syncs back out, so your store sends the shipping notification the way it does today. Orders in by 12pm ET ship the same business day; the standard SLA is one business day, two to three in peak. Amazon and TikTok Shop connect to the same floor and draw on one inventory pool.
Returns come back to the same floor. Each parcel is received, graded, then restocked or set aside per your policy, and refunds can fire on receipt through your store. Returns run through your own systems and returns portal, and we integrate with them. You see the live dashboard we run on, inventory by SKU, order status and SLA, from the day you go live.
Integrations, the ShipStation WMS and the dashboard are included, and there is no setup fee. The connection is tested while your current warehouse is still shipping your real orders, which is how Found switched 3PLs and was shipping in one weekend. Most brands are live in under two weeks. The Shopify fulfillment page has the rest, and the intake takes about ten minutes.
Questions founders ask about Shopify and a 3PL
Does a 3PL need a login to my Shopify admin?
No. A 3PL connects through an app or a warehouse system with its own API permissions, and Shopify shows it as a location in your settings. Keep staff logins for people and let the integration run on its own credentials, so either can be removed alone.
Will my customers still get Shopify's shipping emails?
Yes. Shopify sends the Shipping confirmation when the order is fulfilled and a Shipping update when tracking changes, whoever created the fulfillment. The 3PL posts the tracking number and your store sends the email as it does today. Test that the carrier is recognized so the link opens.
Can I keep some stock in-house and the rest at the 3PL?
Yes. Shopify keeps a separate count per location and never pools them, and order routing decides which location ships. Set the routing rules and shipping profiles on purpose: a new location ranks last by default, and a product stocked in both places can split an order or oversell.
How long does connecting Shopify to a 3PL take?
The connection itself is quick. The time goes into product data, shipping method mapping and the test orders above. At YNK the store is connected and tested while your current warehouse is still shipping, most brands are live in under two weeks, and Found did it in one weekend.
Related: Shopify fulfillment from New Jersey · How to switch 3PLs without missing a day · How 3PL returns processing works