NovaWorks Low Stock Report for WooCommerce
| 开发者 |
jordennabbe
|
| 更新时间 |
2026年10月14日 19:02 |
| PHP版本: |
7.4 及以上 |
| WordPress版本: |
7.1 |
| 版权: |
GPLv2 or later |
| 版权网址: |
版权信息
|
详情介绍:
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.
安装:
- Install and activate WooCommerce first. This plugin does nothing without it.
- Upload the plugin through Plugins > Add New, or copy the folder to
wp-content/plugins/.
- Activate it, then open WooCommerce > Low Stock.
- Optional: set the rows per page, the days-of-cover highlight level and the sales cache window on the Settings tab. Use Screen Options on the report to set your own rows per page.
Any user with the
manage_woocommerce capability (shop managers and administrators by default) can use the screen.
屏幕截图:
1.1.0
Pro edition: stock movement history, scheduled low stock digest, supplier and reorder fields with a purchase order CSV, and reorder forecasts. The free report, stock editing and CSV round trip are unchanged; compatibility declared for WordPress 7.1 and WooCommerce 11.2.
1.0.3
New name and new main file since 1.0.1. Settings saved by an earlier build are not carried over, so check the Settings tab once after updating.
1.0.2
New name and new main file. Settings saved by an earlier build are not carried over, so check the Settings tab once after updating.
1.0.1
Admin notices are now limited to the plugin's own screens, the Plugins screen and the Dashboard.
1.0.0
First release.
常见问题:
Does this work with variations?
Yes. Variations are listed as their own rows with their parent's name above them, and they can be edited inline and in bulk exactly like simple products. Variation stock is written through WooCommerce CRUD, so WooCommerce recalculates the parent's stock status itself.
Where does the days-of-cover number come from?
It is units sold over the last 30 days, taken from the line items of your completed and processing orders, divided into the stock you have now. If an item sold 60 units in 30 days and you hold 30, it shows 15 days. Items with no sales in the window show a dash. The figure is cached for 12 hours by default and rebuilt daily in the background.
Will the CSV import overwrite my stock by accident?
No. Uploading a file writes nothing. You get a preview table of every row it matched by SKU, showing the current value, the new value and the difference, plus a list of SKUs it could not match and rows it could not read. Stock is written only after you confirm, and each row's result is reported back.
Why did the stock status I set change back?
Because WooCommerce decides the stock status of an item that tracks stock from its quantity. The plugin saves what you asked for, reads the product back and shows you the value WooCommerce actually stored, rather than pretending the change stuck.
Does it add database tables or send data anywhere?
No custom tables are added. The free edition uses WooCommerce product fields and prefixed options and transients. Pro also stores private stock movement posts and supplier product metadata. Digest emails are off by default and go only to the recipients you configure. The Freemius paid edition connects to Freemius for licensing; the free edition contains no licensing SDK.
Is it compatible with High-Performance Order Storage?
Yes. The plugin declares HPOS compatibility and reads orders only through wc_get_orders(), so the sales figures work whether your store keeps orders in the post tables or in the custom order tables.
Can I change which order statuses count as a sale, or the length of the window?
Yes, with the nwlsr_velocity_order_statuses and nwlsr_velocity_window_days filters. The defaults are completed and processing orders over 30 days.
What happens to my data when I uninstall the plugin?
Its own options, transients, cached values, user preferences and scheduled jobs are removed. The paid edition also removes its movement history and supplier metadata. WooCommerce stock quantities and products are preserved.
更新日志:
1.1.0
- The Upgrade tab and this readme now list only the four features the Pro version has: stock movement history with CSV export, a scheduled low stock digest email, supplier and reorder details with a purchase order CSV, and a restock forecast.
- The free report, inline and bulk stock editing, and the CSV export and import work as before. The free plugin still adds no database tables and makes no external requests.
- For developers: a new action before each stock write that names where it came from (inline edit, bulk action or CSV import), new actions after each stock write, on deactivation and on uninstall, a filter that supplies the values of added report columns, and places to add controls to the report and Settings screens.
- The Pro version is a separate download. This free plugin contains none of its code and no licensing library.
- Declared compatible with WooCommerce 11.2.1 and tested up to WordPress 7.1.
1.0.3
- Maintenance release with no functional changes. Version 1.0.2 was never published, so this build takes its place; the 1.0.2 entry below lists what changed since 1.0.1.
1.0.2
- New name: NovaWorks Low Stock Report for WooCommerce. The text domain, the main file, the admin page address (admin.php?page=novaworks-low-stock-report-for-woocommerce) and the code prefix (nwlsr_) follow the new name.
- The low stock counter in the toolbar now appears only in the admin area, never on the storefront, and only while at least one item is at or below its threshold.
- The CSV export is now named novaworks-low-stock-YYYY-MM-DD.csv.
1.0.1
- The notice shown when WooCommerce is missing now appears only on the Plugins screen and the Dashboard, not on every admin screen.
- Removed the paid-version link from the plugin's row on the Plugins screen. The Upgrade tab and the hint beside the digest setting are the only places the paid version is mentioned.
- Readme: support contact filled in.
1.0.0
- First release.
- Low stock report of products and variations with the effective low stock threshold and its source.
- Days of cover from the last 30 days of completed and processing orders, cached and rebuilt daily.
- Inline editing of stock quantity and stock status through WooCommerce CRUD, with an explicit per-row result.
- Bulk actions: set, increase and decrease stock, set stock status, turn stock management on or off.
- CSV export of the whole filtered view and CSV import by SKU with a dry-run preview and a separate confirmation.
- Dashboard widget and admin bar counter for the number of items at or below their threshold.
- HPOS compatible, no custom tables, no external requests.