BigCommerce variant inventory: why a variant shows out of stock

Kira
Written by

Kira

Katelin Teen
Reviewed by

Katelin Teen

Last edited November 5, 2026

Expert Verified
Hand-drawn illustration of a support agent with a headset at a laptop beside a product table with T-shirt colour swatches and a shipping box, with the BigCommerce logo on a dark slate panel
TL;DR

A BigCommerce variant shows as unavailable for one of four reasons: its own stock is 0, safety stock is holding units back, its Purchasable box is unticked, or the product's availability is off. Which one applies depends on whether the product tracks stock on the product or on the variant, so check that setting first. eesel's BigCommerce integration reads every variant's SKU, price and stock live, so an AI agent for BigCommerce can answer the question from the store. Its docs list no stock-adjustment action, so restocks and inventory settings stay with your team.

I work on the AI agents at eesel, and "is the large in blue in stock?" is exactly the kind of question a store's agent gets all day. It sounds trivial. On BigCommerce it isn't, because the answer lives in three places that can disagree: a tracking setting on the product, a stock number on each variant, and a store-wide rule for what a shopper sees at zero. This guide walks through each one using BigCommerce's own documentation, the tickets they create, and what an agent can and can't look up. If you're earlier in the journey, the BigCommerce review covers the platform, and the AI setup guide covers adding an agent. For the wider picture of ecommerce support automation, that roundup is the place to start.

One more thing before the details. The eesel CLI lets an AI coding agent upload your approved stock policies, such as your backorder wording and low-stock rules, then ask the eesel agent test questions and check the answers before anything goes live. Connecting the BigCommerce store itself still needs a person to create the API account and paste two values.

How does BigCommerce track stock for variants?

BigCommerce tracks stock either on the product or on each variant, and you choose per product. On the Inventory page of a product you tick Track Inventory, then pick "On the product level" or "On the variant level (per variant SKU)", per BigCommerce's inventory tracking guide. Everything else in this post follows from that one choice.

Hand-drawn comparison: tracking on the product gives one stock number of 30 for a T-shirt, while tracking on the variant gives each size and colour its own count, with the zero-stock combinations drawn faded and dashed
Hand-drawn comparison: tracking on the product gives one stock number of 30 for a T-shirt, while tracking on the variant gives each size and colour its own count, with the zero-stock combinations drawn faded and dashed
One number for the whole product, or one number per size and colour. The setting decides which ticket you get.

A variant is a version of a product with its own SKU. BigCommerce's developer docs describe it as the object that "maps to SKUs and tracks inventory". Variants inherit the base product's details by default, but they can have their own image, price and weight, and typically their own SKU and stock level. A few facts worth having to hand:

  • SKUs are generated for you. When you add variant options, BigCommerce creates a SKU for every possible combination. You can overwrite them.
  • 600 is the cap. "A single product can have a maximum of 600 SKUs/variants." Past that, BigCommerce suggests a modifier option.
  • SKUs must be unique and case-insensitive. ABC-123 and abc-123 count as the same, the limit is 255 characters, and BigCommerce "highly" recommends no commas because they can break imports and API requests.
  • Modifiers have no stock at all. A gift-wrap checkbox or an engraving text field has no SKU, so it can't be out of stock. That's a separate ticket family from variant stock.
BigCommerce Variants table with Purchasable, Variant, SKU and Default Price columns plus Current Stock and Low Stock columns for Red, Green and Blue variants, as taken from the BigCommerce Help Center
BigCommerce Variants table with Purchasable, Variant, SKU and Default Price columns plus Current Stock and Low Stock columns for Red, Green and Blue variants, as taken from the BigCommerce Help Center
Variant-level tracking puts a Current Stock and Low Stock number on every row, as taken from the BigCommerce Help Center.

If your store is old enough to remember "option sets", those are the v2 way of doing this. BigCommerce's Product Options (v3) article points legacy stores to a separate v2 guide, and everything here assumes the v3 experience.

Why does a variant show as out of stock or unavailable?

Because one of four things is true, and they're easy to check in order. This is the checklist I'd paste into any agent's instructions, and it works just as well for a human chasing first-contact resolution.

Hand-drawn four-step ladder: current stock is 0, safety stock holds units back, Purchasable is unticked, product availability is off
Hand-drawn four-step ladder: current stock is 0, safety stock holds units back, Purchasable is unticked, product availability is off
Four checks, cheapest first.
  1. Current stock is 0. The obvious one. BigCommerce says that when you update inventory for an out-of-stock product, "it is once again purchasable on your storefront."
  2. Safety stock is holding units back. Safety Stock is "a quantity of your Current Stock that cannot be purchased on your storefront". A variant with 3 in stock and 3 as safety stock is sold out to shoppers, while the control panel still shows 3.
  3. Purchasable is unticked. In the Variants table, unticking Purchasable stops the variant being added to the cart. BigCommerce notes this "does not hide the variant's option combination on the storefront", so shoppers see an option they can't buy.
  4. Availability is off for the product. Product Availability, when disabled, means the product "cannot be purchased, even if it has available stock". Purchasability settings also cover pre-order and "cannot be purchased" modes.

Then there's what the shopper actually sees. Under Settings > Inventory, BigCommerce lets you choose what happens "when an option is out of stock": hide the option, mark it as out of stock with a slash, or do nothing. With "mark" or "do nothing", a shopper who picks a dead combination gets the message "The selected product combination is currently unavailable."

BigCommerce Inventory settings General section with dropdowns for when a product is out of stock, when an option is out of stock, and when stock levels update, plus an automatic adjustment checkbox, as taken from the BigCommerce Help Center
BigCommerce Inventory settings General section with dropdowns for when a product is out of stock, when an option is out of stock, and when stock levels update, plus an automatic adjustment checkbox, as taken from the BigCommerce Help Center
The store-wide switches that decide what a sold-out variant looks like, as taken from the BigCommerce Help Center.

Pick what the customer told you and you'll see the likely cause and who acts.

Variant ticket decoder

What did the shopper describe?

Pick one above to see the likely cause, the fix, and who acts.

AI answers

Likely cause: that variant's stock is 0 and the store marks out-of-stock options with a slash.

Fix: tell the shopper it's sold out, and offer a restock notice or a nearby variant.

Who acts: AI can read the stock and reply. Restocking is your team's job.

AI answers

Likely cause: the product tracks stock per variant and the store hides unavailable options. BigCommerce builds the available list only from combinations with stock above zero.

Fix: explain that the hidden sizes have no stock in that colour.

Who acts: AI explains. A person decides whether to change the option setting.

AI checks

Likely cause: Purchasable is unticked on that variant, safety stock covers the remaining units, or the product is set as not purchasable.

Fix: compare current stock with safety stock, then the Purchasable box.

Who acts: AI reads stock. A person changes the box.

Person confirms

Likely cause: stock moved when an order was placed or completed, or a refund or cancellation returned units. A failed payment returns held stock after a short delay.

Fix: check the recent orders for that SKU before promising anything.

Who acts: AI reads orders and stock. A person confirms a disputed count.

AI answers

Likely cause: backorders are on. On-hand stock can be 0 while Available to sell is above 0.

Fix: quote the backorder message and lead time your store shows.

Who acts: AI explains once the backorder wording is written down.

The one that looks like a bug

The second chip is the ticket that looks like a bug, and BigCommerce's developer docs explain it. Hiding combinations that don't exist only works when the product tracks stock per variant, and because the available list is built from combinations with stock above zero, the same setting "also hides or labels real variants once they sell out". A store owner on Reddit ran straight into it in August 2026, exactly the sort of thing self-service answers should explain before it becomes a ticket:

Reddit

"The workaround is to make the variant stock trackable and set the stock to zero. That's great, it hides the out of stock variants to the customers, but now when a customer makes a selection, half the variants disappear and don't show back up until the page is refreshed."

They'd found the cause of their own problem. BigCommerce's option guide says you can't delete a single combination, only disable Purchasable or set up conditional options. Conditional options need three things: variant options, stock tracked "on the variant level", and the out-of-stock option setting on "Hide the option". The unavailable combination's stock stays at 0.

So the honest answer to that shopper is short. Those sizes aren't broken, they have no stock in that colour. If the store would rather show them crossed out, that's a settings call for a person. An AI agent can state the cause accurately and hand the decision over, which is better than guessing.

Which inventory settings change what shoppers and support see?

Six settings under Settings > Inventory shape most of the questions. I've listed them with the plain-language effect BigCommerce documents.

SettingWhat it doesTicket it causes
When a product is out of stockHide it, hide it but keep the page, redirect to the category, or do nothing"The product page 404s" (hidden pages go inaccessible)
When an option is out of stockHide, mark with a slash, or do nothing"Why can't I pick a size?"
Update stock levelsAdjust on order placed, or when status becomes Completed or Shipped"It sold out before it shipped"
Automatic stock adjustmentsRestock when status becomes Refunded or Cancelled"I refunded it but stock didn't go up"
Stock level displayShow levels, show only when low, or hide"The site says 3 left"
Email notificationsLow stock and out of stock alerts to an address"I got an alert at 12, my threshold is 5"

Two of those deserve a closer look because they trip up both customers and agents.

Refunds and restocks. BigCommerce says processing a refund in the control panel sets the order to Refunded or Partially Refunded, and "orders updated to Partially Refunded do not trigger automatic stock level adjustments". There's a sting in the tail too: if a later partial refund covers the rest of the order, the move to Refunded triggers adjustments "for all items on the order, including those previously refunded". A refund request can quietly change your stock count, so count units before trusting the number. If the refund goes to credit instead of a card, the store credit guide covers that side.

Stock that moves on its own. BigCommerce's FAQ says "stock is temporarily removed from a product when a customer attempts to check out", and returns "after a short delay" if the payment fails. A shopper looking at a variant mid-checkout can see a lower number than your records show. It also explains the alert at 12 when your threshold is 5, and it's the pattern behind a flash-sale rush, when seasonal support spikes land on exactly these questions. The email fires the moment stock hits the level, and later refunds, cancellations or integration updates can move the number again.

How do backorders and pre-orders change the answer?

They make "out of stock" mean something different. With backorders on, a variant can sit at 0 on hand and still be sellable. BigCommerce's backorders guide defines Available to sell as "On hand + Backorder limit - Qty backordered - Safety stock", with the example of 100 on hand, a 100 backorder limit, 5 backordered and 5 safety stock giving 190.

BigCommerce product page showing 5 in stock, 1 will be backordered with a 2 to 4 week lead time, and a quantity of 6, as taken from the BigCommerce Help Center
BigCommerce product page showing 5 in stock, 1 will be backordered with a 2 to 4 week lead time, and a quantity of 6, as taken from the BigCommerce Help Center
Backorders split a quantity into units ready to ship and units on backorder, as taken from the BigCommerce Help Center.

Backorders only work with a specific setup: both out-of-stock settings must be "Do nothing", stock must update "when an order is placed", the product must track inventory at product or variant level, and the storefront theme must be Cornerstone 6.21.0 or later to show the messaging. That last bit matters for support, because a store on an older theme can have backorders enabled and still show shoppers nothing. An earlier Reddit post from a store owner shows why people want this:

Reddit

"I need to simultaneously show stock levels at the variant level to my customers and also be able to sell the product when it is technically out of stock."

Write these rules into your knowledge base as plain text. That post is from 2023, before backorders existed as a feature. Pre-orders are a separate path, set under Purchasability, and a pre-order product only sells if it has stock assigned or doesn't track inventory. When a customer asks "can I order it if it's sold out?", the answer is always a lookup of which of those modes the product is in. Wholesale buyers ask the same thing differently, as in B2B order support. That's a good job for pre-purchase question automation, as long as the modes are written down.

What variant tickets will your team actually get?

After going through BigCommerce's docs and what store owners post, nearly every variant inventory conversation falls into one of these types.

TicketWhere the answer livesWho should act
"Is this size in stock?"Variant's Current Stock minus Safety StockAI, live lookup
"Why can't I pick this colour?"Option out-of-stock setting, variant stockAI explains, person changes setting
"Add to cart won't work"Purchasable box, availability, safety stockAI checks, person fixes
"When is it back?"Your restock plan, backorder messageAI quotes it if written down, person owns the date
"Can I order it anyway?"Backorder or pre-order modeAI answers from the mode
"My order went through but it's out of stock"Order time vs stock update timing, refundsPerson confirms, AI gathers the facts

Reading stock and explaining the rule is safe to hand off. Changing the number is not. Tagging each ticket by type helps too, which is what ticket tagging for ecommerce is for. I'd use the same split as order tracking and returns: the agent looks up, the person decides, with a clean handoff to a human when it's unsure. It's also why vague "when is it back?" answers do real damage. An agent that invents a restock date is worse than one that says it doesn't know, which is the reason I care so much about hallucination prevention.

What can a helpdesk or AI agent look up on BigCommerce variants?

It depends on the tool, so check the docs rather than the marketing page. Helpdesk apps on BigCommerce mostly focus on orders and customers, and the best AI for BigCommerce support roundup compares the options. Gorgias documents customer profiles, order data and order actions, with macro variables for the last order and its products, and its rules filters cover order fields. Its docs don't list variant stock in the sidebar or as a macro variable. The Freshdesk app, per its Freshworks marketplace listing, shows order information next to the ticket. Check either against your own ticket mix before assuming stock is visible to agents.

Here's what I verified for eesel in its BigCommerce docs, which is the part I know best.

Hand-drawn three-column diagram: AI reads variants and SKUs, stock per variant, price and MSRP, orders and refunds; AI does cancel order, refund order and fix shipping address with approval; your team owns restock and safety stock, inventory settings and backorder limits
Hand-drawn three-column diagram: AI reads variants and SKUs, stock per variant, price and MSRP, orders and refunds; AI does cancel order, refund order and fix shipping address with approval; your team owns restock and safety stock, inventory settings and backorder limits
Reads are automatic. Money and address changes wait for approval. Stock and settings stay human.
QuestionWhat eesel can do on BigCommerce
What variants does a product have?Yes. Get Product returns "every variant's SKU, price, MSRP and stock level"
Is this variant in stock?Yes, read live. Search Products also returns variants and stock by name, description, SKU or brand
Is stock tracked for this product?If the store doesn't track inventory, there's no number to read. The agent says it's "not tracked", not out of stock
What does the order contain?Yes. Orders are read live by number, email or phone
Change a variant's stock level?Not in the documented action list. Write actions are Cancel Order, Refund Order, fix shipping address, fix customer address, and product create, update, delete and image
Change inventory settings, safety stock, backorder limits?No. Those are control panel settings
Refund a stock-related order?Yes, with your approval, shown as a Write action that "needs approval" by default

A few limits from the docs that matter for stock questions:

  • The Products source holds up to 5,000 products. eesel learns "up to your 5,000 most recently updated products", though Search Products "still reads the whole catalogue live".
  • Stock is read at the moment it's asked. Orders and customers are "not copied", and every stock lookup reads the store live. That's the right design for a number that moves with every checkout, and it's different from inventory management tooling, which plans stock rather than answers shoppers.
  • MSRP can mislead. A variant with no MSRP of its own shows the product's, and a product with none shows none.
  • Access is set by the API account. The App Marketplace install gives read-only access to orders and products. Cancels and refunds need an API account with Orders and Customers set to modify.

Write actions are also where approvals earn their keep. eesel's actions and approvals page describes three settings per action, Auto, Needs approval and Disabled, and recommends keeping "refunds, cancellations and anything that costs money behind an approval". See approval workflows for how to split the work.

eesel dashboard BigCommerce integration page showing Connected status, a Start a chat section, and Actions split into Read (12) set to Auto and Write (8) set to Needs approval
eesel dashboard BigCommerce integration page showing Connected status, a Start a chat section, and Actions split into Read (12) set to Auto and Write (8) set to Needs approval
The BigCommerce integration page in eesel: 12 read actions run on their own, 8 write actions wait for approval.

Does it work in practice? A customer's variant lookups

I can't point to a BigCommerce store here, since none of eesel's published customer stories runs on it, so I'll use the closest match. STIL Classics sells planners and binders through Shopify and runs eesel on Gorgias. Shoppers ask questions like "does this insert fit my binder, when is this back in stock", and the story says availability questions get "live inventory for the exact variant" before a draft is written.

Between 8 August and 8 September 2026, eesel prepared about 320 Gorgias tickets for them and looked up about 230 Shopify orders and about 20 products. Every draft goes on the ticket as an internal note and a person sends it. Two details stand out for a variant guide. The agent never states a fact it hasn't looked up, so no invented ship dates, and the restock timing comes from the team's own sheet. That's the same discipline I'd want on BigCommerce: stock from the store, dates from your plan.

This is a different platform, so treat it as the shape of the workflow and not a BigCommerce result. For a way to test a setup before it touches customers, simulation testing on past tickets is the step I'd never skip.

Try eesel for BigCommerce variant questions

eesel is an AI teammate platform, and the one that fits this post is the helpdesk teammate. On BigCommerce it reads variants, stock, orders and refunds live, answers in your storefront chat (see the AI chatbot for BigCommerce guide), Gorgias, Zendesk or Slack, and waits for approval before it cancels or refunds. Try eesel. A ticket or chat is one credit, with a free plan of 100 credits and paid plans from $299 a month for 500 credits, per the pricing page.

eesel chat bubble open on a BigCommerce storefront answering a stock question with two product cards, a large and a small terrarium, as taken from the eesel BigCommerce documentation
eesel chat bubble open on a BigCommerce storefront answering a stock question with two product cards, a large and a small terrarium, as taken from the eesel BigCommerce documentation
The chat bubble answering "is it in stock?" from the live catalogue, as taken from the eesel docs.

Frequently Asked Questions

Why does my BigCommerce variant show as out of stock?
Usually its Current Stock is 0, safety stock is holding units back, the Purchasable box is unticked, or the product's availability is off. Check them in that order in the Variants table, then look at your out-of-stock option setting. An AI agent for BigCommerce can read the stock side live.
What is the difference between product-level and variant-level inventory tracking in BigCommerce?
Product-level tracking keeps one stock number for the whole product, so every size and colour stays selectable. Variant-level tracking gives each SKU its own count, and sold-out combinations can be hidden or marked unavailable. It's the first setting to check in any BigCommerce support ticket about stock.
Why do some variant options disappear when a shopper picks a colour?
With variant-level tracking and the setting to hide unavailable options, BigCommerce builds the available list only from combinations with stock above zero. Combinations with no stock, or no matching variant, drop out. A self-service answer can explain this before it reaches your queue.
Can I delete a single BigCommerce variant?
No. BigCommerce lets you delete options or option values, which removes the affected variants, but not one specific combination. You can untick Purchasable or set up conditional options with the combination's stock at 0. Deleting options can regenerate SKUs, so back up first, as in any BigCommerce AI setup.
Does BigCommerce restock a variant when I refund or cancel an order?
Only if you turned on automatic stock adjustment for the Refunded and Cancelled statuses. A Partially Refunded order does not trigger it. Because a refund can change stock, treat refund requests as a stock check too.
Can an AI agent check BigCommerce variant stock for customers?
Yes. eesel's BigCommerce integration reads each variant's SKU, price and stock live, and says a product is "not tracked" when the store doesn't track inventory. Its docs list no stock-adjustment action, so restocks stay with your team. See the AI chatbot for BigCommerce guide for the storefront setup.
How much does an AI agent for BigCommerce stock questions cost?
eesel prices by credit, and a ticket or a chat is one credit. The free plan has 100 credits, and paid plans start at $299 a month for 500 credits, per the eesel pricing page. For the store side, check BigCommerce pricing separately.

Share this article