How to Set Up WooCommerce Inventory Management for Beginners

Nothing frustrates a customer faster than completing checkout for something that’s already sold out. Nothing frustrates a store owner faster than manually editing stock counts across dozens of products every time an order comes in. WooCommerce’s built-in inventory tools handle both, but they’re scattered across product settings, global options, and order statuses in a way that isn’t obvious the first time you go looking.

Inventory management is one of the things that most often gets configured wrong early on — either stock tracking is left off entirely, or it’s on with no sensible low-stock threshold set. Getting it right up front saves a lot of manual cleanup later.

Turning It On and Setting Sensible Defaults

Go to WooCommerce → Settings → Products → Inventory and tick Manage stock — this becomes the default for new products, and it’s what controls whether WooCommerce actually counts units and reduces the number automatically as orders come in. On the same screen, set a Low stock threshold (2–5 units is a sensible starting point for most small stores, higher for anything that sells quickly or has a long reorder lead time) and, separately, an Out of stock threshold if a product should come off sale slightly before it physically hits zero — useful for anything with a returns buffer.

On each product’s own Inventory tab: set a SKU, enter the current stock quantity, and override the global backorder/threshold settings if that specific product needs different rules. Sold individually lives here too — limits a customer to one unit of that product per order, handy for limited or made-to-order items. If products haven’t been added yet, adding products in WooCommerce covers where inventory fields sit alongside pricing and categories.

The Setting Most Guides Skip Entirely

Also on that same Inventory settings screen: Hold stock (minutes). This is what prevents two customers both reaching checkout for the last unit of something at the same time — when someone starts checkout, WooCommerce temporarily reserves that stock for them; if they never complete payment within the set number of minutes, the order is cancelled automatically and the stock releases back to available inventory for the next shopper. Leave the field blank to disable it entirely, though there’s rarely a good reason to.

Worth knowing honestly: this only applies to orders sitting in “Pending payment” status specifically, not “On hold,” and it isn’t perfectly airtight — there are documented reports of the hold occasionally not releasing cleanly, particularly around certain payment gateway timing. It meaningfully reduces the chance of overselling the last unit of something during a busy launch or sale, but it’s a real mitigation, not an absolute guarantee — worth spot-checking stock counts after a genuinely high-traffic sale rather than assuming this setting caught every edge case on its own.

Backorders and Variation-Level Stock

Each product’s Backorders setting controls what happens once stock hits zero: Do not allow (shows out of stock), Allow, but notify customer (stays purchasable with a note it’s on backorder), or Allow (purchasable with no notice at all). Most physical-goods stores should stick to the first or second — the third risks promising stock that can’t actually be delivered.

Products sold in multiple sizes or colours need stock tracked per variation, not as one shared number — without it, WooCommerce treats the whole product as available or unavailable as a single unit, even if there’s plenty of medium left and zero large. See setting up WooCommerce product variations for enabling stock management at that level. By default, stock reduces when an order is placed, not when it’s marked complete — exactly the gap the Hold Stock setting above is designed to protect during — and it’s restored automatically on cancellation or refund; see managing WooCommerce orders for how stock changes interact with order status day to day.

Use the Products list screen’s stock column to scan for low or out-of-stock items at a glance rather than opening each product individually. If restocking happens regularly from the same supplier, set the low-stock threshold to actually reflect that reorder lead time rather than an arbitrary round number. For made-to-order or limited-run items, skip exact stock counts entirely and rely on Sold individually plus manual listing removal instead — tracking precise quantities adds overhead with no real benefit for that model. Leaving stock management off and tracking inventory in a separate spreadsheet almost always drifts out of sync with what’s actually selling; a low-stock threshold left at zero means the warning arrives after the sellout, not before it.

WooCommerce’s native inventory tools, including Hold Stock, cover most small-to-mid stores without extra plugins. Managing inventory across multiple warehouses, syncing with a physical point-of-sale system, or needing barcode scanning is where a dedicated inventory plugin or connected external system starts to earn its keep — for a single online store, the settings above are usually the whole job.