BACK TO DIRECTORY

NovaWorks Low Stock Report for WooCommerce

by jordennabbe

0.0
(0 ratings)

NovaWorks Low Stock Report adds one screen to WooCommerce that answers a single question: what is about to run out?

It lists every product and every variation with its current stock, its stock status, its backorder setting, the low stock threshold that actually applies to it, the units it sold in the last 30 days and how many days of cover that leaves. The view you land on is everything already at or below its own threshold, sorted so the item that runs out first is at the top.

The threshold column

WooCommerce lets you set a low stock amount on an individual product and falls back to a store-wide default when you have not. The report resolves that for every row and tells you which of the two it used, so the number in the threshold column is the number that applies to that product, and hovering it says whether it came from the product or from the store default. A product or variation that does not track stock gets no threshold and is never counted as low.

Days of cover

The days-of-cover column is units sold over the last 30 days, taken from the line items of your completed and processing orders, divided into the stock you hold now. An item that sold 60 units in 30 days with 30 in stock shows 15 days. Items with no sales in the window show a dash rather than a made-up number. The calculation is cached and rebuilt by a daily background job, so it does not run on a page load more than once per cache window.

Editing where you read

Change a stock quantity or a stock status in the table and it saves over AJAX through WooCommerce’s own product CRUD layer, so WooCommerce’s stock hooks fire and its transients and product lookup tables stay correct. Every row reports back: a green “Saved” with the value that is now stored, or a red line with the reason it was not written. Selected rows take bulk actions too: set stock to a value, increase or decrease by a number after a delivery, set a stock status, or turn stock management on or off.

A CSV round trip that shows its work

Export writes exactly the view you are looking at, every row in the filter and not only the page on screen, with the columns sku, name, type, stock, stock_status, threshold, units_30d and days_cover.

Import matches your rows by SKU and then stops. Uploading a file writes nothing. You get a preview table of every matched row with its current value, its new value and the difference, followed by the SKUs it could not find, the rows whose numbers it could not read and any SKU listed twice. Stock is written only after you press the confirm button, and each row’s outcome is reported afterwards.

The rest

A dashboard widget shows how many items are at or below their threshold and links straight into the filtered report. While anything is that low, the same number also appears in the toolbar of the admin area; it is not shown on the storefront. Filters live in the URL, so any view can be bookmarked or shared with a colleague.

The free plugin adds no database tables, makes no external HTTP requests, and collects no analytics. It writes stock through WooCommerce CRUD, reads orders only through wc_get_orders() so it works with High-Performance Order Storage, checks a capability and a nonce on every action, and is variation-aware throughout. The paid edition stores private stock movement records in WordPress and supplier fields on products; its optional digest uses WordPress mail. The Freemius edition also uses the licensing service.

The free version covers the report and stock editing. Pro adds the four inventory features listed below.

Questions or a problem to report: nabbe.j82@gmail.com.

Upgrade to Pro

NovaWorks Low Stock Report Pro is available at https://factory.novaworks.pt/p/brimstock-low-stock-report and adds these features:

  • Stock movement history for products and variations, with filters, CSV export and configurable retention.
  • Daily or weekly low stock digest emails with effective thresholds and days of cover.
  • Supplier name and email, reorder quantity and lead time per product or variation, with a purchase order CSV grouped by supplier.
  • Suggested reorder dates and quantities from stock, sales velocity and lead time.

Configure supplier fields in the product Inventory panel or variation editor, select report rows to download a purchase order, and open WooCommerce > Stock history to filter or export movements. Configure retention and digest recipients under Low Stock > Settings. History starts when Pro is enabled, defaults to 90 days of retention, and observes WooCommerce stock hooks, not direct database changes. Digests are off by default; WP-Cron depends on site traffic and mail acceptance does not guarantee inbox delivery. Purchase order downloads do not send orders to suppliers. Forecasts without sales data remain unknown.

History records the product, user, time, before and after quantity, and source of each change. Digests use WordPress mail and configured recipients. Forecast quantities target lead time plus one sales window of cover, with the configured reorder quantity as a minimum.

Screenshots

One screen for what is about to run out: every product and variation below its own low-stock threshold, with days of cover from real sales and stock you can edit in place.

One screen for what is about to run out: every product and variation below its own low-stock threshold, with days of cover from real sales and stock you can edit in place.

Bulk stock actions on the rows you select - set, increase or decrease after a delivery, in one go.

Bulk stock actions on the rows you select - set, increase or decrease after a delivery, in one go.

The CSV import previews every change before it writes: before, after and delta per matched SKU, plus the SKUs it could not match. Nothing is saved until you confirm.

The CSV import previews every change before it writes: before, after and delta per matched SKU, plus the SKUs it could not match. Nothing is saved until you confirm.

A dashboard widget counting what is below threshold, linking straight into the filtered report.

A dashboard widget counting what is below threshold, linking straight into the filtered report.

Plugin Details

Active Installs
0
Total Downloads
179
Version
1.1.0
Requires WP
6.4
Requires PHP
7.4
Tested Up To
7.1.4
Added
2026-10-11
Last Updated
2026-10-16 5:50am GMT

Ratings

5
0
4
0
3
0
2
0
1
0