"Shipping Not Available" When the Stock Is Only in Your Stores
If your stores have the item and the website will not ship it, the stock is sitting at a location that checkout is not allowed to ship from. In Shopify, a location can ship an online order when it is allowed to fulfill online orders and it sits in a location group with shipping zones and rates in the shipping profile that the product belongs to. A common way to fail the second test is a store created after your shipping profiles were set up, because Shopify puts new locations into each profile's "Not fulfilling from" section, with no rates.
The symptom is not always the error. On stores created since April 2024, the same cause can show the product as sold out online while it is on a shelf in a store, which is the more expensive version of this problem because nobody searches for an error they never saw.
The fix also changes which location ships your online orders. Once a store can ship, order routing can choose it, so decide the routing rules before you switch it on. Shopify says its shipping profiles and rates are "gradually moving to shipping options by market", so some screen names may differ on a store that has been upgraded. Everything below was checked against Shopify's Help Center on October 1, 2026.
Why does checkout say "Shipping not available" when a store has the item?
Shopify's page on troubleshooting shipping rates lists the errors a shopper can see when the cart matches no shipping rate. One reads: "Shipping not available. Your order cannot be shipped to the selected address." The wording blames the address. For a retailer with stores, the address is often fine and the origin is the problem.
The three checks that matter most here:
- The location has to be allowed to fulfill online orders. In Settings > Locations the option is labeled "Inventory at this location is available to fulfill online orders". Shopify's routing page calls the same setting "Fulfill online orders from this location". It is on by default for each new location, so if it is off at a store, it was changed at some point; find out why before you turn it back on.
- The location has to be in the product's shipping profile, inside a location group that has rates. Shopify describes a location group as "a collection of fulfillment locations created within a shipping profile", with its own zones and rates. A location that is not in any group is listed under "Not fulfilling from", and no rates apply to it.
- The stock has to be at a location that fulfills the product. Shopify's checklist says products need "available inventory stocked at locations that fulfill the product", unless the product is set to keep selling when out of stock.
The second check is the one that catches multi-store retailers. When a shipping profile is first created, every location that can fulfill online orders is added to it in one location group. But Shopify adds: "If you create a new location after a shipping profile is created, then it's automatically added to all shipping profiles in the Not fulfilling from section." A store created after the profiles were built has stock but no rates.
It also happens on purpose and is then forgotten. One merchant described a setup with several store locations plus a separate "Online Store" location, where the shipping profile let only the online location fulfill, so products stocked only in the stores showed "Shipping not available".
What should you check first?
Work through these in order.
- Open the store in Settings > Locations. It should be active, have a valid address, and have the fulfill-online-orders option on. Shopify does not display locations that don't fulfill online orders in shipping profiles at all, so if this is off, you will not find the store in the next steps.
- Find the product's shipping profile. A product or variant can be in only one profile at a time. A new profile picks up every location that fulfills online orders when it is created, so a store is missing from a custom profile, such as one for heavy or fragile items, only if it was created after that profile or was removed from it.
- In that profile, look at Fulfillment locations. If the store is under "Not fulfilling from", that is the cause. You can add it to an existing location group, so it shares that group's zones and rates, or give it a new group with its own. Before you save, set your routing rules (next section), because this is the step that lets online orders reach the store.
- Check that the store's location group has a zone covering the customer's country, with a rate. Shopify's own example has one group shipping worldwide and one shipping only to the United States. A store in a United States–only group will not ship to Canada, however much stock it has.
- Test with a new checkout. Shopify notes that an abandoned checkout keeps the rates it was created with, so it will not reflect what you just changed.
If the customer's country is not in any Shopify market, no location can ship there, but that blocks the warehouse too, so it is rarely the cause when only store stock fails.
What changes once your stores can ship online orders?
Making a store a shipping origin also makes it a candidate for order routing, which decides which location fulfills each item. According to Shopify's order routing page, a location without the fulfill-online-orders setting "is excluded from order routing". It also has to "belong to an active shipping zone that covers the destination country in the relevant shipping profile"; the zone "doesn't need to have rates". And "Ship from closest location" skips a location whose address is not verified, because it cannot measure the distance.
Four things follow from Shopify's documentation:
- Its place on the list does not protect you. A new location "is added to the bottom of your order routing list", but when your rules leave two locations tied, Shopify says "the older location is selected". Order is controlled by your rules, not by when the store was added.
- "Ship from closest location" will pick a store when it is nearer. If that rule runs first, a store across town from the customer beats a warehouse two states away. Shopify's suggested setup for prioritizing a warehouse is "Use ranked locations" at the top, with warehouse locations in the top group, and, if you have more than one warehouse, "Ship from closest location" at the end to break ties.
- Rule order decides whole-order versus nearest. "Minimize split fulfillments" reduces splits, so if it sits above your ranking, a store that holds the whole order can beat a warehouse that holds part of it. Decide which you want before you rely on either.
- A split can cost you a second label without the customer paying for it. Shopify says routing "can split an order across locations when no single location can fulfill it", and that the minimize rule "can't prevent them when a single location can't complete the order." Checkout rates are a separate matter: they are added together only when an order needs locations from different location groups. If the store shares the warehouse's group and the group uses a flat rate, Shopify charges that flat rate once for all locations, so the customer pays one shipping charge while you pay for two shipments. Weight-based and carrier-calculated rates are combined instead.
The store floor changes too: a register sale can take the unit between the online order and the pick, and display or damaged units counted as available become orders. The labor and packaging trade-offs are covered in the real cost per order of shipping from a store, and the rules themselves in which location should ship the online order.
Do you have to let stores ship to sell their stock online?
No. There are two alternatives.
Offer pickup instead of shipping. Shopify switches pickup in store on per location, with the option "Let customers pick up orders directly at this location", and requires at least one location in your store that fulfills online orders. By default, pickup is offered only when the entire order is in stock at the pickup location. Store transfers, set in the same pickup settings, choose which locations can send stock to the pickup store when it is short; Shopify prioritizes the locations closest to the pickup location, and checkout shows a pickup estimate that allows for the transfer. Before relying on this for a store, confirm in your admin which settings that store needs, since the fulfill-online setting also governs routing.
Leave the stores out on purpose. Some stores have no space or staff to pack, and some stock should never ship. Then "Not fulfilling from" is the right setting for those stores. On stores where fulfillable inventory is active, Shopify shows a product as out of stock when it cannot be shipped to the customer's location, so the shopper sees "unavailable" rather than a checkout that fails. Keep display and damaged units out of available stock, or they will be sold.
Count your locations as you plan. Shopify's active location limits are 2 on Starter, 10 on Basic, Grow and Advanced, and 200 on Shopify Plus, and apps that stock inventory for you, including third-party logistics services, count as locations. Ten stores, a warehouse and a 3PL is already twelve, above the limit on Advanced. Store location limits explains what that ceiling does to pickup and fulfillment.
The short version
"Shipping not available", or a product shown as sold out online while it sits in a store, often means the store is not in a location group with rates in that product's shipping profile, commonly because the store was created after the profile. Adding it fixes the message. It also hands the store to your routing rules, so set those first, and choose for each store whether it ships, offers pickup or stays out of online orders, rather than letting the default decide.
Frequently asked questions
Why does Shopify say "Shipping not available" when my store has the item in stock?
Usually because the stock sits at a location checkout cannot ship from. Checkout ships from locations that fulfill online orders and belong to a location group with zones and rates in the product's shipping profile. A store created after the profile existed is placed under "Not fulfilling from" with no rates. On newer stores the same cause can show the product as sold out instead of an error.
If I let my stores ship online orders, will Shopify start sending orders to them?
It can. Order routing considers a location that fulfills online orders and sits in an active shipping zone covering the customer's country; the zone does not need rates. A "Ship from closest location" rule can then pick a store over the warehouse. To keep the warehouse first, rank it above the stores with "Use ranked locations" and check where "Minimize split fulfillments" sits.
Can I sell store-only stock online without letting stores ship?
Yes, through pickup. Shopify's pickup in store is switched on per location and needs at least one location in the store that fulfills online orders. By default it is offered only when the whole order is in stock at the pickup location. Store transfers can bring stock from other locations to the pickup store, and checkout then shows a pickup estimate that allows for the transfer.
Start your 14-day free trial
See how OmniOrders connects your sales channels, 3PLs, and carriers into one operational layer — free for 14 days, no credit card.