On-Backorder Products for the selected period.
At a glance
The count of products whose stock status is onbackorder, items customers can still buy even though stock has run out, with the order fulfilled when supply returns. A healthy backorder count signals demand outpacing supply; a creeping one signals a fulfilment promise the store may struggle to keep.
| What it counts | COUNT(products WHERE stock_status = 'onbackorder'). A product lands here when its quantity has hit or passed zero and its backorder setting allows continued purchase. |
| REST API endpoint | GET /wp-json/wc/v3/products?stock_status=onbackorder. Each product exposes stock_status (instock, outofstock, onbackorder), stock_quantity, manage_stock, and backorders (no, notify, yes). |
How a product becomes onbackorder | WooCommerce derives stock_status = onbackorder when manage_stock is on, stock_quantity is at or below zero, and the product’s Backorders setting is notify (allow, tell the customer) or yes (allow silently). With backorders = no, a zero-stock product becomes outofstock instead. |
notify vs yes | notify shows a “available on backorder” message at checkout; yes allows the purchase with no message. Both produce stock_status = onbackorder and both count here. Only the customer-facing messaging differs. |
| Variations | Stock status applies at the variation level for variable products. A variable product counts as on-backorder if the relevant variation is onbackorder; the card reflects the product-level stock status the REST API reports. |
| Self-hosted vs managed-Woo | Identical on self-hosted LAMP, WordPress.com, and managed-Woo (Woo.com Cloud, WP Engine, Pressable, Kinsta). Inventory-sync plugins (ERP connectors, supplier feeds) can flip backorder status in bulk, see FAQs. Self-hosted hosts add sync-lag risk during outages. |
| Time window | RT (real-time snapshot of the current catalogue state) |
| Alert trigger | None. This is a state-count card, not a threshold card. |
| Roles | owner, operations |
Calculation
Calculated automatically from your WooCommerce 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 UK furniture brand on self-hosted WooCommerce 8.7 with the Stripe Gateway plugin and an ERP-driven inventory feed. The catalogue was reviewed on 20 Jun 26 (the real-time snapshot date).| Product | manage_stock | stock_quantity | backorders | Resulting stock_status | Counts here? |
|---|---|---|---|---|---|
| ”Oak Dining Table” | yes | -3 | notify | onbackorder | Yes |
| ”Velvet Armchair” | yes | 0 | yes | onbackorder | Yes |
| ”Linen Sofa” | yes | 0 | no | outofstock | No |
| ”Ceramic Lamp” | yes | 12 | notify | instock | No |
| ”Walnut Shelf” | no | (not tracked) | (n/a) | instock | No |
| …plus 6 more on backorder | yes | <= 0 | notify / yes | onbackorder | Yes |
- Backorder is a choice, not an error. “Oak Dining Table” sits at -3 because the brand allows backorders with
notify, so three customers bought it after stock hit zero and will be told it ships when supply returns. That is intentional. The card is a watch-list, not an alarm, which is why it carries no alert threshold. noversusnotify/yesis the deciding setting. “Linen Sofa” hit zero stock too, but its Backorders setting isno, so WooCommerce marked itoutofstockinstead and it does not count here. It shows up in Out-of-Stock Products instead. The same zero-stock condition routes to two different cards depending on one product setting.- Untracked products never appear. “Walnut Shelf” has
manage_stock = no, so WooCommerce treats it as always in stock and never assigns a backorder status. If your store does not manage stock at the product level, this card stays empty regardless of real-world availability. - A creeping count is a fulfilment promise to watch. Eight backordered SKUs is fine if supply is days away. It becomes a customer-experience risk if those backorders stretch into weeks, customers paid expecting delivery. Pair with Low-Stock Products to see what is about to tip into backorder next, and Out-of-Stock Products for the items you chose not to keep selling.
Sibling cards merchants should reference together
| Card | Why pair it with On-Backorder Products |
|---|---|
| WC Out-of-Stock Products | The same zero-stock condition with backorders = no. Read together to see which zero-stock SKUs you kept selling and which you pulled. |
| WC Low-Stock Products | The leading indicator. Low-stock items are the ones about to tip into backorder or out-of-stock next. |
| WC Stock Value Snapshot | The inventory value picture. Backorders represent revenue already committed against stock you do not yet hold. |
| WC Total Products | The catalogue denominator. Eight backorders in a 50-product catalogue is a different story from eight in 5,000. |
| WC OOS Spike Alert | The alert companion. A backorder pile that flips to out-of-stock can trigger this. |
| WC Draft Products >30d Old | The other side of catalogue health: drafts are invisible, backorders are visible but unfulfillable. Read together for a full catalogue-state picture. |
Reconciling against WooCommerce
Where to look in WooCommerce Admin: WP Admin > Products > All Products and use the Filter by stock status dropdown (or the “On backorder” stock filter) above the product table. WooCommerce also surfaces low and out-of-stock items under WP Admin > WooCommerce > Reports > Stock > Low in stock, but the cleanest backorder-specific view is the Products list filtered by stock status. Other WP Admin views that look related but are not:- Reports > Stock > Out of stock: lists
outofstockproducts, the ones withbackorders = no. A different set from this card. - Products list “Stock” column: shows the quantity number but not the derived status; a -3 quantity reads as on-backorder only if the Backorders setting allows it.
- Inventory-management plugin dashboards (ATUM, etc.): define backorder differently and may include items WC marks
outofstock.
| Reason | Direction of divergence |
|---|---|
Setting-driven routing. A zero-stock product with backorders = no is outofstock, not onbackorder. If a setting was just changed, WP Admin and this card can briefly disagree until the next sync. | Either; self-resolves at next sync |
| Variation-level status. A variable product’s backorder status depends on its variations. WC’s product-list filter and the REST API can summarise variation status differently. | Variable; check the variation-level stock |
Untracked products. Products with manage_stock = no are always instock and never appear here, even if physically unavailable. A merchant tracking stock in a spreadsheet rather than WC will see a mismatch. | Ours lower than physical reality |
| Time-zone and refresh. This card is a real-time snapshot but refreshes on the standard interval; a status changed seconds ago may not yet show. | Ours briefly stale; self-resolves at next refresh |
| Inventory-sync plugins. ERP connectors and supplier feeds can flip stock status in bulk between refreshes. Mid-sync, the count can move quickly. | Either; settles once the feed completes |
| Self-hosted server uptime. An outage during the indexer poll delays catalogue changes by up to 24 hours. Managed hosts are steadier. | Ours temporarily stale; self-resolves at next sync |
outofstock instead.
Known limitations / merchant FAQs
What is the difference between on-backorder and out-of-stock? Both mean stock has reached zero. The difference is the product’s Backorders setting. Withnotify or yes, WooCommerce keeps the product buyable and marks it onbackorder (this card). With no, WooCommerce stops sales and marks it outofstock (the Out-of-Stock Products card). Same physical condition, two different merchant decisions.
What is the difference between notify and yes?
Both allow the purchase and both produce stock_status = onbackorder, so both count here. notify shows the customer an “available on backorder” message at checkout; yes allows the purchase silently with no message. The choice is purely about how transparent you are with the customer about the delay.
Why does a product with zero stock not show here?
Most likely its Backorders setting is no, so WooCommerce routed it to outofstock instead. Less commonly, manage_stock is off, in which case WC treats the product as always in stock and never assigns a backorder status. Check both settings on the product’s Inventory tab.
Does this count variations?
Stock status is set per variation on variable products. The card reflects the product-level stock status the REST API reports, which is on-backorder when the relevant variation is on-backorder. If you sell many variable products, audit at the variation level too, a parent can read as in-stock while a specific colour or size is on backorder.
My inventory plugin shows a different count, why?
Inventory-management plugins (ATUM, WooCommerce Stock Manager) sometimes define backorder differently or aggregate variation status their own way. They can also include items WC marks outofstock. The Vortex IQ engine reads WooCommerce’s own stock_status field via the REST API, so it matches core WC, not the plugin’s interpretation.
Why is there no alert on this card?
Backorders are usually a deliberate choice (demand outpacing supply), so a count by itself is not a problem to alarm on. The risk is duration: backorders that stretch for weeks. Watch the trend rather than the snapshot, and use Low-Stock Products for early warning of what is about to tip into backorder. You can set your own threshold in the Sensitivity tab if your business needs one.