Title: CatCode Stock Reserve &amp; Reorder for WooCommerce
Author: CatCode
Published: <strong>October 25, 2026</strong>
Last modified: October 25, 2026

---

Search plugins

![](https://ps.w.org/catcode-stock-reserve-reorder-for-woocommerce/assets/banner-
772x250.png?rev=3764162)

![](https://ps.w.org/catcode-stock-reserve-reorder-for-woocommerce/assets/icon-256x256.
png?rev=3764162)

# CatCode Stock Reserve & Reorder for WooCommerce

 By [CatCode](https://profiles.wordpress.org/catcodestudio/)

[Download](https://downloads.wordpress.org/plugin/catcode-stock-reserve-reorder-for-woocommerce.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/catcode-stock-reserve-reorder-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/catcode-stock-reserve-reorder-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/catcode-stock-reserve-reorder-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/catcode-stock-reserve-reorder-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/catcode-stock-reserve-reorder-for-woocommerce/)

## Description

WooCommerce takes stock the moment an order is paid or put on hold. The units are
still on the shelf until the parcel leaves, but the stock figure no longer shows
them — so a stock count never matches, and nobody can say how much is promised to
customers. The low-stock e-mail fires at a fixed number, whether the supplier needs
three days or four weeks. And typing a delivery into the stock field overwrites 
whatever orders changed in the meantime.

Stock Reserve & Reorder adds the light warehouse layer a small shop needs, without
an ERP.

 * **Physical, reserved, available.** For every product and variation that manages
   stock: physical = on the shelf, reserved = units of orders that are paid but 
   not shipped yet (by default “Processing” and “On hold” — choose your own statuses,
   a custom “Packing” status included), available = what can still be sold. Click
   the reserved figure to see the orders holding it. Units held by unpaid checkouts
   are shown too.
 * **Goods receipts with “+N”.** Book a delivery as a document — document number,
   supplier, note, any number of lines, or a pasted “SKU quantity” list straight
   from a spreadsheet. Every line is added to the current stock in one relative 
   database update, so orders placed while you type are never lost. A quick “+N”
   box sits on every row of the overview. Receipts are kept, and a receipt booked
   by mistake can be cancelled (−N).
 * **Reorder point by lead time.** Sales rate over the last N days × supplier lead
   time + safety stock. When available stock plus expected deliveries falls to it,
   the product is marked “Reorder now”, with the date you have to order by and the
   days of stock left. Lead time and safety stock are set per product and per variation,
   with store defaults.
 * **Products list.** “Physical 12 · reserved 2” and a “Reorder” mark under the 
   stock figure; a counter of products to reorder next to the menu item.
 * **Works with CatCode Multi Warehouse.** A receipt can go into a chosen warehouse.
 * **Partial shipments and refunds.** Units already sent with a partial shipment(
   WooCommerce order fulfillments, Shiptastic / Germanized shipments) and units 
   refunded without restock are no longer reserved.
 * **Works with CatCode Shared Stock.** Cards that sell from one stock pool are 
   counted together: every card shows the whole pool, and the overview keeps one
   row per pool, so a reorder is suggested once.
 * **HPOS and blocks.** Compatible with High-Performance Order Storage and the Cart
   and Checkout blocks. The plugin never changes how WooCommerce takes stock for
   orders.

#### How the numbers work

WooCommerce records on every order line how many units it took from stock (the `
_reduced_stock` order item meta): cancelling the order gives them back, a refund
with restock lowers the figure. The plugin sums it for orders in the reserved statuses.
Units that already left with a partial shipment, and units refunded without restock,
are taken off the order line’s figure: they will not leave the shelf any more. Physical
= WooCommerce stock + reserved; available = WooCommerce stock. The sales rate counts
the same units for orders created in the measuring window, so cancelled orders and
restocked refunds do not count as sales. A product younger than the window is measured
over its own age.

## Screenshots

[⌊Stock overview: physical, reserved, available, sales per day, days left, reorder
point and the date to order by.⌉⌊Stock overview: physical, reserved, available, 
sales per day, days left, reorder point and the date to order by.⌉[

Stock overview: physical, reserved, available, sales per day, days left, reorder
point and the date to order by.

[⌊A goods receipt: lines, pasted SKU list, "+N" to the current stock.⌉⌊A goods receipt:
lines, pasted SKU list, "+N" to the current stock.⌉[

A goods receipt: lines, pasted SKU list, “+N” to the current stock.

[⌊Orders holding the reserved units of a product.⌉⌊Orders holding the reserved units
of a product.⌉[

Orders holding the reserved units of a product.

[⌊Lead time and safety stock in the Inventory tab.⌉⌊Lead time and safety stock in
the Inventory tab.⌉[

Lead time and safety stock in the Inventory tab.

## Installation

 1. Install and activate the plugin. WooCommerce must be active, with stock management
    switched on.
 2. Open **WooCommerce  Stock & Reorder**. The overview lists every product and variation
    with “Manage stock” on.
 3. In **Settings**, check which order statuses mean “paid, not shipped yet”, and set
    the default lead time and safety stock.
 4. Set a lead time on products whose supplier is faster or slower than the default(
    Inventory tab of the product or the variation).

## FAQ

### Does the plugin change the stock of my products?

Only when you book or cancel a goods receipt, and then only relatively (+N / −N)
through WooCommerce’s own stock function. Reserved and physical stock are computed
from your orders; nothing is written to them.

### My shop marks orders “Completed” when they are packed, not when they leave.

Tick “Completed” (or your own status) in Settings  Reserved stock. Units of orders
in the ticked statuses are reserved.

### What about orders created before the plugin was installed?

They count. The figures come from WooCommerce’s own order data, so the overview 
is right from the first minute.

### Imported orders show no reserved units.

Orders imported from elsewhere often have no `_reduced_stock` record, because WooCommerce
did not take stock for them. They are not reserved and not counted as sales.

### Which database does it need?

MySQL or MariaDB, like WooCommerce.

### How big a catalogue does it handle?

Tested with 20,000 products and variations with stock management: the overview opens
in about 0.7 s with 12,000 orders in the last 60 days and in under 2 s with 52,000(
MariaDB 10.11 and MySQL 8.0). Sales of the whole catalogue are kept for ten minutes
for the products list and the product screen, so these stay fast; reserved stock
is always read live.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CatCode Stock Reserve & Reorder for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ CatCode ](https://profiles.wordpress.org/catcodestudio/)

[Translate “CatCode Stock Reserve & Reorder for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/catcode-stock-reserve-reorder-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/catcode-stock-reserve-reorder-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/catcode-stock-reserve-reorder-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/catcode-stock-reserve-reorder-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/catcode-stock-reserve-reorder-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.1**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [inventory](https://wordpress.org/plugins/tags/inventory/)[reorder](https://wordpress.org/plugins/tags/reorder/)
   [reserved stock](https://wordpress.org/plugins/tags/reserved-stock/)[stock](https://wordpress.org/plugins/tags/stock/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/catcode-stock-reserve-reorder-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/catcode-stock-reserve-reorder-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/catcode-stock-reserve-reorder-for-woocommerce/reviews/)

## Contributors

 *   [ CatCode ](https://profiles.wordpress.org/catcodestudio/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/catcode-stock-reserve-reorder-for-woocommerce/)