Understanding Inventory Numbers in Warehance

Updated 2/28/202611 min read

Warehance tracks several inventory metrics for every product across your warehouses. This article explains what each number means, how it's calculated, and walks through real-world examples so you can confidently interpret your product inventory at a glance.

Inventory Fields at a Glance

FieldWhat It Means
On HandTotal physical quantity across all warehouse locations
AvailableQuantity that can be sold or allocated to new orders
AllocatedQuantity reserved for unfulfilled orders
BackorderedQuantity needed by orders but not yet allocated (insufficient inventory)
On OrderQuantity expected from open purchase orders (not yet received)
Non-SellableQuantity stored in non-sellable locations (e.g., quarantine, returns area)
DamagedQuantity marked as damaged
ExpiredQuantity with an expired lot date
ReservedQuantity held back from allocation (your configured reserve amount)
Sell AheadQuantity from purchase orders you've opted to sell before receiving
PickableQuantity in locations marked as pickable

Detailed Breakdown of Each Field

On Hand

What it is: The total physical quantity of a product across all inventory locations in your warehouse(s). This is the sum of every unit you physically have — regardless of whether it's sellable, damaged, expired, in a tote, or in a non-sellable location.

How it's calculated:

On Hand = SUM of quantity across all inventory locations for the product

Key point: On Hand includes everything physically in your warehouse. This means it includes damaged units, expired units, and units in non-sellable locations. It is not the same as what's available to sell.

Available

What it is: The quantity that is actually available to be sold or allocated to new orders. This is the most important number for understanding what you can actually fulfill.

How it's calculated:

Unavailable = Damaged + Expired + Non-Sellable + Totes (without double-counting)
Available = On Hand − Reserved − Allocated − Unavailable

If the result would be negative, Available is set to 0.

What reduces Available:

  • Allocating inventory to orders (increases Allocated)
  • Moving inventory to a non-sellable location
  • Marking inventory as damaged
  • Inventory lots expiring
  • Setting a reserve amount on the product
  • Inventory in tote locations

What increases Available:

  • Receiving inventory from a purchase order
  • Adjusting inventory up
  • Deallocating orders (e.g., cancelling an order)
  • Moving inventory from a non-sellable to a sellable location

Allocated

What it is: The total quantity that has been assigned to unfulfilled orders. When an order comes in and inventory is available, Warehance allocates inventory to that order so it can be picked and shipped.

How it's calculated:

Allocated = SUM of allocated quantity across all unfulfilled order items for the product

An order item is considered "unfulfilled" when quantity_shipped < quantity (not all units have shipped yet).

Allocation priority: Orders are allocated in this priority order:

  1. Allocation Priority (higher priority orders first)
  2. Required Ship Date (earliest date first)
  3. Order Date (oldest orders first)

Important: Allocated inventory is subtracted from Available. If you have 100 On Hand and 60 Allocated, your Available is reduced by that 60 (plus any other unavailable inventory).

Backordered

What it is: The quantity needed by unfulfilled orders that could NOT be allocated due to insufficient inventory. This is the gap between what orders need and what has been allocated.

How it's calculated:

For each unfulfilled order item:
  Backordered = Quantity Ordered − Quantity Shipped − Allocated

Product Backordered = SUM of backordered across all unfulfilled order items

Key point: Only orders without an allocation hold are included in the Backordered count. Orders with an allocation hold are excluded because they are intentionally paused from allocation.

Example: If an order item needs 50 units, 10 have shipped, and 25 are allocated, the backordered amount for that item is 50 − 10 − 25 = 15.

On Order

What it is: The total quantity expected from open purchase orders that have not yet been received. This tells you how much inventory is "on the way" from your suppliers.

How it's calculated:

On Order = SUM of ordered quantity from purchase order items where:
  - The item has not been received (received = 0)
  - The purchase order is not closed
  - The purchase order is not deleted

Key point: On Order is completely independent of order demand. It only reflects what you've ordered from suppliers. It does NOT reduce Backordered, and it does NOT increase Available or On Hand until the inventory is physically received.

Non-Sellable

What it is: The quantity of inventory stored in locations that are marked as not sellable. Common examples include quarantine areas, return processing areas, or staging locations.

How it's calculated:

Non-Sellable = SUM of quantity in locations where sellable = false AND is_tote = false

Key point: Non-Sellable inventory is still counted in On Hand but is subtracted when calculating Available. Moving inventory from a non-sellable location to a sellable location will increase Available without changing On Hand.

Damaged

What it is: Quantity of inventory that has been marked as damaged. Damaged inventory is still physically in your warehouse (counted in On Hand) but is excluded from Available.

How it's calculated:

Damaged = SUM of quantity where the inventory record is flagged as damaged

Expired

What it is: Quantity of inventory associated with lot numbers that have passed their expiry date. Like Damaged and Non-Sellable, this inventory is included in On Hand but excluded from Available.

How it's calculated:

Expired = SUM of quantity in inventory locations linked to lots where expiry_date < today

Reserved

What it is: A quantity you've configured to hold back from allocation. This is useful for keeping safety stock, holding inventory for walk-in customers, or any other reason you don't want all available inventory allocated to orders.

How it's calculated:

Reserved = MIN(Reserve Amount setting on product, On Hand)

If your Reserve Amount is set to 20 but you only have 10 On Hand, Reserved will be 10 (it can never exceed what you actually have). Reserved inventory is subtracted from Available.

Sell Ahead

What it is: A quantity from purchase orders that you've opted to make available for sale before the inventory is physically received. This is useful when you have confirmed purchase orders and want to start taking orders against incoming stock.

How it's calculated:

Sell Ahead = SUM of sell_ahead quantity from unreceived purchase order items on open purchase orders

Where Sell Ahead applies: Sell Ahead is factored into the inventory count sent to your marketplace integrations (Shopify, Amazon, etc.), not into the Available number shown on the Products page. When writing inventory to marketplaces:

Marketplace Available = Available + Sell Ahead − Backordered − Marketplace Buffer − Per-Store Buffer

Pickable

What it is: The quantity in locations that are marked as pickable. This tells you how much inventory is in locations where your pickers can access it during fulfillment.

Note: Pickable is shown on the Product Inventory tab but not on the main Product Info card.

The Master Formula

Here's how all the numbers relate to each other:

On Hand  =  Available + Allocated + Reserved + Unavailable (Damaged + Expired + Non-Sellable + Totes)

Available  =  On Hand − Allocated − Reserved − Unavailable

Backordered  =  Total Needed by Orders − Total Shipped − Total Allocated
                (only for orders without allocation hold)

On Order  =  Independent — quantity on open, unreceived purchase orders

Critical relationship: On Hand ≥ Available + Allocated + Reserved + Damaged + Expired + Non-Sellable

Worked Examples

Example 1: Basic Inventory Breakdown

A product has:

  • 200 units across sellable warehouse locations
  • 30 units in a "Returns" location (non-sellable)
  • 10 units marked as damaged

Orders require 80 units total, and all 80 have been allocated.

FieldValueExplanation
On Hand240200 + 30 + 10 = all physical inventory
Damaged10Marked as damaged
Non-Sellable30In the Returns location
Unavailable4010 damaged + 30 non-sellable
Allocated80Reserved for open orders
Reserved0No reserve amount configured
Available120240 − 0 − 80 − 40 = 120
Backordered0All order demand is allocated
On Order0No open purchase orders

Example 2: Understanding Backordered (The Common Confusion)

This is the scenario that causes the most confusion. Let's walk through it carefully.

A product has:

  • 195 units On Hand
  • 180 units are in a non-sellable location
  • 0 damaged, 0 expired, 0 reserved

There are 500 units across unfulfilled orders (this is the total quantity needed, not 500 orders — it could be 13 orders averaging ~38 units each).

FieldValueExplanation
On Hand195Total physical inventory
Non-Sellable180In non-sellable locations
Unavailable180Non-sellable
Sellable On Hand15195 − 180 = only 15 units in sellable locations
Allocated15All 15 sellable units allocated to highest-priority orders
Available0195 − 0 − 15 − 180 = 0
Backordered485500 needed − 0 shipped − 15 allocated = 485
On Order0No purchase orders

Why this is confusing: You might think "I have 195 On Hand and 500 On Order, so I should have 305 Backorder." But that's not how it works:

  1. 180 of those 195 are Non-Sellable — they can't be allocated to orders
  2. Only 15 units are actually in sellable locations, so only 15 get allocated
  3. Backordered = 500 − 0 − 15 = 485 (not 500 − 195 = 305)
  4. On Order is separate — it reflects incoming purchase orders, not order demand. In this example it's 0, but even if it were 500, it wouldn't change Backordered until the inventory is received.

What this customer should do:

  • Move inventory from the non-sellable location to a sellable location (this will increase Available and reduce Backordered as allocation runs)
  • Or receive inventory from a purchase order into a sellable location

Example 3: On Order vs. Backordered (They're Independent)

A product has:

  • 50 units On Hand (all in sellable locations)
  • 0 damaged, 0 expired, 0 reserved, 0 non-sellable

There are unfulfilled orders totaling 200 units. There's also an open purchase order for 300 units.

FieldValueExplanation
On Hand50All sellable
Allocated50All 50 units allocated to orders
Available050 − 50 = 0
Backordered150200 needed − 0 shipped − 50 allocated = 150
On Order300Purchase order for 300 units (not yet received)

Key insight: You might expect Backordered to be 0 because On Order (300) exceeds the shortfall (150). But On Order does not reduce Backordered. They are independent metrics:

  • Backordered answers: "How many units do current orders need that we can't fulfill right now?"
  • On Order answers: "How many units are we expecting from suppliers?"

Once the purchase order is received and inventory is added to sellable locations, allocation will run automatically, Allocated will increase, and Backordered will decrease.

Example 4: Reserved Inventory

A product has:

  • 100 units On Hand (all sellable)
  • Reserve Amount set to 20
  • Unfulfilled orders totaling 90 units
FieldValueExplanation
On Hand100All sellable
Reserved20min(20 reserve setting, 100 on hand) = 20
Allocatable80100 − 20 reserved = 80 available for allocation
Allocated8080 of the 90 needed can be allocated
Available0100 − 20 − 80 − 0 = 0
Backordered1090 − 0 − 80 = 10 still needed

Without the reserve, all 90 units would have been allocated and Backordered would be 0. The reserve holds back 20 units so they're never allocated, leaving 10 units backordered.

Example 5: Allocation Priority in Action

You have 30 units Available and three orders:

OrderPriorityRequired Ship DateQuantityResult
Order A10 (high)Feb 2015 unitsAllocated: 15
Order B5 (normal)Feb 1810 unitsAllocated: 10
Order C5 (normal)Feb 2520 unitsAllocated: 5, Backordered: 15

Allocation order:

  1. Order A first — highest priority (10 > 5). Gets all 15 units. Remaining: 15.
  2. Order B next — same priority as C, but earlier required ship date (Feb 18 < Feb 25). Gets all 10 units. Remaining: 5.
  3. Order C last — gets the remaining 5 of the 20 needed. 15 units backordered.

Example 6: Sell Ahead and Marketplace Inventory

A product has:

  • Available: 50
  • Sell Ahead: 30 (from an incoming purchase order)
  • Backordered: 10
  • Marketplace Buffer: 5
  • Per-Store Buffer: 10

What shows in Warehance (Products page):

  • Available: 50

What gets sent to your marketplace (e.g., Shopify):

Marketplace Available = 50 + 30 (sell ahead) − 10 (backordered) − 5 (marketplace buffer) − 10 (store buffer) = 55

The marketplace sees a higher number because Sell Ahead is factored in. Buffers then reduce it to prevent overselling.

Example 7: Bundle Products

Bundle inventory is calculated from the component products, not tracked directly.

A "Starter Kit" bundle contains:

  • 2x Widget A (Available: 100)
  • 1x Widget B (Available: 30)
  • 3x Widget C (Available: 90)
ComponentAvailableQuantity in BundleBundles Possible
Widget A1002100 ÷ 2 = 50
Widget B30130 ÷ 1 = 30
Widget C90390 ÷ 3 = 30

Bundle Available = 30 (limited by Widget B and Widget C — the minimum across all components).

The same logic applies to On Hand for bundles: min(component On Hand ÷ bundle quantity) across all components.

Example 8: Allocation Holds

An order has an Allocation Hold applied (either at the order level or product level). This prevents Warehance from allocating inventory to it.

Product has 100 units Available. Two orders:

OrderQuantityAllocation Hold?AllocatedBackordered
Order A30No300
Order B40Yes (order hold)00 (excluded from backorder count)
  • Order B gets 0 Allocated because of the hold
  • Order B also shows 0 Backordered because orders with allocation holds are excluded from the Backordered calculation entirely
  • Available = 100 − 30 = 70 (Order B's demand doesn't affect Available)

If the hold is at the product level instead (the product has allocation hold enabled):

  • Order B still gets 0 Allocated
  • But Backordered IS calculated: 40 − 0 − 0 = 40 (so you can see the pending demand)

Common Questions

"On Order is 500 but Backordered is much higher than expected"

On Order and Backordered are independent numbers. On Order shows what's coming from suppliers. Backordered shows what current orders need but can't get. The purchase order inventory does not reduce Backordered until it's physically received into a sellable location.

"I have plenty On Hand but low Available — why?"

Check your Non-Sellable, Damaged, and Expired numbers. Inventory in non-sellable locations, marked as damaged, or with expired lots is included in On Hand but excluded from Available. Also check if you have a Reserve Amount set on the product.

"Allocated is lower than I expect"

Possible reasons:

  • Some inventory is in non-sellable locations and can't be allocated
  • Some inventory is damaged or expired
  • A reserve amount is holding back inventory
  • The product or certain orders have an allocation hold
  • Inventory is action-locked (currently being picked in an active session)

"Backordered doesn't equal On Hand minus what orders need"

Backordered is calculated per order item as Quantity − Quantity Shipped − Allocated. It doesn't look at On Hand at all. It's purely about the gap between what orders need and what has been allocated to them. Non-sellable, damaged, and expired inventory can't be allocated, so they create a larger gap.

"My marketplace shows a different inventory number than the Products page"

Marketplace inventory includes adjustments not shown on the Products page:

Marketplace = Available + Sell Ahead − Backordered − Marketplace Buffer − Per-Store Buffer

This can be higher (due to Sell Ahead) or lower (due to buffers) than the Available shown in Warehance.

"Numbers changed without me doing anything"

Inventory numbers are recalculated automatically when:

  • Orders are created, updated, or cancelled
  • Inventory is received from purchase orders
  • Inventory adjustments are made
  • Lot expiry dates pass (Expired increases, Available decreases)
  • Allocation runs (typically triggered automatically after changes, or via scheduled jobs)

Where to See Inventory Numbers

  • Products page → Product list: Shows Available, Non-Sellable, On Hand, On Order, Sell Ahead, Allocated, Backorder, Reserved columns
  • Product Details → Info card: Shows On Hand, Allocated, Available, On Order, Reserved, Non-Sellable, Sell Ahead, Expired (if > 0), and Backorder
  • Product Details → Inventory tab: Shows all the above plus Pickable, and a detailed table of inventory by location (with quantity, location type, sellable/pickable status, lot info, and damage status)
  • Inventory Locations page: Browse all inventory across products and locations
  • Reports → Inventory Values: On Hand quantities with dollar values

Still need help?

Can't find what you're looking for? Our support team is happy to help.

Contact Support