Skip to main content
Card class: HeroCategory: Ecommerce Platform

At a glance

The store-wide count of BigCommerce catalogue products with zero or negative stock that are still publicly listed. The hero-tier inventory-hygiene metric: any positive number is direct revenue blocker, fix-or-hide.
What it countsCOUNT(products WHERE inventoryLevel <= 0 AND availability != 'disabled'). Both zero-stock items and “negative-stock” items (over-sold, BC’s inventory went below zero before sync caught up) are counted.
VAT / tax treatmentn/a, inventory metric.
Shippingn/a.
Discountsn/a.
Refundsn/a.
Cancelled ordersn/a.
Currencyn/a (count metric).
Channels / sourcesStore-wide store catalogue. The per-channel breakdown lives at BC Channel OOS per Channel.
Incomplete / Declined ordersn/a.
Negative stock quirkA product can show inventoryLevel = -3 if BC sold 3 units after stock hit zero (over-selling tolerance). This is a fulfilment-emergency signal, customers are buying items that won’t ship. Negative stock is more urgent than zero stock.
Definition matches bc_channel_oos_per_channelThe two cards count the same items; this card is the store-wide headline, the channel card is the per-channel slice.
Time windowRT (real-time, refreshed each catalogue sync)
Alert trigger>0 (any OOS SKU still listed), fires on any positive count. Always actionable.
Sentiment keyout_of_stock_count
Rolesowner, operations

Calculation

Calculated automatically from your BigCommerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US homewares brand on BigCommerce Enterprise. Snapshot at 09:00 UTC on 13 Apr 26. Total catalogue: 1,840 products.
StatusCountShare
In stock (inventoryLevel > 0)1,79897.7%
Zero stock, listed (this card counts)221.2%
Negative stock, listed (over-sold; this card also counts)30.2%
Disabled / hidden170.9%
Inventory Alerts (this card)251.4%
What’s interesting:
  1. 1.4% of catalogue is unbuyable but visible. Healthy stores sit 0-2%; above 5% suggests either a sync problem or a merchandiser not actively managing OOS hygiene. The 25-item count is workable, an hour of merchandiser time can resolve.
  2. 3 negative-stock items are the urgent priority. These are over-sold, customers placed orders that won’t ship. Each negative-stock entry needs immediate action: either reach out to refund the customer, or expedite restock. Negative stock is a customer-experience emergency, not just a hygiene issue.
  3. The 22 zero-stock items split by velocity. High-velocity zero-stock items are top-priority restocks; low-velocity items can be hidden until restock. Use BC Stock vs Sales for the velocity ranking.
  4. The 17 disabled items don’t count toward the alert. Correct hygiene. Merchants who use availability = disabled properly are punished by neither this card nor the per-channel OOS card.
Action priority order:
  1. Investigate the 3 negative-stock items immediately. Customer-service contact list, refund-or-expedite decisions per customer.
  2. Hide low-velocity zero-stock items (availability = disabled).
  3. Restock high-velocity zero-stock items (use BC Top SKUs to find which).
  4. Audit inventory sync if the count is persistently above 5%, the sync gap is a structural issue, not just a merchandising oversight.

Sibling cards merchants should reference together

CardWhy pair it with Inventory Alerts
BC Channel OOS per ChannelThe per-channel breakdown of the same population.
BC Stock vs SalesVelocity-weighted view; tells you which OOS items are urgent.
BC Top SKUsCross-reference: top-selling SKUs in this list = five-alarm event.
BC Top SKUs RevenueRevenue impact view.
BC Inventory DistributionThe healthy-stock baseline; this card is the unhealthy slice.
BC XC Ads on OOSCompounds the cost: paying ads to drive traffic to OOS items.
BC Alert OOS SpikeTrend alert; fires when OOS count grows quickly (supplier outage).
BC Refunded ProductsSometimes correlates: items that customers couldn’t get fulfilled and refunded.

Reconciling against the vendor’s own dashboard

Where to look in BigCommerce Control Panel: Products → View, filter by Inventory level = 0, exclude Visibility = Disabled. The result count should match this card to within 1-2 items. Other BC views:
  • Settings → Inventory: configures inventory tracking; doesn’t surface counts.
  • Catalogue → Categories: groups products into categories.
  • Reports → Inventory snapshot (Plus / Pro): partial overlap, daily cadence.
Why our number may legitimately differ from BC catalogue:
ReasonDirection
Variant-level vs product-level. We count at variant level for products with variants. BC’s product list shows “1 product” for a multi-variant item even if some variants are OOS.Vortex IQ HIGHER than naive product-level filter
Sync lag. Inventory updates take 5-30 minutes to propagate. Recent stock-ins may still show as OOS.Vortex IQ LAGS BC for short windows
Disabled exclusion. We exclude availability = disabled; BC’s catalogue filter may include them.Vortex IQ LOWER if merchant uses disable correctly
Negative stock. We count negative stock; BC’s filter may not.Vortex IQ HIGHER if over-sold items exist
Cross-connector reconciliation:
CardExpected relationshipNotes
google_ads.ga_oos_itemsGoogle Shopping merchant-feed OOS items overlap with this card.Sync lag drives small differences.
amazon_sp.amazon_oos_listingsAmazon-side OOS state.Channel Manager sync gaps cause discrepancies.

Known limitations / merchant FAQs

Why does the alert fire on >0? Because OOS-but-listed is always actionable. The right state for a stocked-out item is hidden, preorder, or restocked, never visible-but-unbuyable. Even one OOS-and-visible item is worth 30 seconds of merchandiser attention. What’s negative stock and how does it happen? BC supports over-selling tolerance: a product can ship beyond its on-hand count if the merchant configured the buffer. Negative stock means BC sold N more units than it had; if your warehouse can fulfil, no problem; if it can’t, you have customers waiting on un-shippable orders. Negative stock + cannot-fulfil is a customer-service emergency. Why is my count climbing every week? Three usual causes: (1) Supplier outage, multiple SKUs going OOS simultaneously suggests one supplier stopped delivering. (2) Inventory sync drift, the warehouse-to-BC integration is dropping updates; check sync logs. (3) Merchandiser disengagement, no one’s actively hiding OOS items. Each has a different fix. Should I auto-hide OOS items? For most stores, yes. Most BC themes support an if inventoryLevel > 0 condition; setting it once means OOS items disappear automatically from category and search pages. Direct PDP URLs may still load, but the customer journey is significantly cleaner. Do this once and it’s done. Should I keep highly-popular OOS items visible to capture restock-notify signups? Yes for items with strong restock-notify intent. The Klaviyo back-in-stock flow converts at 12-25% when the item returns; capturing emails on a popular OOS PDP is genuinely valuable. Use preorder mode where possible, and fall back to “notify me” for indefinite-restock items. Why doesn’t BC show a single ‘OOS dashboard’ natively? BC’s catalogue UI is built around individual SKUs, not store-wide hygiene reports. Plus / Pro plans have partial inventory reports, but the active “what’s broken right now” view doesn’t exist natively. This card fills that gap. My count is 0, am I done? For inventory hygiene specifically, yes. But pair with BC Channel OOS per Channel (per-channel breakdown often reveals issues this card doesn’t), BC Inventory Distribution (low-but-not-zero stock patterns), and BC Stock vs Sales (velocity-weighted view of which OOS items hurt most). Zero alert count is necessary but not sufficient for healthy inventory. Multi-warehouse stores: does this card respect MLI (Multi-Location Inventory)? Yes; we count items where TOTAL inventory across all locations is zero. Items where one location has zero but another has stock don’t appear here, that’s a fulfilment-routing question, not an OOS question. Why does the card sometimes briefly spike then resolve? Inventory sync timing. A stock-in event takes 5-30 minutes to propagate from warehouse to BC; during that window the items show as zero. The card’s RT refresh catches the transient state and resolves at the next sync. Should this number ever be non-zero by design? Almost never. Sustained non-zero counts are merchant-disengagement signal. The exceptions: (1) Brief windows during stock-in events. (2) Items deliberately listed for restock-notify capture. (3) Pre-order items with inventoryLevel = 0 but availability = preorder (we exclude these correctly). Outside these, zero is the right operating state.

Tracked live in Vortex IQ Nerve Centre

Products with Zero/Negative Stock is one of hundreds of KPI pulses Vortex IQ tracks across BigCommerce and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.