Hide products not stocked at a location in Shopify POS

If you run more than one shop, Shopify POS shows every product you sell at every till — including the ones that location has never stocked. Staff scroll past them, and worse, they find them in search and sell them.

(This page is about your store locations, not your customers' countries. If you are looking to hide products from shoppers in particular countries, that is a different setting entirely.)

There is still no native way to make an unstocked product disappear from a location's POS. Shopify staff have confirmed it twice, three years apart. What changed in August 2025 is that Retail Markets now lets you build a per-location catalog — the first real mechanism — but it is manually curated, it needs POS Pro, and almost nothing written about this problem mentions it exists.

Your options, shortest version:

  • Retail Markets catalogs (POS Pro) — you decide by hand which products each shop sells. Solid if your assortments are deliberate and fairly stable.
  • A collection per location, pinned to the POS home screen — free, and the answer Shopify has given since 2021. It reduces scrolling. It does not touch search.
  • Neither one watches your inventory. Nothing in Shopify connects "not stocked at this shop" to "hidden at this shop". That link is the thing merchants have been asking for since 2021, and it still has to be built.

What it actually costs

The problem is not tidiness. It is that staff sell things the shop does not have.

Our staff confuses items constantly when using search that are stocked at other locations and they shouldn't be selling. Just adding in my August 2025 experience here that it is STILL not possible to restrict product to certain POS locations.

— AndrewDB, Shopify Plus merchant, 5 September 2025

The clearest picture of the daily cost comes from a merchant selling at trade shows:

We use Shopify POS to sell at consumer events like expos and trade shows, and only bring a small, curated sampling of our full product line to each event. The Products tab is essentially useless to us as it's not feasible to scroll through a hundred products to find one of the ten items we brought to a show to sell.

— KaylaLynn, 26 June 2024

A hundred products on screen, ten of them real. And in a queue, the mistakes follow:

Have the same issue and totally agree, this is a cluttered mess to scroll through and very easy when it gets busy to make a mistake.

— MBowland, 27 July 2024

One merchant did everything right and still got caught, days before an event:

Hosting a pop-up sale event this weekend and did the work of creating a new location and moving products over to the separate location to create an easier/faster check-out … but come to find out that you can still see and sell through all inventory and it's not actually limiting inventory view at all.

— shopoddbird, 11 June 2026

That is the trap worth naming clearly, because it is the reasonable assumption: creating a location and assigning stock to it does not restrict what that location can see or sell. A Shopify Partner replying in that same thread put it plainly: "Shopify locations don't restrict the inventory view; they are just for tracking or reporting, not access control."

POS will let you sell what is not there, without warning

This is the half of the problem that is easy to miss until it bites. It is not only that the wrong products are visible; POS does not stop the sale.

In Shopify POS, however, there's no indication that an item is out of stock, and the system lets me sell it. In fact, I can sell 100 of an item that is out of stock, if I wanted to. This is an issue for us. We may have an item in the retail store that has already been sold online, or for some other reason we've set the inventory to zero. I don't want to oversell in our POS.

— PaulM-AC, 31 August 2022

The advice he received in that thread is worth quoting, because it is what "solved" looks like today:

The system informs the cashier when inventory is 0. Just tell your staff not to sell an item whose inventory is 0.

— HKJ, 14 October 2022

That is a training instruction standing in for a control. Another merchant in the same thread asked for the smaller version of the fix and did not get it either: "if not, so at least not being able to add it to cart will be a good start."

If you have ever reconciled a stock count and found a negative number, this is usually where it came from.

The same gap breaks your online store, in reverse

Worth knowing if you sell both ways, because the cause is identical and the fix is the same piece of work.

Split your stock between a retail location and a warehouse so the two channels stop stealing from each other, and your online store starts showing retail-only stock as sold out — because the theme cannot see stock per location.

The problem we are having is items that have quantity available in the Retail location are showing up on our store page but as "sold out" which is frankly becoming a mess for browsing.

— Vriess, 27 December 2023

A Shopify Partner named the root cause in that thread: "granular inventory data is not provided to the theme system." One merchant did solve his version with Shopify Flow — a tag added and removed based on one location's stock, which he reported "Works perfectly!" — but that only governs online-store collections. It does nothing for the POS grid, and it takes a workflow per location.

Shopify has confirmed this twice, three years apart

July 2021, Shopify staff, in the thread that is still the top result for this question:

The Shopify POS was designed to show all of your products on the POS as the app assumes you have inventory on hand, because you are selling in person. These products will still show on your POS even if you don't have inventory.

— Tira, Shopify staff, 9 July 2021

A week later, the same staff member: "There isn't a way to restrict products by location."

June 2024, a different Shopify staff member, in the same thread:

At this time, it's not possible to natively restrict items from appearing in Shopify POS depending on the POS location being used. However, we've received loads of feedback around this over time…

— Imogen, Shopify staff, 26 June 2024

Between and after those, merchants kept arriving: "It's been more than a year" (2022) · "more than 2 years after the original post" (2023) · "Not fixed. July 2024 here" · "A solution requested from 2021 and still not resolved" (December 2024) · and the September 2025 post above.

Route 1 — A collection per location on the POS home screen

This is the workaround Shopify itself proposed in 2021 and it is still the free answer. Build a collection containing what a given shop actually sells, then pin it as a tile on that location's smart grid.

One refinement worth copying, from a merchant who uses it: set the collection's sales channel to Point of Sale only, so these location collections never appear on your online store.

Where it stops, and this is the part no guide tells you

It does not touch search. A tile is a shortcut, not a filter. The moment a staff member types into the search box, every product in your catalogue is back — which is exactly how the mistakes happen. The original 2021 post said it: "Gold Ring shows up on search / in collections even though it's not stocked there." Four years later: "staff confuses items constantly when using search."

And it will not maintain itself. You cannot build a smart collection on "stocked at this location", because that condition does not exist. The only inventory condition available counts total stock across every location — a merchant discovered this the hard way when adding a POS location silently broke his sold-out filtering, because items sold out online were still in stock in the shop and stayed in the collection.

So every new product, every seasonal change, every transfer means editing collections by hand. As one merchant put it: "If you get new products you now need to double check they are showing up where you want them."

Honest verdict: worth doing if your product list is small or your assortments rarely change. If you have hundreds of SKUs across several shops, you are signing up for permanent manual upkeep — and search still leaks.

Running pop-ups where the assortment changes every weekend? See what an inventory-driven version looks like →

Route 2 — Retail Markets catalogs

This is the genuinely new thing, and it is missing from almost everything written about this problem. Shopify shipped Retail Markets on 19 August 2025: location-specific catalogs that let different shops sell different products at different prices. Shopify's documentation states that retail markets "use POS locations as their condition" and that catalogs let you "offer different products at different retail locations."

Requirements: POS Pro, POS version 10.3 or above. Customising catalogs requires POS Pro or Shopify Plus.

How membership works — this is the crucial detail. Catalogs are curated by hand. Shopify's own instruction: "By default, all products are included. To exclude a product, select its checkbox, and then click Exclude from catalog." You can also manage it by CSV.

There is no inventory-driven option. Nothing in the feature connects "this product is not stocked at this location" to "exclude it from this location's catalog". Shopify Flow cannot edit catalogs. If you want exclusions that follow your stock automatically, that has to be built against the catalog APIs.

Check this yourself before relying on it. Shopify's documentation says catalogs control which products are available at a location — but none of the pages we could find state whether an excluded product also disappears from POS search, which is where the real damage happens. Test it before you rebuild your assortments around it: exclude one product from a location's catalog, open POS at that location, and search for it by name. Two minutes, and it decides whether this route solves your problem or half of it.

Worth knowing: merchants were still reporting the problem as unsolved in September 2025 and June 2026, after Retail Markets shipped. Either they had not heard of it, were not on POS Pro, or found that manual catalogs did not answer an inventory-driven need. All three are common.

On POS Lite, or need exclusions that follow stock? There is a fourth option →

Three things that look like solutions and are not

Assigning staff to locations. This restricts where a staff member can log in. Shopify's documentation is explicit that it "only restricts where they can use their PIN to access the POS app" — and that they "can still view inventory levels and orders" for other locations. It is an access control, not a visibility filter.

POS UI extensions. If you were hoping a developer could filter the product grid with an app extension: they cannot. Shopify's extension targets cover the home screen, product details and the cart — there is no target on the product grid, the product list, or search results. An extension can build its own location-aware product browser inside a modal, but it sits alongside the native grid rather than replacing it.

Marking products "unlisted" or unpublishing them. These control the online store. They do nothing for POS.

Duplicating products per location. Suggested often, and it splits a product's sales history and inventory across two records. One merchant looking at the same problem in 2026 ruled it out immediately: he wanted to "avoid creating multiple variants/SKUs to manage this."

Zeroing out or transferring stock before every event. It works, in the sense that it changes what POS shows — by making your inventory records temporarily untrue at the location you took the stock from. Fine once. Not a process.

One cost trap to check before you plan around a fix

Several of the suggested answers here are POS Pro features, and merchants have discovered that mid-problem. One running a pop-up alongside a warehouse was told to use Ship to Customer for items held elsewhere, and replied:

We are on Pos Lite and ship to customer is a Pos Pro feature.

— skippyinspace, 9 October 2024

The thread ends there. Before you commit to a route, check which plan it needs — Retail Markets catalogs require POS Pro, and the free collection workaround is the only route that does not.

Which route is yours

Your situation Route
Small catalogue, assortments rarely change, on POS Lite Collection per location — free, accept the manual upkeep
Deliberate, stable per-shop assortments, already on POS Pro Retail Markets catalogs
Staff keep finding wrong-location items in search Test Retail Markets first; if search still leaks, neither native route solves it
Assortment changes every event or weekend Manual curation will not keep up
You want "not stocked here" to mean "not shown here", automatically Nothing native does this — it has to be built

The last row is the one merchants have been asking for since 2021, in almost the same words each time: "why can't a collection filter by 'stocked at location'?" · "simple to add a location filter at the very least" · "If you only have something stocked at one location, it should simply be showing up ONLY AT THE ONE LOCATION. This is basic functionality."

What this is costing you now

Two numbers are worth writing down before you spend anything.

Staff time: how many minutes a day does your team lose scrolling past products that are not in the building? One merchant described "enormous time sorting through unavailable items to find the item that is actually being purchased." At a busy till, two minutes a transaction is a full salary.

Wrong sales: how often does someone sell an item this shop does not have? Every one of those is a refund, an apology, or a transfer you did not plan. Note that Shopify POS will let it happen without warning.

Then weigh those against POS Pro if you are not already on it, and against the hours of collection maintenance that the free route needs every month.

There is a third cost that does not show up on any invoice. Merchants in these threads reach a point where the till stops being trusted — "essentially useless", "almost useless", "clogged up" — and then they start looking elsewhere:

It takes the staff enormous time sorting through unavailable items to find the item that is actually being purchased. So time consuming. We are looking into other systems and wonder if others have found better solutions?

— kwypych, 25 January 2023

Losing confidence in the till? See what a location-aware POS lookup looks like →

A fourth option: make "not stocked here" mean "not shown here"

Every route above asks you to maintain a list by hand. The thing merchants have actually been requesting for five years is a rule: if it is not stocked at this shop, do not show it at this shop.

That rule is buildable. Shopify exposes inventory per location and exposes the catalog APIs; what has never existed is something joining the two. With Shopivibe you describe it in plain language — "at each location, hide any product with no stock at that location, and keep it out of POS search" — and get a real Shopify app that does it, usually in under five minutes.

Tell Shopivibe what you want your store to do — "at each location, hide any product with no stock at that location, and keep it out of POS search" — and it works out how, builds it, and checks it against your own store's data before anything goes live. You see in your Shopify admin, in plain language, what is switched on and what it has done. It stays looked after; there is nothing for you to run.

Early access is open now, and the $49 plan is free for the whole of it.

Be straight about the comparison. If your assortments are stable and you are already on POS Pro, Retail Markets is included in what you pay Shopify and you should use it. That is the honest answer. Where this stops being true is when the list has to keep up with your stock, which is every pop-up, every event, and every shop whose shelves change weekly.

And the maths changes when you have more than one problem, which most retailers do. The $49 is a workspace, not a single app: the next rule — receiving, transfers, a stock-aware product lookup for staff — goes in as another layer of the same app, through chat. You never start over, and you do not pay another subscription.

On Shopify Plus and POS Pro, honestly: we always try to build so a feature does not require an upgrade, and often that is possible. Some outcomes genuinely depend on a plan-gated API, and we cannot promise otherwise. You will see which one your rule needs when you build it, not after you have paid.

Checked against Shopify's documentation and the App Store on 28 July 2026.