Acro Commerce

B2B mechanics

Multi-warehouse availability: what do you show a buyer when stock lives in five places?

A single company-wide stock number is a promise you cannot keep, because availability in B2B is a question with a customer in it: which warehouse can actually serve this buyer, by when. BigCommerce allows four to 100 inventory locations by plan but its Stencil storefront reads only the default location unless you request an aggregated model, Shopware puts warehouses and warehouse groups behind its Beyond tier, and no platform natively answers "what can you ship me from the depot that serves my region".

Why is one stock number the wrong answer?

Your ERP knows that item ABC has 40 in Calgary, none in Toronto and 200 arriving on a container in three weeks. Publish 40 and a Toronto buyer orders 40, then discovers their delivery is a cross-country transfer. Publish only Toronto and you have hidden 40 sellable units from everyone, including the Calgary customer standing next to them. Neither number is correct, because Multi-warehouse availability is showing a buyer what is in stock for them specifically, based on which warehouse or warehouses can actually serve their order, rather than a single company-wide total. is not a number, it is the answer to a question that includes who is asking.

It gets worse one level down, because "in stock" is itself four different figures in an ERP and they are rarely equal. On hand is what is physically in the building. Allocated is what is already spoken for by orders you have taken. Available is on hand minus allocated. Available to promise adds what is inbound and when. A storefront that publishes on hand rather than available will oversell, reliably, on your fastest-moving items, which are exactly the ones you can least afford to get wrong.

The cost lands on your sales team rather than on the website. A rep who has been burned twice by the portal promising stock they cannot ship stops sending customers to the portal, and after that no amount of design work moves adoption. This is the most common reason we see a technically working B2B storefront sitting at a low share of orders.

What does a B2B buyer actually want to know?

Not the number. Five things, in this order, and a storefront that answers the first three beats one that shows a precise figure for the wrong warehouse.

Notice that only the first of these is a stock level. The rest are about time and place, which is why bolting an inventory feed onto a product page rarely satisfies anybody. A buyer ordering a pallet of consumables is deciding whether to order from you or from the competitor who will confirm a date.

  1. Can I have all of it? Not "is there some", but "is there my quantity", which is a different question when the quantity is 400.

  2. When will it arrive at my site? A date beats a quantity every time, and it is the number their production schedule needs.

  3. If not all of it, how much now and when is the rest? Partial shipment is normal in B2B and hiding it does not make it go away.

  4. Is it coming from the depot that serves me, or from across the country? This changes freight cost and lead time, and buyers know it.

  5. Has anything been reserved for me? Contract customers with consignment or committed stock expect the storefront to know that.

What do the commerce platforms actually model?

All figures below were read from vendor documentation on 20 August 2026. This is the area where platform behaviour is least like the marketing, so the exact wording matters.

BigCommerce has real inventory locations, with published ceilings of up to four on Standard, five on Plus, eight on Pro and 100 on Enterprise, customizable by request. The sentence that decides your architecture is the next one in BigCommerce’s own documentation: "By default, Stencil’s native storefront and locations queries support stock levels from only the default location. If the default location runs out of stock, the product will be considered out of stock on the storefront, even if there is inventory in other locations." Stores can request an aggregated model instead, where "stock from all locations is summed up".

Read those two options together and the shape of the problem is clear. Out of the box you get either one warehouse’s number or the sum of all of them, and the sum is precisely the promise you cannot keep. Neither option is per-buyer availability.

Shopify tracks inventory by location and its help documentation states only that "The maximum number of locations depends on your store’s Shopify subscription plan", without publishing per-plan numbers on that page, so confirm your own ceiling in your admin rather than from a blog. The bigger issue on Shopify is vocabulary, covered in the next section.

Shopware does model warehouses natively, in a feature called Multi-Inventory that allows stock per warehouse and availability decided by warehouse groups with priorities. It sits in the Shopware Beyond tier rather than in the Community Edition, so it is a licence question as well as a technical one. Drupal Commerce has no multi-warehouse availability model in core; stock handling is a contributed and custom concern, which means you can build exactly the rule you want and you will be building it.

Multi-warehouse availability across four platforms, checked 20 August 2026
CriterionDoes it model warehouses?What the storefront shows by defaultPer-buyer warehouse rules
BigCommerceYes. Four on Standard, five on Plus, eight on Pro, 100 on Enterprise and customizable by request.The default location only, unless you request the aggregated stock model that sums all locations.Not natively. The rule that routes a buyer to a warehouse is integration work.
Shopify and Shopify B2BYes, as inventory locations. Shopify states the maximum depends on your plan without publishing the numbers on its locations help page.A single availability figure for the online store rather than a per-warehouse breakdown.Not natively. Note that Shopify company locations are your customer’s sites, not your warehouses.
ShopwareYes, through Multi-Inventory: stock per warehouse, warehouse groups with priorities, and Rule Builder conditions.Availability derived from warehouse groups rather than from one figure.Closest of the four, through rules, but it is a Shopware Beyond feature rather than a Community Edition one.
Drupal CommerceNot in core.Whatever you build.Whatever you build, including availability resolved from the ERP per signed-in customer.

Checked against: BigCommerce docs: inventory locations, per-plan limits and default-location storefront stock, read 20 August 2026, Shopify Help Centre: locations management, read 20 August 2026, Shopware documentation: Multi-Inventory, warehouses and warehouse groups, read 20 August 2026

Why does the word "location" cause so much trouble on Shopify?

Shopify uses the word location for two unrelated things and B2B projects lose weeks to it. An inventory location is one of your warehouses or stockrooms. A company location, in Shopify B2B, is one of your customer’s sites, and it is the record that carries their catalogue, their payment terms, their tax exemptions and their ship-to address.

They are not connected. Assigning a company location does nothing to which warehouse serves that customer, and a customer at a company location in Halifax will see the same availability figure as one in Vancouver. If someone on your project tells you that Shopify B2B lets you show a customer their own warehouse’s stock, ask which of the two location objects they mean, and ask to see it.

The equivalent trap on Acumatica is the customer location, which is a ship-to under a customer, not a warehouse either. Three systems, three meanings, one word. Write the definitions into your integration specification on day one and make everyone use them.

Checked against: Shopify Help Centre: B2B companies and company locations, read 20 August 2026

Which of the four display strategies should you pick?

Pick deliberately, because the default on every platform is strategy one and it is the one that costs you sales team trust. The right answer depends on how concentrated your stock is and how far apart your warehouses are, not on how sophisticated you want the website to look.

Four ways to show availability when stock lives in several warehouses
CriterionWhat the buyer seesWhen it is the right callWhat it costs
1. One aggregated numberA single company-wide figure, or just in stock and out of stock.One warehouse does most of the shipping, or transfers between sites are routine and cheap.Nothing to build. It oversells on regional shortages, and it is the version your reps will stop trusting first.
2. A status rather than a numberUnderrated. Most buyers want confidence, not a figure.In stock, limited, or made to order, with no quantity shown.Your quantities move fast, or you would rather not publish stock levels to competitors.Cheap and surprisingly effective. It does not answer "can I have 400", so quote-heavy items still need a person.
3. Scoped to the buyer’s serving warehouseThe number for the depot that actually serves this account, decided by the customer record or by ship-to region.Regional warehouses with real distance between them, and a sales team that already talks about accounts this way.Integration work. The routing rule lives in your business, so it lives in your integration, and it needs an owner when a warehouse opens or closes.
4. Per-location breakdown with a promised dateA table on the product page showing each location, plus an expected date for the balance.Buyers who will split an order across sites, or who plan production around your lead times.The most work, and the most valuable when it is right. It requires available-to-promise data from the ERP, not just on-hand counts, and the date has to be defensible.

How do you check this against your own data before you commit?

This takes an afternoon and it settles arguments that otherwise run for months. Do it with real data from your busiest month, not with a sample.

One thing we will not tell you from a distance: whether an aggregated number is good enough for your business. It depends entirely on how often your regional positions diverge, and that is a fact about your inventory, not about your platform. The count in step two is the whole answer, and only you can produce it.

  1. Export on-hand and available quantities by item and by warehouse for your top 200 items on one ordinary day.

  2. Count how many of those items have stock in one warehouse and none in another. That percentage is the size of your problem, expressed honestly.

  3. For your top 20 accounts, write down which warehouse actually shipped their last 10 orders. If that is not predictable from the customer record, a per-buyer availability rule will be harder than anyone has told you.

  4. Check what your ERP publishes: on hand, available, or available to promise. If the integration reads on hand, you will oversell, whatever the platform does.

  5. Ask your two most sceptical reps what they would need to see on the page before they would send a customer to it. Their answer is the requirement.

The wider picture

This page answers one narrow question. Acro Commerce covers the strategy around it.

Common questions

Should a B2B storefront show a stock quantity or just in stock and out of stock?
A status is the safer default and it satisfies more buyers than teams expect, because most buyers want confidence rather than a figure. Show a quantity when buyers routinely order in quantities large enough that "in stock" is not an answer, and when your available figure is genuinely reliable. Showing a precise number that turns out to be the wrong warehouse’s is worse than showing no number at all, because it converts a vague expectation into a specific broken promise.
Does BigCommerce show stock from all warehouses on the storefront?
Not by default. BigCommerce documents that "By default, Stencil’s native storefront and locations queries support stock levels from only the default location", and that a product will show as out of stock if the default location is empty even when other locations hold inventory. Stores can request an aggregated stock model where stock from all locations is summed. Neither option gives you availability scoped to the buyer, which remains integration work on BigCommerce.
Can Shopify B2B show a customer the stock at the warehouse that serves them?
Not natively. Shopify tracks inventory by location and Shopify B2B has company locations, but those are your customer’s sites rather than your warehouses, and assigning one does not change which inventory figure the buyer sees. Showing per-warehouse availability to a signed-in company means writing warehouse-specific values onto the product as data your theme renders, which the platform will not then use to prevent an oversell.
What is the difference between available and available to promise?
Available is on hand minus what is already allocated to orders you have accepted. Available to promise adds what is inbound and when it lands, so it can answer "you can have 200 on the fourteenth" rather than only "we have 40 today". Most connectors publish available or, worse, on hand. If your buyers plan around lead times, an available-to-promise figure is the one that changes their behaviour, and it almost always requires work beyond the standard integration.
Do we need per-warehouse availability before we launch?
Usually not for release one. A defensible sequence is to launch with a status rather than a quantity, measure how often buyers phone to ask about stock, then build the per-buyer rule once you know which items and which accounts drive those calls. Launching with an aggregated number presented as precise is the version to avoid, because it spends your sales team’s trust before you have learned anything.

Last updated 2026-08-20. Facts on this page last checked against source 2026-08-20.