You have the item on the shelf, yet the product page says Out of stock, the variation picker greys out a size with This product is currently out of stock and unavailable, the Add to cart button is gone, or the cart says Sorry, we do not have enough in stock to fulfil your order. Every one of those visitors wanted to buy. Two checks tell you whether WooCommerce really thinks the stock is gone or something else is showing an old answer.
Open the product and go to Product data > Inventory. If Manage stock? (called Track stock quantity in newer versions) is ticked, the Quantity number decides everything: 0 or less is out of stock, whatever the Stock status says. If it is unticked, the Stock status dropdown decides. For a variable product, open Variations and expand each one: a variation can manage its own stock, and one at 0 is greyed out while the others sell. Also read WooCommerce > Settings > Products > Inventory: Out of stock threshold (a threshold of 2 makes 2 in stock show as out) and Hide out of stock items from the catalog.
Go to WooCommerce > Orders and filter by Pending payment and On hold. WooCommerce takes stock off when an order is placed, not when it is paid, and only puts it back when the order is cancelled. Hold stock (minutes) in the Inventory settings is how long it waits before cancelling an unpaid order; if it is empty, abandoned checkouts keep the stock forever. Then add the product to a cart in a private window. If WooCommerce now sells it but the page still said out of stock, a cache served an old copy of the page.
| What you see | Cause | Fix |
|---|---|---|
| Out of stock, and the Inventory tab shows Quantity 0 or a negative number | Manage stock is on and the count was never set, or sales ran it down; an import or stock sync wrote 0 | Type the real count and Update; if a sync plugin or POS wrote it, fix the count there or it overwrites yours again |
| Out of stock with stock left, e.g. 2 on hand | Out of stock threshold in Settings > Products > Inventory is at or above that number | Set the threshold to 0 unless you really want a safety buffer |
| One size or colour greyed out, "currently out of stock and unavailable" | That variation manages its own stock at 0, or has no price (a variation without a price cannot be bought) | Open Variations, set the variation's quantity or untick its own Manage stock, and give it a price |
| Stock keeps vanishing with no paid orders | Pending payment or Failed orders from abandoned or declined checkouts are holding it, and Hold stock is empty | Set Hold stock to 60 minutes, then cancel the old Pending orders so the stock goes back |
| "We do not have enough in stock to fulfil your order" | The cart asks for more than the Quantity left, or Allow backorders is Do not allow on a product you restock often | Raise the quantity, or set Allow backorders to Allow, but notify customer |
| The admin shows In stock, the shop shows Out of stock | A page cache, CDN or the host's cache serves a saved copy of the product page, or the product lookup table is stale after an import | Purge the cache; then WooCommerce > Status > Tools: Regenerate the product lookup tables and Clear transients |
| Products disappear from the shop instead of showing Out of stock | Hide out of stock items from the catalog is ticked | Untick it if you want customers to see and wait for the item |
| Stock is wrong after every sale on another channel | A marketplace, POS or inventory plugin syncs on a schedule and overwrites WooCommerce | Pick one system as the stock source and let only that one write the quantity |
Open the product in a private window (logged out). The page should say In stock or show the count, every variation you have should be selectable, and Add to cart should put it in the cart without the "not enough in stock" message. Then go back to Inventory and check the Quantity did not drop just from adding it to the cart; it only drops when an order is placed.
If you would rather someone else finds where the stock went and fixes it, that is what the box below is for. Related: product cannot be purchased, add to cart not working, orders stuck on pending payment.