Designate Sales Channels Based on Inventory Levels

Topic summary

A merchant operates both physical retail and online stores with separate Shopify inventory locations (warehouse and retail). They want to automatically publish products to specific sales channels based on location-specific inventory levels:

Goal:

  • Warehouse inventory only → publish to Online Store
  • Retail inventory only → publish to Point of Sale
  • Both locations have stock → publish to all channels

Current Issue:
Their Shopify Flow workflow isn’t functioning correctly. The initial approach checked if a location “has active inventory,” but this condition evaluates across all products at that location rather than for individual variants.

Recommended Solution:
Use Flow templates that check inventory levels by:

  • Searching for “location inventory” templates
  • Checking available count AND location name for the same inventoryLevel
  • Avoiding variable paths that aggregate inventory across all locations

Simplified Approach:
The merchant later clarified they could simplify by focusing only on warehouse inventory levels, since their POS location sells products regardless of stock status. This would require unpublishing online channels when warehouse inventory reaches zero and republishing when restocked.

Status: The discussion remains open with the merchant seeking specific template examples to implement the solution.

Summarized with AI on October 30. AI used: claude-sonnet-4-5-20250929.

We’re a brick & mortar as well as a webstore. Because of that, we have two different Shopify locations: one for our warehouse levels, and one for our retail levels.

My goal is to create a flow that will publish our products to specific sales channels based on the inventory levels.

For example: If there is no warehouse inventory but there is retail inventory, then it would only publish to our Point of Sale channel.

If there’s no retail inventory level but there is warehouse inventory, it would publish to the Online Store, etc.

If there IS retail inventory as well as warehouse inventory, it would publish to both the Point of Sale AND Online Store AND other sales channels.

Is that possible within the Shopify Flow? I see we can create a workflow based on inventory levels, but I do not see a place to manipulate the sales channel based on specific location inventory levels.

I know there are apps out there that do it, but we’re not too keen on paying extra for something unless we absolutely have to.

I have worked with Shopify Seller Support extensively to build out a flow that they believe is correct, but it is still not working.

Start when → Product variant inventory quantity changed
Check if → Location has active inventory is equal to FALSE and Location name is equal to “LOCATION NAME” (our warehouse)
Then → Unpublish product
Otherwise → Publish product

Is the problem that Shopify is still considering it active if there’s any location with active quantity? I also tried the flow with Quantity at 0 and it still returned the same issues.

2 Likes

If you are checking that a location have active inventory, you are checking that across all products, not for a single product/variant.

You need to check the available count and the location name for the same inventoryLevel, just as a bunch of templates do. The only difference is that you need to do that twice, once for each location.

Oh interesting - so because there is some quantity in the location in general, it’s always going to return it as if it’s active.

Can you clarify the second part on exactly what I need to do for a resolution? If you can upload a screenshot, that’d be even better (I know it’s hard to exactly describe a workflow)

Would I do inventoryLevels_item.item.variant.inventoryQuantity and then just make sure that the location name is correct? I don’t see where Available Count is.

What kind of tags or metafields would I create in order to designate it?

No please don’t do that variable path. That will get the variant inventory for all the locations, which makes no sense.

Use a template. Search for “location inventory”. It will show you condition syntax and you can then add it to your workflow

You only need tags or metafields if you need to track whether the inventory was previously in stock or out of stock (or something like that). The reason is because there is no way to get the prior inventory for a location (only for a variant)

Any chance you could send me a URL of a sample template that I should be able to adjust to fit my needs? I’m looking at a couple of them but I’m not sure how they’re different than what I’m attempting.

(Obviously the nuances are different, but it looks like the flow is the same)

Technically this flow can work dependent on only one Warehouse condition. As our POS Location sells in stock and out of stock products, that Location can stay published regardless of inventory levels.

So it’d only be our online location that would need to unpublish channels once the online inventory level reaches 0, and alternatively: republish sales channels when inventory is filled.