WooCommerce Stock Management: Track Inventory Without a Plugin Mess
WooCommerce tracks stock natively. Enable stock management under WooCommerce › Settings › Products › Inventory, then set the SKU and quantity in each product's Inventory tab, or per variation for sizes and colours. Low-stock emails, backorder rules and CSV or WP-CLI bulk updates are built in; plugins are needed mainly for multiple warehouses or channel sync.
For Indian store owners on WooCommerce who want accurate stock across online, shop-counter and marketplace sales without a plugin pile-up.
knowledge
- Read time
- 4 min
- Sections
- 8
- Updated
- 14 Nov 2026
- Written by
- WebJi® team
Last editorial update: 14 November 2026.
How do you turn on WooCommerce stock management?
Go to WooCommerce › Settings › Products › Inventory, tick "Enable stock management", set the store-wide defaults and save. Nothing is tracked until this master switch is on, and each product still needs tracking enabled in its own Inventory tab.
| Setting | What it controls | Suggested starting value |
|---|---|---|
| Hold stock (minutes) | How long an order in "Pending payment" keeps stock before it is cancelled and released (not "On hold" orders) | 30–60 minutes |
| Low / out of stock notifications | Whether WooCommerce emails stock warnings | Both on |
| Backorder notifications | An email when an order creates a backorder (on by default) | On if you allow backorders |
| Notification recipient(s) | One or more comma-separated addresses for these emails | The person who reorders |
| Low stock threshold | Quantity that triggers the low-stock email | About one week of sales |
| Out of stock threshold | Quantity at which status becomes Out of stock | 0, or 1–2 if counts drift |
| Out of stock visibility | Hide sold-out items from the catalogue | Off for items that return |
| Stock display format | Always show, only show when low, or never show the amount | Only show when low |
For UPI orders that customers abandon at the payment app, a shorter hold time releases stock sooner; the UPI payments in WooCommerce guide covers the pending-order flow.
How do you set SKU and stock quantity for a product?
Open the product, go to Product data › Inventory, enter the SKU, tick the stock-tracking option, type the quantity and choose a backorder rule. From then on each order deducts stock automatically and refunds or cancellations can restore it.
- SKU: a unique code such as KURTA-BLU-M; match it to your billing software or Tally item code so stock reports reconcile.
- Track stock quantity: tick it to reveal the Quantity field.
- Quantity: the units on hand right now.
- Allow backorders: Do not allow, Allow but notify customer, or Allow.
- Low stock threshold: override the store default for fast-selling items.
- Sold individually: tick to limit one unit per order, useful for limited drops.
If you only tick "In stock / Out of stock" without tracking quantity, WooCommerce will never change the status for you; that manual mode suits made-to-order items.
How does WooCommerce track stock for variations like size and colour?
Each variation can hold its own SKU and quantity: open Product data › Variations, expand a variation, tick "Manage stock?" and enter its stock. A sale of "Blue / M" then deducts only from that variation.
If a variation's own box is left unticked, it draws from the stock set at parent level, which suits items where every size shares one pool (for example free-size dupattas). Mixing the two on one product confuses staff, so pick one approach per product. Building the attribute matrix is covered in creating a variable product.
How do low-stock alerts, out-of-stock status and backorders work?
When a tracked product falls to the low-stock threshold WooCommerce emails the recipient, and at the out-of-stock threshold it switches the status to Out of stock unless backorders are allowed.
| Backorder setting | At zero stock | Use it for |
|---|---|---|
| Do not allow | Status becomes Out of stock; Add to cart disappears | Limited or seasonal stock |
| Allow, but notify customer | Order accepted, with an "available on backorder" note | Items your supplier restocks reliably |
| Allow | Order accepted silently; status shows On backorder | Made-to-order products with a stated lead time |
Before a Diwali or end-of-season sale, raise thresholds on best-sellers so alerts arrive while there is still time to reorder.
How do you bulk-update stock in WooCommerce?
For a few simple products use Products › Bulk actions › Edit; for variations or a whole catalogue use the built-in CSV importer, WP-CLI or an inventory plugin. Take a database backup first: a malformed import can overwrite every quantity in the store.
- Bulk edit: tick rows on the Products list, choose Edit, set the stock field. Simple products only.
- CSV import: Products › Import with "Update existing products" ticked, matching rows by ID or SKU; see importing products from CSV.
- Plugins: Woo's Bulk Stock Management extension, or free tools such as Stock Manager for WooCommerce and ATUM, add a spreadsheet-style stock screen and logs.
With SSH access, WP-CLI updates a product's stock in one line and lists what has sold out:
wp wc product update 123 --manage_stock=true --stock_quantity=25 --user=admin
wp wc product list --stock_status=outofstock --fields=id,sku,name --user=admin
How do you keep WooCommerce stock in sync with shop and marketplace sales?
WooCommerce stays accurate only if every sale, online or offline, lands in it the same day. A POS app that writes to the same WooCommerce catalogue deducts automatically; walk-in, phone and WhatsApp orders must be entered as orders or deducted in the Inventory tab.
The failure is silent: two channels sell the same ten units and both oversell. Stores also listing on Amazon or Flipkart need a sync plugin or an inventory tool that aggregates channels; manual deduction does not scale beyond a handful of SKUs.
Stock changes write to wp_postmeta and the wc_product_meta_lookup table on every order, so a store doing daily bulk updates needs fast storage and an object cache. WebJi® WooCommerce hosting runs on NVMe, and Redis object caching reduces the database load further.
Frequently asked questions
Why did my stock not reduce after an order?
WooCommerce reduces stock when payment completes or the order moves to Processing, Completed or On hold, not while it sits in Pending payment. If the gateway never confirms payment, the order stays pending and is cancelled after the hold time. Check that stock tracking is ticked on the product and that the payment callback is reaching your site.
Does a refund put stock back automatically?
Cancelling an order restores stock. For a refund, WooCommerce asks whether to restock the refunded items with a "Restock refunded items" checkbox; leave it unticked if the returned product is damaged and cannot be resold.
Can I hide stock quantities from customers?
Yes. Set Stock display format to "Never show quantity remaining in stock" in the Inventory settings, or "Only show when low" to create urgency on the last few units. Tracking continues in the background either way.
Do I need a plugin for multiple warehouses?
Yes. Core WooCommerce holds one stock figure per product or variation. Separate godowns or retail branches need a multi-location inventory plugin or an ERP connector that assigns stock by location and routes orders.
Checked 14 November 2026 against the WooCommerce inventory settings documentation · Reviewed by the WebJi® team, Jaipur.
Ready to get started with WebJi®?
Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.