Demo index
View Categories

Multi fulfilment location pre-order support

7 min read

Prefer a video? Click here to watch Oli talk through supporting pre-orders across multiple fulfilment locations.

PreProduct supports multi fulfilment location selling for Shopify stores that fulfil from more than one location. For example, a warehouse in the US and a warehouse in Europe can pre-sell to the customer served by one location while selling as normal (buy now) to the customer served by the other. PreProduct handles the dynamic swapping of buy buttons on the storefront, whether that’s pre-order, buy now, sold out, or “pre-orders are sold out”.

The rule for out-of-stock pre-orders: a customer only sees pre-order when every location that can serve them (per your Shopify shipping profiles) is out of stock. For backorder-style pre-orders, where you’re reselling something that has sold out, everything else follows from that one rule. Limited releases and pre-launch campaigns are a little different, since you sometimes launch with stock already sitting in Shopify, but they mostly follow the same process.

Walk through the cases for a brand with a US warehouse and a UK warehouse:

Button shownWhen it shows
Buy nowAt least one location serving the customer has stock
Pre-orderEvery location serving the customer is out of stock, and pre-order limits haven’t been reached
Pre-orders are sold outEvery location serving the customer is out of stock, and that location’s pre-order limit has been reached
Sold outThe product isn’t available to buy or pre-order for that customer

Listing multi fulfilment location pre-orders #

There are three ways to create a new pre-order listing in multi fulfilment location mode.

Manually create a single listing #

From PreProduct, select the New listing menu item up top, then select your products from the list. On the new listing screen, click Advanced at the bottom. You’ll notice an “Only list specific variants” checkbox, tick that, then tick the “Select out of stock variants” checkbox.

This starts the listing with only out-of-stock variants on pre-order, in a location-sensitive way. For example, if the US warehouse has size 10 out of stock, that variant goes on pre-order, while the UK warehouse, which still has size 10 in stock, does not. You can then manage the listing going forward from the listings dashboard in PreProduct.

Manually create many listings in bulk #

From PreProduct, select the New listing menu item up top, scroll down, and click Bulk manage listings. On the bulk managed listing screen, select the products you’d like to list for pre-order, scroll down, then tick the “Only list out-of-stock variants” checkbox.

This means only the out-of-stock variants of the products you selected will go on pre-order, much like the example above, where some warehouses can be out of stock while others are in stock (or they could all be out of stock, or all in stock).

Automatically create and manage listings #

From PreProduct, select the Setup menu item up top, then scroll down to Automations and click through. Notice the “Multi-location listing manager” card. Click Activate on the card, then click the blue “Rebuild inventory data” option.

This automation manages your products for you, with no ongoing input. It works via Shopify webhooks, which fire whenever an inventory item, product, shipping location, or stock level changes. Clicking Rebuild inventory data is required to onboard the automation: PreProduct works through your whole catalogue once, making sure any listing that should be on pre-order is, and any that shouldn’t be isn’t.

The automation only touches eligible listings, just like a regular listing manager automation. This means the product must have an eligible template and have at least one variant in one location out of stock. Once turned on, PreProduct will automatically toggle variants on and off pre-order at specific locations as they go out of stock.

This is all dictated by your Shopify location and shipping profile settings. If the US warehouse can ship worldwide, and there’s a UK warehouse which is out of stock but the US warehouse can still serve UK customers, then that variant would not be treated as pre-order and would remain buy now.

automating many pre-order listings with multi fulfilment location support

Updating multi fulfilment location pre-order listings #

Once a pre-order listing is in multi fulfilment location mode, it surfaces locations in two areas of the listing’s dashboard.

The first is the variants area of the dashboard, down on the bottom right-hand side. Clicking the “All locations” option lets you flick between the variants at each of your locations to see where they’re on pre-order and where they’re not. By default it shows the “All locations” view: variants on pre-order at atleast one location show green, while variants that are buy now in all locations show grey.

Updating a multi fulfilment location variant from the listing dashboard

Locations are surfaced a second time via the blue “Set pre-order limits” link in that same variants area. In much the same way, you can view all locations together, or select a specific location from the top right of the pop-up to update max limits and to take variants on and off pre-order at each of your locations.

Setting per-location pre-order limits

Finishing a multi fulfilment location pre-order listing is much the same as normal in fact, most of the functionality is identical. It’s only the specific variants and max variant limits that behave differently in multi fulfilment location mode, since they’re in the domain of where something can be sold.

Limitations #

  • Shopify only: Only Shopify stores are supported for multi fulfilment location selling with PreProduct.
  • Headless stores: window.Shopify.country needs to be set for headless stores to respect location inventory, otherwise all customers will be allowed to add pre-orders to cart/checkout.
  • Checkout validation rules: PreProduct’s checkout validation rules, namely pre-order enforcement and isolated pre-order cart enforcement, are deliberately cautious. A variant is only enforced at checkout when it’s on pre-order across all of your locations. This is because Shopify checkout functions read a single product-level metafield, which holds a flat list of variant IDs with no per-location dimension. Rather than risk blocking a legitimate buy now, PreProduct only writes a variant to that list, and so only enforces it, when every location has it on pre-order.

Troubleshooting #

The trickiest part of multi fulfilment location selling is making sure your Shopify configuration is correct, namely your locations, shipping profiles, shipping zones and inventory levels. This part of Shopify is incredibly flexible and powerful, but that flexibility can also make it confusing.

For this reason, the listing dashboard tells you whenever a location isn’t selling a product, along with the reason why. PreProduct won’t sell a product at a location if Shopify’s settings prevent it. There’s an in-depth Shopify doc here on multi fulfilment location selling.

A few Shopify-side causes come up again and again:

  • The variant has no inventory level at the location. Shopify only lets a location sell (or pre-sell) a variant once it has an inventory level there, which is created when you stock or activate the variant at that location. Adding a new warehouse doesn’t stock your catalogue there automatically. If a variant seems missing from a location entirely, rather than showing the wrong button, check Shopify’s Inventory screen and activate it at that location first.
  • A custom shipping profile has claimed the product. Adding a product to a custom shipping profile removes it from your general profile. Locations attached only to the general profile will silently stop serving that product, which surfaces as unexpected buy now or pre-order states. It’s also worth avoiding naming profiles after a single country (like “Japan”); profiles tend to grow to cover more locations and zones, and the name stops matching reality.
  • A zone is missing from the profile. If a location should serve a country but doesn’t, check the shipping zones attached to that location within the relevant profile.
Troubleshooting locations from the listing dashboard

Powered by BetterDocs

Screen walkthroughs

Pre-sell With PreProduct

7 day free trial with all plans