Poor inventory management leads to overselling (taking orders you can't fulfil), underselling (missing sales when stock is actually available), and operational chaos. WooCommerce includes solid built-in stock management that, when configured correctly, handles most small-to-medium store needs without additional plugins. Here's how to set it up properly and when to consider extending it with external tools.
Go to WooCommerce → Settings → Products → Inventory. This is where you configure the store-wide inventory behaviour. Enable "Manage stock" to activate WooCommerce's stock tracking system globally. Set a low stock threshold, this is the quantity at which WooCommerce sends a low stock notification email. A threshold of 3–5 units works for most stores; adjust based on your replenishment lead times. If it takes you two weeks to restock a product, set the threshold higher to give yourself adequate warning.
The notification email goes to the store admin email address set in WooCommerce → Settings → Emails → New Order (or the email under WooCommerce → Settings → General). Check that this address is actively monitored. Many store owners configure WooCommerce on initial setup, set the admin email to a rarely-checked address, and only discover stock problems when customers complain or orders start failing. Consider a dedicated operations email address for WooCommerce system emails, separate from a general inbox where it might get buried.
Also in this panel: "Out of stock visibility" controls whether out-of-stock products are hidden from the shop. Hiding them removes them from browsing and search, which is cleaner for customer experience but means customers who search for a specific product won't find it even if the page exists. Consider leaving this unchecked and displaying a clear "Out of stock" label instead, it keeps pages visible for SEO and allows customers to find a product and request back-in-stock notification.
Global stock management enables the system; individual products need it configured at the product level. On each product edit page, go to Product Data → Inventory. Check "Manage stock?" to enable per-product tracking for that item. Enter the current Stock Quantity. Set the "Low stock threshold" if this product needs a different threshold than the global default, a high-demand item might warrant a threshold of 20, while a slow-moving one might need only 2.
The "Allow backorders" setting determines what happens when stock reaches zero. "Do not allow" prevents purchase and marks the product out of stock automatically. "Allow, but notify customer" permits purchase but adds a notice on the product page and order confirmation that the item is on backorder. "Allow" accepts purchase silently. For most physical goods retailers, "Do not allow" is the safest default, it prevents customer service problems from unfulfillable orders. Backorders make sense for made-to-order items, pre-order products, or products where you can reliably restock within a defined timeframe that you clearly communicate.
For variable products (products with size, colour, or other variations), enable stock management at the variation level rather than the product level. On the product edit page, go to Product Data → Variations, expand each variation, and check "Manage stock?" for each one. Enter the stock quantity per variation.
Per-variation stock tracking means WooCommerce prevents purchase of a specific size/colour combination when that variant is out of stock, even if other combinations still have inventory. Without per-variation tracking, stock is managed as a single pool at the product level, you might show 10 units available when in reality 8 of those are Size XL (which no one wants) and only 2 are Size M (which everyone wants). Per-variation tracking gives accurate availability data and prevents overselling your most popular variants while displaying inflated stock numbers.
WooCommerce holds stock for pending (unpaid) orders for a configurable period. This prevents two customers purchasing the last unit simultaneously, one customer adds to cart and begins checkout, the stock is temporarily reserved, and a second customer sees it as unavailable. Go to WooCommerce → Settings → Products → Inventory → "Hold stock (minutes)" to configure this.
The default is 60 minutes. For most stores this is appropriate. For high-demand launches or flash sales where stock is likely to sell through quickly, reduce this to 15–30 minutes, shorter hold times release unpaid reservations faster, making stock available to other customers who will actually complete purchase. For bespoke or made-to-order items where you want to hold stock for serious inquirers, you might increase this. Any order that remains unpaid past the hold duration automatically has its stock released, and the order status moves to "Cancelled", no manual intervention needed.
Managing stock one product at a time is fine for small catalogues. For stores with hundreds of products, use WooCommerce's built-in product list view to bulk-update stock. Go to Products and switch to List view. The Manage Stock and Stock Quantity columns are visible and editable inline, click the pencil icon to edit without opening each product. For large-scale updates, import a CSV with updated stock quantities via Products → Import (using the Update existing products option). This is the most efficient way to update stock after a supplier delivery across a large catalogue.
Review WooCommerce's built-in stock reports in WooCommerce → Reports → Stock. The Stock tab shows current stock levels; the Low in Stock and Out of Stock views filter for items needing attention. These reports are basic but sufficient for monitoring purposes. For more detailed inventory analytics, turnover rates, ABC analysis, reorder point calculations, you'll need either a dedicated inventory plugin or an external tool.
WooCommerce's built-in inventory is sufficient for stores that only sell through WooCommerce and manage stock in a single location. If you sell across multiple channels simultaneously, WooCommerce, Etsy, Amazon, eBay, a physical shop, you need a centralised inventory system that syncs quantities across all channels in real time. WooCommerce can't do this natively; selling the same unit on two channels creates overselling risk.
Dedicated multi-channel inventory tools include Linnworks (strong UK focus, integrates with most major channels), Veeqo (now Amazon-owned, competitive pricing), and DEAR Inventory (suited to stores also managing purchase orders and supplier relationships). These tools sit between your sales channels and maintain a single source of truth for stock levels, pushing real-time updates to WooCommerce and other channels whenever inventory changes. For a store selling primarily through WooCommerce with occasional marketplace listings, the simpler approach is manually updating stock or using a dedicated marketplace connector plugin (WooCommerce Amazon Fulfillment, WP-Lister for Etsy) rather than a full inventory management system.
HostBible WordPress plans include daily automated backups of your WooCommerce database, orders, inventory, customer records, and all store data.
View Hosting Plans