WooCommerce Inventory Management

By Tibeau De Grauwe, FounderUpdated August 2026

  • 25 products free
  • No credit card
  • 10-min setup

What WooCommerce's built-in stock tracking actually does

WooCommerce stores a stock quantity per product or variation and can hide out-of-stock items or block checkout once that number hits zero. That covers the basic case: a single-location seller with a small catalog who updates quantities manually from the WordPress admin.

It stops covering the case once operations get more complex. There is no barcode scanning for receiving or counting, no purchase-order workflow to check received quantity against what was ordered, no built-in concept of multiple warehouses or storage locations, and no way to track batches, lots, or expiry dates without a paid extension.

Where overselling risk comes from

The moment the same SKU sells through WooCommerce and anywhere else—a physical counter, a wholesale account, a second marketplace—two systems are drawing down the same physical stock without talking to each other. A sale on one side does not reduce what the other side thinks is available, so both can sell the last unit at the same time.

This is the same failure mode multi-channel sellers hit regardless of platform: the fix is a single shared stock number that every channel reads from and writes to, not two (or three) separately-updated counts that only get reconciled after something goes wrong.

  • No barcode scanning for receiving, counting, or picking
  • No purchase-order receiving workflow to verify quantities received
  • No native multi-location or multi-warehouse stock split
  • Manual quantity edits in wp-admin do not scale past a small catalog

Running warehouse operations beside WooCommerce

The common pattern is to keep WooCommerce as the storefront and checkout experience customers see, while a dedicated inventory system like StockFlow runs the operational side: barcode receiving against purchase orders, cycle counts, multi-location stock, and low-stock alerts. Quantities sync back to WooCommerce via CSV export/import today, so the storefront always reflects what is actually on the shelf.

This split matters most once you add a second sales channel or a physical location—WooCommerce keeps doing what it is good at (product pages, checkout, payments), and the inventory system becomes the single source of truth that every channel, including WooCommerce, reads from.

Trusted by small businesses

What our customers say

“Super Kind! Quick replies from their support and very easy fixes, changed the dashboard a bit and customized it. Also gave me 450 items extra on the free plan just for me. Highly recommend and again great service!”

Erasable Trading AU

“Best customer service! Stockflow's customer support is fast and extremely helpful. They assisted me with customization of the software to improve my experience as a user.”

Justin M.

Co-Owner, Consumer Goods

Frequently asked questions

Does WooCommerce have barcode scanning built in?
No. WooCommerce's core stock management is a manual quantity field per product or variation. Barcode scanning for receiving, counting, or picking requires a separate inventory system connected to the store.
Can WooCommerce handle multiple warehouses?
Not natively. WooCommerce tracks one stock quantity per product. Splitting stock across multiple locations and knowing which location fulfills which order requires a dedicated multi-location inventory system alongside it.
How do I stop overselling between WooCommerce and my physical store?
Run both channels off one shared stock number rather than two separately-updated counts. A sale in either place should reduce the same total, which is what a dedicated inventory system syncing back to WooCommerce is for.
Is a full inventory system overkill for a small WooCommerce store?
Not necessarily—it depends on catalog size and channel count. A single-location store with a handful of SKUs and one sales channel can often manage with WooCommerce alone. Once you add barcode receiving, a second location, or a second sales channel, the built-in stock field stops being enough.