Stock Levels Explained
Fulfiro tracks three stock numbers for every product. Understanding the difference is key to using the system correctly.
On Hand
The physical quantity in your warehouse. This is how many units you actually have. On Hand only changes when stock physically moves: you receive a delivery, ship an order, count inventory, or make a manual adjustment.
Reserved
The quantity set aside for pending orders. When a customer places an order, Fulfiro automatically reserves the stock so it cannot be sold to someone else. Reserved stock is still physically in your warehouse -- it just is not available for new orders.
Available
Available = On Hand - Reserved. This is the number that matters for selling. It is the quantity that can still be sold without overselling. This is the number Fulfiro pushes to WooCommerce as the stock quantity. See Two-Way Stock Sync.
Example
You have 50 units on hand. Three pending orders have reserved 12 units total. Your available stock is 38. If someone tries to order 40, WooCommerce will show only 38 in stock.
Where does each number come from?
- On Hand comes from InventoryLevel records -- one per product per location
- Reserved comes from active Reservations linked to order items
- Available is always calculated, never stored independently
Multi-location
If you have multiple locations enabled, each location has its own On Hand and Reserved numbers. The product-level numbers are the sum across all locations.
Related: How Reservations Work | Stock Status and Days Left | Stock Consistency