Control Exactly When WooCommerce Reduces and Restores Inventory
Choose which order statuses decrement inventory and which statuses restore it. Stop wrestling with premature stock depletion on Net-30 invoicing, warehouse staging, and manual payment verification.
Why Default WooCommerce Stock Timing Breaks in Production
By default, WooCommerce couples inventory reduction to order creation or payment complete triggers. For stores with delayed wire payments, manual fraud review, or warehouse staging, this inflexible logic creates severe operational friction.
Premature Deduction on B2B & Wire Transfers
Net-30 or invoice orders lock up warehouse inventory before purchase orders are confirmed. If the invoice expires, stock was blocked for real paying customers, directly costing you sales.
Warehouse Staging vs Payment Confirmation
Stores managing physical fulfillment staging need stock reduced only when orders enter a custom staging status, not at initial checkout. Default WooCommerce provides no status-level configuration.
Ghost Stock on Unpaid Order Cancellations
When an unpaid order is cancelled, default WooCommerce code can inadvertently restore inventory that was never deducted in the first place, artificially inflating your warehouse count.
Multi-Status Double-Deduction Risks
Moving orders through intermediate statuses (such as Processing → Dispatched → Completed) risks duplicate stock deductions unless an explicit idempotency safety check is enforced.
Test the State Machine in Real Time
Click each order transition below to observe how the plugin decrements inventory, enforces idempotency, and restores units without ghost calculations.
Surgical Precision Across Every Product Type
Built to integrate cleanly with WooCommerce core without introducing custom database structures or conflicting with existing extensions.
HPOS & Classic Storage
Declares explicit compatibility with High-Performance Order Storage (HPOS / Custom Order Tables) while maintaining fallback compatibility with classic wp_posts storage.
Protected Against Duplicate Reductions
Every status change verifies the native _order_stock_reduced order metadata flag. Moving between multiple reduction statuses (e.g. Processing → Completed) protects against decrementing inventory twice.
Variation-Level Stock Accuracy
Correctly decrements and restores stock for variable products whether stock is managed at the parent product level or individually on each variation.
Respects WooCommerce Partial Refunds
Correctly accounts for line-item refund restocking. If an order with partial refunds is subsequently cancelled, only the remaining unrefunded units are returned to stock.
Prevents Phantom Restorations
Cancelling or failing an order that never reduced stock (such as an unpaid order on hold) will not increment warehouse inventory.
Custom Order Status Discovery
Any custom order status registered through standard WooCommerce filters (e.g. wc_get_order_statuses) is automatically detected and populated into selection lists.
Zero Custom Database Tables
Saves settings in 3 standard wp_options entries. Creates zero custom database tables and cleans up all options on uninstall.
WordPress Multisite Compatible
Compatible with WordPress multisite installations. Each subsite on the network configures and maintains its own stock rules independently in its WooCommerce settings.
Native, Familiar WordPress Administration
Configuring your inventory rules takes less than 60 seconds inside WooCommerce › Settings › Products › Stock Rules.
Granular Reduction Status Selection
Select one or multiple order statuses that trigger inventory deductions. Easily accommodate manual reviews and warehouse staging without code changes.
Automated Restorations
Specify which statuses return units to stock. The plugin inspects historical deductions to ensure only previously reduced units are restored.
Built-In Idempotency Safeguard
Checks order reduction metadata so stock is not decremented twice when orders move between multiple matching statuses, preventing inventory drift.
Tested Across the Entire WordPress & WooCommerce Stack
Every release is thoroughly tested against the latest core versions and modern hosting environments.
| Component | Supported Range | Status | Technical Notes |
|---|---|---|---|
| WordPress Core | 6.0 to 6.7 | ✓ Verified | Theme Independent: Operates at the WooCommerce order status hook level, compatible with both block and classic themes |
| WooCommerce | 7.0 to 11.0.1 | ✓ Verified | Verified on WooCommerce 7.0 through 11.0.1 |
| High-Performance Order Storage | HPOS (Custom Order Tables) | ✓ Compatible | Declared compatible via FeaturesUtil::declare_compatibility |
| Classic Storage | wp_posts & wp_postmeta | ✓ Supported | Seamless fallback for stores running classic storage |
| PHP Runtime | 8.1 to 8.5 | ✓ Compliant | Strict typing, tested on PHP 8.1 through 8.5 |
| Product Types | Simple & Variable Products | ✓ Supported | Parent-level and variation-level stock management supported |
| WordPress Multisite | Per-Subsite Activation | ✓ Supported | Per-subsite activation with independent configuration in each store's WooCommerce settings |
Everything Included With Your License
A complete commercial package designed for frictionless installation and long-term stability.
Instant Plugin Download (ZIP)
Clean, production-ready build archive ready for immediate upload to your WordPress site.
1 Year of Plugin Updates
Download new feature releases, bug fixes, and WooCommerce compatibility releases directly from your customer account and supported license key.
WooCommerce Compatibility Updates
Ongoing maintenance and compatibility updates for newly released WooCommerce versions during your active license period.
Priority Developer Email Support
Direct technical support from the actual software engineers who designed and wrote the plugin.
Comprehensive Technical Documentation
In-depth guides covering installation, status transition workflows, HPOS storage, and operational troubleshooting.
100% GPLv2 Open-Source License
Full code freedom. You have complete rights to inspect, audit, and customize the PHP code on your store.
Simple, Fair Pricing. No Hidden Upsells.
One single plan gives you full access to all features, automated updates, and developer support.
Single-site license (authorized for 1 production site plus local and staging test environments)
- Single-site license (1 production domain + local & staging)
- 1 year of plugin updates & compatibility releases
- Direct developer email support from plugin authors
- 100% GPLv2 open-source PHP code freedom
- 14-day technical satisfaction refund
Billed annually at $39/year. Automatically renews annually; cancel anytime before your renewal date from your customer dashboard. If cancelled, your installed plugin continues functioning under GPLv2, while updates and developer support pause.
Frequently Asked Questions
Practical answers to common merchant and technical questions.
No. The plugin includes built-in idempotency protection. It checks WooCommerce's native _order_stock_reduced order metadata flag before taking action. If stock has already been decremented, subsequent matching statuses simply confirm the state without reducing inventory again.
Yes. The plugin is HPOS compatible and declares explicit support using WooCommerce's FeaturesUtil::declare_compatibility API. It functions identically whether your store uses custom order tables or traditional WordPress post storage.
Yes. Any custom order status registered through standard WooCommerce filters (e.g. wc_get_order_statuses) is automatically detected and populated into both the Reduce and Restore status selection lists.
The plugin natively inspects line items via standard WooCommerce CRUD methods. If a variation manages its own stock, the individual variation's inventory is decremented or restored. If stock is managed at the parent variable product level, the parent stock is updated accordingly.
When partial refunds are processed in WooCommerce, core handles restocking for selected line items. Our plugin respects those adjustments so that if the order is subsequently cancelled, only the remaining unrefunded units are returned to stock, avoiding inventory overcounts.
In default WooCommerce, cancelling an order can inadvertently restore stock that was never decremented, creating phantom inventory. Our plugin verifies whether stock was actually reduced for that order prior to executing any restoration logic, preventing ghost stock.
No. The plugin stores its configuration in standard WordPress wp_options. It creates zero custom database tables, zero background cron queues, and deletes its options cleanly upon deletion.
Yes. Your license includes use on local development domains (e.g. .local, localhost, .test) and staging environments (e.g. staging.yourstore.com) alongside your single production domain.
Because the plugin is 100% GPLv2 software, it will continue to function on your store indefinitely. An active commercial license is required only for automated software updates, compatibility patches for future WooCommerce releases, and direct technical support.
Yes. The plugin integrates directly with native WooCommerce actions and filters (such as woocommerce_order_status_changed and woocommerce_payment_complete_reduce_order_stock) and provides opt-in debug logging to WC_Logger under WooCommerce › Status › Logs.
Need Developer Guides or Technical Hooks?
Browse our complete technical documentation for code examples, hook reference, and deployment tips.
Ready to Fix Your WooCommerce Stock Timing?
Deploy WooCommerce Stock by Order Status on your store in under 5 minutes. Single-site license for $39/year with a 14-day technical satisfaction refund.