Inventory and stock

How to get a low-stock report in WooCommerce

To get a low-stock report in WooCommerce, open Analytics › Stock in WordPress admin and choose Low stock from the Show menu. You'll see every product and variation at or below its low stock threshold, with its SKU and current quantity. Set the threshold under WooCommerce › Settings › Products › Inventory, or per product.

That list is only as good as the thresholds behind it. Below: how to read the report, how to set thresholds that warn you in time, how to get the emails working, and where a fixed threshold falls short.

The free way: Analytics › Stock

  1. In WordPress admin, go to Analytics › Stock.
  2. Open the Show menu and choose Low stock.
  3. Sort by the Stock column to see the lowest quantities first.

The table has four columns:

Column What it shows
Product or variation The product name, or the variation (for example a size or color)
SKU The product's SKU, if it has one
Status Out of stock, low stock, in stock or on backorder
Stock The current quantity

A summary under the table counts how many products are in each status. Switch the Show menu to Out of stock to see what has already run out, or On backorder for items customers can still order with no stock.

The report shows current stock only. It has no date range, so you can't use it to see what was low last month.

Other places to see stock

  • Products › All Products has a Stock column and a filter by stock status, which is handy when you want to edit a product straight away.
  • Analytics › Products shows a Stock column next to sales, so you can see quantity and recent sales on one screen.
  • Products › All Products › Export downloads a CSV with Stock and Low stock amount columns for every product and variation.

How to set low stock thresholds

There are two levels.

Store-wide. Go to WooCommerce › Settings › Products › Inventory. Enter a number in Low stock threshold. This applies to every product that doesn't set its own. The Out of stock threshold on the same screen sets when a product is marked out of stock (usually 0).

Per product or variation. Open a product, go to the Inventory tab, turn on stock management, and fill in Low stock threshold. For variable products, each variation can set its own threshold in its variation settings, and the Variations tab's bulk actions can set it for all of them at once. The low stock threshold definition covers how the levels interact.

Pick thresholds by pace, not by gut

A single store-wide number is the most common reason low-stock alerts arrive too late or too often. A better rule: set each product's threshold to the stock it sells during your supplier's lead time, plus a buffer.

Say a candle sells 3 a day and your supplier takes 10 days to deliver. You'll sell about 30 while you wait, so a threshold of 5 means you'll run out for most of those 10 days. Set it to 30 plus a few days' buffer, say 40. That number is the candle's reorder point, and the guide on setting reorder points for WooCommerce products walks through it, with a free calculator.

Do this for your top 20 sellers first. They cause most of the lost sales when they run out. Leave the store-wide default for the long tail.

Getting low stock emails

WooCommerce can email you when a product hits its threshold.

  1. Go to WooCommerce › Settings › Products › Inventory.
  2. Under Notifications, tick the low stock notification box (and the out of stock one, if you want both).
  3. In Notification recipient(s), enter one or more email addresses, separated by commas.
  4. Save.

The email goes out when a product's stock reaches its low stock threshold. Emails are easy to miss in a busy inbox, so treat them as a nudge and check Analytics › Stock on a fixed day each week as well.

Where a low stock report falls short

The low-stock list answers "what's below a number I picked?" That's useful, but it misses what you actually need to know: when will it run out?

  • It ignores sales speed. Ten units left is a month of cover for a slow seller and a day for a fast one. Both look the same in the report.
  • It's late for fast movers. By the time a best seller crosses a small threshold, it may already be inside your supplier's lead time.
  • It's noisy for slow movers. Slow products sit "low" for weeks without any risk of running out, which trains you to ignore the list.
  • Products without stock management don't appear with quantities. If you track stock only for some products, the rest have no number to compare.
  • Variations hide inside parents if stock is managed at the parent level. One quantity is shared across every size, so you can't see that the medium is gone. See how to track stock for variations.

The fix is to add sales rate. Stock divided by daily sales gives days left, which is the guide on finding products about to sell out.

For developers: low stock in SQL

Current stock lives in wc_product_meta_lookup, which has one row per product and per variation. This lists in-stock items with 10 or fewer units, lowest first:

SELECT p.post_title AS product,
       m.sku,
       m.stock_quantity
FROM wp_wc_product_meta_lookup m
JOIN wp_posts p ON p.ID = m.product_id
WHERE m.stock_status = 'instock'
  AND m.stock_quantity IS NOT NULL
  AND m.stock_quantity <= 10
ORDER BY m.stock_quantity ASC;

Change wp_ if your table prefix differs, and change 10 to your threshold. This uses one fixed number for every product, so it won't match per-product thresholds.

The quick way: ask Askshelf

Askshelf adds Analytics › Askshelf to WordPress admin. Instead of comparing stock with a fixed threshold, its stock runway lookup combines current stock with each product's and variation's sales rate and lists what will run out within the days you ask about.

Askshelfexample answer

What will run out in the next 10 days?

3 items will run out within 10 days at their last-30-day pace: the soy candle (fig) in about 4 days (12 left, selling 3 a day), the linen napkin set in 7, and the beeswax wrap (large) in 9.Stock runway, within 10 days, sales rate over the last 30 days
An example on a demo store. In your store, the numbers come from your own orders.

Ask with a horizon that matches your supplier's lead time, and you get a reorder list rather than a low-stock list. It reads your store but can't change stock or thresholds. For the bigger picture of planning stock, see the WooCommerce inventory forecasting guide, or the stock forecasting page for how Askshelf handles it.

Common questions

Where is the low stock threshold in WooCommerce?

The store-wide threshold is under WooCommerce › Settings › Products › Inventory. Each product, and each variation, can override it with its own low stock threshold on its Inventory settings.

Why isn't a product showing in the low stock report?

The Stock report can only judge stock for products that manage stock. If stock management is off for a product, WooCommerce has a status (in stock, out of stock, on backorder) but no quantity to compare with the threshold.

Who gets the low stock email?

The addresses in Notification recipient(s) under WooCommerce › Settings › Products › Inventory. You can enter several, separated by commas, and the low stock notification checkbox must be ticked.

See how Askshelf handles this: Stock forecasting for WooCommerce