QuickStock for WooCommerce adds a fast, dedicated stock and inventory management workspace to your WooCommerce backend. You get inline editing for every stock-relevant field across the All Products and Reorder tabs — plus a sticky header, configurable columns, density modes and keyboard shortcuts — with a separate Stock History tab that records every change. It is built for shop owners who spend real time on stock control and want to stop bouncing between the WooCommerce product list, individual product screens and external spreadsheets.
Core features:
- Smart Reorder tab that surfaces low-stock and out-of-stock products in one place
- Bulk editing for stock, stock status, prices, sale prices (absolute or %), sale schedules, categories, shipping class, delivery time and post status
- Barcode label designer with multiple named templates, freely positioned product name, barcode and price fields, plus live preview
- Stock history log with source tracking (manual vs. order), filter, CSV export and configurable retention (30 / 90 / 365 days / unlimited)
- CSV export with locale-aware options (delimiter, BOM, date format) — Excel/DE-friendly
- Field library: turn any of the 50+ built-in columns or product attributes into table columns — with compact / normal / comfortable row density and a sticky header for long lists
- Configurable default tab, sort order and rows per page
- Smart stock cells — type a calculation like
2+24 straight into a stock field and QuickStock sets the new quantity
- Fully translatable (text domain
quickstock-for-woocommerce)
- All visual assets and runtime libraries are bundled locally — no external CDN is used
QuickStock is aimed at WooCommerce shops with dozens to thousands of products that need quick, keyboard-driven stock maintenance. Variable products appear as expandable parent rows, and every variation can be edited inline as its own row.
5.13.24
- Improvement: Columns can now be activated and deactivated directly from the “Manage columns” list in Settings → Columns, without having to scroll down to the field library.
- Bugfix: “Calculate quantities” in the reorder view now reads the restock target currently shown on screen, so order quantities are correct immediately after editing “Restock to” inline — a page reload is no longer required.
5.13.23
- Bugfix: Column value filters on taxonomy/attribute columns (e.g. manufacturer, categories, shipping class) now apply correctly when narrowing the list with the filter search box.
5.13.22
- Improvement: Bulk editing product variations is now available in the free version.
5.13.21
- Bugfix: CSV exports no longer trigger a PHP 8.5 deprecation notice; their existing delimiters, quoting and backslash escaping remain unchanged.
5.13.20
- Bugfix: Resetting filters now preserves a modified active preset until you deliberately apply a preset again or switch tabs.
- Compliance: Premium JavaScript is stripped from the Free package; view-state POST handling now passes only the expected values; Free/Pro and bundled-library documentation is corrected.
5.13.19
- Maintenance: Internal code hardening to meet the WordPress.org plugin guidelines — stricter output escaping, input sanitisation and prepared database queries, plus moving remaining inline scripts into a separate asset file. No changes to features or behaviour.
5.13.18
- Bugfix: Printing labels could occasionally stall without ever opening the print dialog. The plugin waited for a label image that never reported back, so the click looked as if it had done nothing at all. Printing now starts even when an image fails to load, and the print job always finishes cleanly instead of leaving the page waiting.
5.13.17
- Maintenance: Updated the bundled barcode library (JsBarcode 3.12.3) and drag-and-drop library (SortableJS 1.15.7) to their current releases.
- Maintenance: In the WordPress.org version, translations are now delivered through translate.wordpress.org instead of being bundled with the plugin. Existing translations remain available and are unaffected in the Pro version.
5.13.16
- Maintenance: The shared "MLPlugins" top-level menu now uses the vendor-specific slug
mlplugins-hub instead of the generic mlplugins. The menu title and its position are unchanged, and old bookmarks to the previous address still redirect to QuickStock.
5.13.15
- Maintenance: Plugin author, author URI and plugin URI now point to MLPlugins, the brand that publishes and supports QuickStock. No functional change.
5.13.14
- Bugfix: Activating one version (Free or Pro) while the other one was still active could crash with a fatal error ("Cannot redeclare"), forcing you to deactivate the other version by hand first. The plugin now uses the official Freemius bootstrap — the whole plugin loads inside a single conditional block, so a second copy is detected safely instead of re-declaring its functions, and Freemius deactivates the other version automatically on activation. Upgrading from Free to Pro no longer requires a manual step.
5.13.13
- Compliance: Free and Pro are now generated from one master codebase; Premium files, PHP methods and JavaScript blocks are removed from the WordPress.org package by the Freemius preprocessor
- Privacy: The FAQ now documents the optional Freemius connection, consent, terms and privacy policy
5.13.12
- Improvement: The stock column is colour-coded again — green above the reorder threshold, orange exactly at the threshold, red below it. The colour coding had been hidden by a generic input-field rule introduced with the redesign.
5.13.11
5.13.10
- Bugfix: Admin notices from other plugins or WooCommerce are now displayed at the very top — above the logo and the main navigation instead of below them. The
.wp-header-end marker was moved to the beginning of the page for this.
5.13.9
- Maintenance: Updated the bundled Freemius SDK to 2.13.4.
5.13.8
- Bugfix: Column dropdowns (sort/filter) were cut off at the bottom edge of the table when only a few products were listed, because the table used "overflow: hidden" for its rounded corners. The corners are now rounded on the corner cells themselves, so the menu can extend beyond the table again.
- Bugfix: Admin notices from other plugins or WooCommerce sometimes ended up in the middle of the QuickStock interface. A
.wp-header-end marker now pins them reliably below the main navigation.
5.13.7
- Change: QuickStock is no longer a submenu under WooCommerce. It now lives under the new shared "MLPlugins" top-level menu (in preparation for further ML plugins).
5.13.6
- UI: "Advanced filters" and "Reset filters" now permanently use the accent styling of the active "All Products" tab in the filter bar (purple border, purple text) instead of only on hover.
5.13.5
- Bugfix: In the cost price column, the margin indicator rendered both "green" and "orange" in a yellowish tone because a second CSS block overrode the correct colours. Green and orange are displayed correctly again.
- Maintenance: Cleaned up the admin stylesheet (
admin.css) — the colour palette that had been duplicated during the redesign was merged into a single source, and around 30 mutually overriding or ineffective CSS rules were removed. Internal cleanup only, with no visible layout change.
5.13.4
- Bugfix: In narrow columns with long titles (e.g. "Threshold"), the column heading disappeared behind the neighbouring column and the sort/filter arrow was missing entirely. The arrow now flows inline directly after the title and stays visible at all times without covering the heading; long titles wrap cleanly at word boundaries instead of being clipped.
5.13.3
- Admin redesign polish: The settings sidebar stays visible while scrolling on desktop.
- Sort/filter arrows in table headers are more compact and right-aligned, so they no longer cover narrow column titles.
5.13.2
- The plugin icon is now also shown in the WordPress updates section (set via the
plugin_icon filter in the plugin code).
5.13.1
5.13.0
5.12.2
- Protection against activating Free and Pro at the same time: instead of a fatal error (duplicate class declaration), a clear notice now asks you to deactivate one of the two versions.
- Updated the Freemius SDK to 2.13.2.
5.12.1
- Removed dark mode: the theme selection (System / Light / Dark) under Settings → General → Appearance is gone; the plugin area is displayed in a single light theme again.
- Moved the admin.css colour palette from the theme body classes to :root.
5.12.0
5.11.0
5.10.0
5.9.0
5.8.0
- Stock history: every stock change is logged in a dedicated database table.
- Sources: 'manual' (inline/bulk editing) and 'order' (WooCommerce stock reduction/restore).
- New "History" tab with filters (search, date, source) and CSV export.
- Settings → General → History: on/off plus retention period (30 / 90 / 365 days / unlimited).
- A daily cleanup cron removes entries older than the retention period.
- The table is created on activation (this also applies when the plugin is already active).
5.7.0
- Dark mode: theme selection under Settings → General → Appearance (System / Light / Dark).
- "System" follows the operating system setting (prefers-color-scheme).
- Applies to the plugin area (product table, filters, settings, label designer); the WP menu and admin bar are unchanged.
- Moved admin.css to a CSS variable palette system.
5.6.1
- General settings (phase 2): autosave mode (automatic/manual).
- Configurable bulk confirmation dialog (off/always/above a threshold), including the threshold setting.
- CSV export options: delimiter (; / , / tab), BOM, date format.
- Currency override (symbol, position, decimal/thousands separator).
- Configurable scanner cache TTL (1 h / 6 h / 24 h / off).
- Keyboard shortcuts can be switched on and off.
5.6.0
- General settings (phase 1): default tab on opening (All Products / Reorder / last used).
- Configurable default sorting per tab.
- Default "products per page".
- Row height / density (compact / normal / comfortable).
- Sticky header in the product table.
- Lazy loading for product images.
5.5.0
- Bulk editing: print labels for several selected products at once.
- Global quantity field in the bulk bar (e.g. print every ticked product 3 times).
- Uses the active label template; one label per printed page (same mode as single printing).
- Products without an SKU are skipped and reported at the end.
5.4.0
- Bulk editing in the "All Products" tab: selection checkboxes plus "select all" (current page).
- Sticky action bar with a confirmation dialog and a progress bar.
- Processing in batches; batch size configurable under Settings → General.
- Operations: set stock/change it relatively, stock management, threshold, stock status, backorders, post status.
- Set availability, shipping class and delivery time; add/remove category (additive).
- Clear/set sale price (CHF or % discount), sale period, set regular price.
- CSV export of the selection (Excel/DE: UTF-8 plus semicolon).
- Stock operations skip products without active stock management and report them.
5.3.0
5.0.0
- First plugin version (migrated from a snippet).