Having trouble with how to show the correct amounts of inventory based on a users location? Welcome to the club! Shopify has a commonly known issue where the system aggregates inventory across all your warehouses and uses that to display when things are in stock or sold out on your front end product detail page. This is a big problem if your warehouses are strategically located far apart so that you can fulfill an order from the warehouse closest to the user.
For example, if you have a warehouse in the USA and one in the EU, the point of that is to fulfill orders from the location closest to the customer. However when that customer visits the website, they won’t see the accurate amount of inventory available by location. To further illustrate, let’s say a user in the EU comes to the website, we of course want to show them product availability based on what we have in the EU warehouse. Unfortunately Shopify does not support this as a core feature. Instead the product detail page will add up all inventory across both the USA and EU warehouse and that is what the user will see and be able to purchase on the front end product detail page. This becomes more problematic when users are able to purchase a product that isn’t even available in the warehouse closest to them. This is made possible by Shopify aggregating inventory across all warehouse locations and making it available to the user.
So the question is how do you deal with this and show the right amount of inventory available to a user based on their location? There is no great app in the Shopify App Store to handle this so we built a custom app that passes our inventory data into our product detail page through the “meta fields” app.
The other clear alternative is creating a separate warehouse for each region, so that you can tie the warehouse to that website only. This creates issues with maintenance and upkeep when you want to make site changes, because you have to update each site individually.
There are other workarounds but we chose to keep our product detail page url static for all regions and simply change the front end display based on their IP address. This allows us to avoid creating 2 separate websites.
Comment below if you have experienced this issue and have found other solutions!