How to Change Shopify Inventory Location to a 3rd Party (And What Breaks Afterwards)

You can’t convert a Shopify location into a 3PL one. Here’s how to change your inventory location to a 3rd party and what breaks after.

how to change shopify inventory location to 3rd party Channel Bay
how to change shopify inventory location to 3rd party Channel Bay
how to change shopify inventory location to 3rd party Channel Bay

Table Of Contents

Title

Share

To change your Shopify inventory location to a 3rd party, you don't convert an existing location,  you create or connect a new one the 3PL controls, move the stock into it, then deactivate the old one. Shopify has not made this location a 3PL switch.

Handing your stock to a 3PL is a warehouse decision; telling Shopify about it is a separate job, and the order matters. Get it wrong and you'll either oversell for a week or lose the ability to count what you own.

The part almost nobody covers is what happens next. Once a 3PL owns a location, that stock stops being yours to edit, and anything else you use for purchasing or counting has to be told who's in charge. Skip that and your purchase orders quietly stop working.

First, work out which kind of 3rd-party location you're creating

This fork decides everything else, and it's the thing the Shopify docs assume you already know.

Type 1 - a fulfillment service location. Your 3PL has a Shopify app. You install it and the app creates its own location automatically. ShipBob, ShipHero and Amazon MCF all work this way; the screenshots below are from a store with ShipBob installed.

Type 2 - a plain location you happen to call "3PL". Your 3PL has no app, or you're not connecting it yet. You add a normal Shopify location, name it after the warehouse, and keep the numbers right yourself.

They behave very differently:


Fulfillment service location

Plain location

Who creates it

The app, on install

You, in Settings

Edit the address?

No

Yes

Edit the stock numbers?

No,  the app owns them

Yes

Remove it?

No. Remove the app instead

Yes,  deactivate it (Shopify has no delete)

Counts toward your plan's location limit?

No

Yes

That last row matters more than it looks. Shopify caps locations by plan - 2 on Starter, 10 on Basic, Grow and Advanced, 200 on Plus. Fulfillment service locations don't count against the cap, and neither do deactivated ones. If you're near the ceiling, connecting a 3PL's app costs you nothing in location headroom.

You can see this for yourself on the screen. The store in the screenshots below runs three locations of its own plus two more owned by apps, and Shopify still reports "Using 3 of 200 active locations available on your plan". The app-owned pair are simply not counted.

Route 1: Your 3PL has a Shopify app

custom fulfillment location shopify
  1. Install the 3PL's app from the Shopify App Store and finish its setup.

  2. Check Settings → Locations. Don't look for it in the main table,  it won't be there. App-created locations sit in their own section further down the page, headed App and custom fulfillment locations. You didn't create it and you can't rename it.

  3. Move your stock into it (see below).

  4. Deactivate the location the stock used to live in, if you've stopped shipping from there.

An app's location doesn't join your main list. It appears below it, under App and custom fulfillment locations,  "3rd-party services that manage inventory and fulfill orders" -  grouped under the service that owns it and tagged App. Look closely at what isn't there: your own locations are links through to an editable page, and these are not clickable at all. That absence is the whole of Route 1.

One thing worth knowing: as of September 2026, Shopify has been migrating all fulfillment services onto multi-location inventory since February 2026. Where that has landed, the same product can be stocked at your own location and at the 3PL at the same time, each with its own count. Useful if you're splitting fulfillment,  confusing if you assume handing stock to a 3PL removes it from your other locations. It doesn't. You have to move it.

Route 2: Your 3PL has no app

Worth reading the line under the heading before you click anything,  "Using 3 of 200 active locations available on your plan" tells you your headroom up front.

Add location in shopify
  1. Go to Settings → Locations.

  2. Click Add location.

  3. Enter the name and warehouse address. Name it something a human will recognize on an order six months from now,  Eastway 3PL — Reno, not Location 3.

  4. Leave the Fulfillment toggle - "Use inventory at this location to fulfill online orders"  -  on, unless you have a reason not to. It is on by default.

  5. Leave the Physical storefront off. It is off by default, and a 3PL's warehouse is not a shop you want surfacing in the Shop app or on your storefront.

  6. Save.

The real form is shorter than most walkthroughs imply -  four fields, two of them toggles, and the one that decides whether the location can fulfill anything is already set correctly.

You now own this location in Shopify's eyes, which means you're responsible for its numbers. Nothing updates them for you.

Moving the stock across

Creating a location doesn't move anything. Three ways to do it -  the first two depend on where the goods physically are, the third on how many SKUs you have:

Use a transfer when the goods are actually moving

Create it from Products → Transfers, ship it, receive it on arrival. Counts follow the goods and you keep a record of what left and what showed up -  which you'll want when the first count disagrees.

Use a direct adjustment when the stock is already there

This is for when the goods have already arrived at the 3PL and you're only correcting Shopify to match reality. Edit the quantity at each location. Faster, but no paper trail, so write down why you did it.

Use a CSV import past a few dozen SKUs

This is what most people end up wanting. Go to Products → Inventory and hit Export. The dialog leads with Export inventory from, which defaults to All locations -  leave it there if you're reconciling two locations against each other, or pick one if you only care about the warehouse you're emptying.

Two settings in that dialog decide whether the file is of any use. Inventory states shown offers All states or Available, and Available alone will not describe a warehouse mid-move -  it drops committed and unavailable units, which is exactly the stock most likely to be in dispute. Under Export, Current page means only the rows currently on screen, not your catalogue; All variants are almost always what you want.

Then import a file with a Location column -  it must match your Shopify location name exactly, including case,  plus Handle, your option value columns, and On hand (current) and On hand (new). Each variant needs a separate row per location. Files cap at 15 MB.

Include both the current and new quantity columns. When both are present Shopify compares what it expects against what's actually there before writing, which stops a stale export from silently overwriting a week of sales. Note that Shopify's CSV documentation covers standard locations; it doesn't confirm the same works for fulfillment service locations, and generally those are the app's to write, not yours.

Do all of this before you deactivate anything. Shopify won't let you unstock a product from a location with unfulfilled orders or active transfers against it.

Deactivating the old location

deactivate location in shopify

Settings → Locations → pick the location → More actions → Deactivate location. It is tucked inside the More actions menu rather than sitting on the page, which is why people hunt for it. If inventory is sitting there, Shopify asks you to reassign it to another active location first, then you confirm.

One item, one menu,  but it is the only route to it, and nothing on the location page itself hints that it's there.

Deactivating does not change your inventory quantities. It stops the location being used for new orders. You can still view and transfer stock at a deactivated location afterwards,  so this is reversible, and less frightening than it sounds.

Shopify blocks deactivation if:

  • there are pending unfulfilled orders or transfers at that location

  • it's your default location,  change the default first

  • it has a POS Pro subscription, downgrade that first

  • it's an app or third-party location, remove the app instead; you can't deactivate it

  • an inventory migration is in progress on that location,  a Shopify-side data move, unrelated to the fulfillment-service rollout above, wait 24 to 48 hours

  • you're on Shopify Plus without sufficient organization permissions

The default-location blocker is the cheapest of these to check and the easiest to miss, so start there.

What breaks afterwards

Here's the part the setup guides skip, and the reason people are back on the forums a fortnight later.

You no longer own that count

At a fulfillment service location the app writes the numbers and the field is not yours to edit. If your 3PL miscounts, you fix it with the 3PL, not in Shopify. Merchants usually discover this the first time they try to correct a number and find they can't.

Your other tools need to be told

This is the expensive one, and 3PL inventory management doesn't end at Shopify's location screen. Any inventory, purchasing or forecasting app sitting on top of Shopify has to know whether it owns stock levels or whether something else does,  and most ask once, during setup, in a single screen.

Answer "something else owns my stock" and the tool switches to read-only. For the 3PL's own stock, that is usually correct. The catch is scope: check whether that setting applies to the one location your 3PL runs, or to the whole connected store. If it is store-wide, the symptoms will not point at the cause:

  • suppliers don't appear when you try to raise a purchase order

  • the purchase order screen is empty, or won't let you add products

  • stocktakes have nothing to count

  • everything looks connected, so it reads as a bug rather than a setting

That first symptom is worth pulling apart, because two different things cause it and they need opposite fixes. If the supplier is missing from the purchase-order dropdown but you can still find it by browsing your supplier list, the likely cause is that it has no product linked to it yet, link one and it reappears, and the ownership setting is a red herring. If nothing will raise a purchase order at all and your stocktakes are empty too, it is the ownership setting.

None of that reads as a sync setting, which is why it usually gets reported as a bug. If your Shopify purchase order workflow empties out overnight and nothing else about your catalogue changed, check this setting before you check anything else. The stock sync is probably working perfectly, the tool is doing exactly what it was told to do.

Watch out if your setup is mixed

Plenty of retailers keep a shop or main warehouse in-house and use a 3PL for overflow or for one region. Where ownership is modelled at the store level rather than per location, one switch decides the behaviour for everything you have,  so flipping it to read-only because some of your stock sits at a 3PL takes your own warehouses read-only too. Find that setting and check its scope before you choose.

A checklist you can work down

Before you start:

  • Know whether your 3PL has a Shopify app

  • Check your plan's location limit and how many you're using

  • Fulfill or clear open orders at the location you're emptying

  • Change your default location if you're about to deactivate the current default

Doing it:

  • Create or connect the 3PL location

  • Move the stock, transfer, adjustment, or CSV

  • Confirm the numbers at both locations before going further

  • Deactivate the old location

Afterwards:

  • Place one test order and confirm it routes to the right location

  • Check every other app that touches inventory, and confirm which one owns stock

  • Raise one purchase order and run a quick stocktake, just to confirm they still work

That last line takes two minutes and catches the problem above before it costs you a fortnight.

Common questions

Can I convert an existing Shopify location into a 3PL location?
No. A fulfillment service location is created by the 3PL's app when you install it. You move stock into it and deactivate the old location instead.

Will deactivating a location delete my inventory?
No. Deactivating doesn't change quantities. You can still view and transfer stock at a deactivated location, and it stops counting toward your plan's location limit.

Why can't I remove my 3PL's location?
Shopify has no delete for locations, your own are deactivated, not removed. App and fulfillment-service locations can't even be edited or deactivated by the merchant. Remove the app and its location goes with it.

Do 3PL locations count toward my Shopify location limit?
No. Neither fulfillment service locations nor deactivated locations count.

Can I keep stock at my own warehouse and at the 3PL at the same time?
Yes, when Shopify's multi-managed inventory rollout has reached you, it tracks each location's count separately. Just remember the stock doesn't move between them on its own.

My purchase orders stopped working after I set up a 3PL. Why?
Two different things cause this and they need opposite fixes. Either your purchasing tool was told a third party owns inventory and has gone read-only, or an individual supplier has no product linked to it yet and so never reaches the purchase-order screen. Try linking a product to the supplier: if there are no products available to pick from, it's the ownership setting. See What breaks afterwards.

Prevent 3PL inventory sync issue with channel bay

Where Channel Bay fits

Channel Bay makes you answer the ownership question directly, and deliberately doesn't ask you to describe your fulfillment model. On the inventory sync step you choose between:

  • Bi-Directional - "Channel Bay syncs data from and pushes inventory updates back to your Shopify store." Choose this if Channel Bay is running your purchasing and counting.

  • Fetch-Only - "Channel Bay only fetches updates from your Shopify store. We will not push any inventory updates to your store." Correct when something else owns your stock, but purchase orders and stocktakes then have nothing to write to.

The choice is restated on the review screen before you finish, with an edit control next to it, so you see it twice before anything syncs.

That onboarding step is store-wide, and that is the honest caveat: it is one answer for the whole connected shop. Mixed setups are handled after onboarding rather than during it. The stock sync method has a third state, Hybrid, which adds a per-location Sync Inventory column to your warehouse mapping, so the 3PL's location can belong to the 3PL while your own warehouses stay under Channel Bay's control. If some of your stock sits at a 3PL and some doesn't, that is the setting you want. It isn't self-serve, though, onboarding only offers the two options above, and Hybrid is arranged with support rather than picked from a menu. Ask for it rather than hunting for it.

Changing it later is deliberate rather than a casual toggle. Open Integrations → View Linked Stores, click the store, and open the Warehouse Mapping tab. The panel shows your current Stock Sync Method, and when that reads Third Party App a Switch to Channel Bay button sits beside it. Expect a confirmation dialog that makes you type the word Toggle, and read it rather than clicking through it: switching makes Channel Bay the source of truth and starts pushing quantities to Shopify, so if another app is still writing to the same locations, the two will disagree. If this is the first channel on your account to be automapped, confirming also rebuilds your Channel Bay locations from Shopify rather than preserving what's there. Check what else is writing to your inventory before you confirm, not after.

And if you're moving to a 3PL while also migrating off Shopify Stocky, check whether your Stocky account still opens before you plan around it. Stocky shut down on 31 August 2026, and only some merchants were given an extension. If yours still loads, pull what you can now, and be realistic about what survives the trip. Stocky's API never exposed supplier-to-product associations, so those links have to be rebuilt from your purchase history, and only for vendors you actually raised a purchase order against.

Start Managing Shopify Inventory with Confidence

Sell everywhere. Restock on time. Stop overselling.

Background Image

Start Managing Shopify Inventory with Confidence

Sell everywhere. Restock on time. Stop overselling.

Background Image

Start Managing Shopify Inventory with Confidence

Sell everywhere. Restock on time. Stop overselling.

Background Image