> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stockful.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Inventory

> Search and filter every variant across all tracked locations by product name, SKU or barcode, and narrow the list down to exactly what you need.

## Inventory list

<Frame>
  <img src="https://mintcdn.com/ljsstudios/h23UgSNwKd6TLSfh/images/user-guide/inventory--index.png?fit=max&auto=format&n=h23UgSNwKd6TLSfh&q=85&s=ec885c52fd4e2bb066b2b4fec69af870" alt="The inventory list with search and filters" width="2562" height="2357" data-path="images/user-guide/inventory--index.png" />
</Frame>

The **Inventory** page shows every variant across all tracked locations. Search by product name, SKU, or barcode, and use filters to narrow the list.

Across the top: what your stock is worth, how many SKUs are low, out of stock or overstocked, and what stockouts have cost you in lost revenue. Click **Low stock**, **Out of stock** or **Overstocked** to filter the list to those SKUs.

### Columns

Every row says whether the SKU is in trouble, not just what is on the shelf:

* **Product** - title, variant and image
* **SKU** - the variant's SKU
* **Status** - in stock, low stock, out of stock or overstocked
* **Committed** - units allocated to orders that have not shipped yet
* **Available** - units sellable right now
* **On hand** - everything physically at the location, including committed, reserved, damaged, safety stock and quality control units
* **Incoming** - units on their way from a transfer or shipment in transit
* **Velocity** - units sold per day
* **Days of Supply** - how long the stock lasts at that rate, highlighted when the SKU is low or out of stock
* **Runs out** - the date the stock is projected to hit zero
* **Order by** - the date to place an order so it arrives before that, taking the SKU's lead time off the runs-out date
* **Days OOS** - days spent out of stock in the last 30
* **Sold 30d** - units sold in the last 30 days
* **Last sold** - the date it last moved
* **Inventory Value** - what is on the shelf, at cost and at retail

Sort by any of them. **Runs out** and **Order by** are the two to sort by when you are deciding what to buy this week.

Ten of them are shown to begin with. Committed, On hand, Order by, Days OOS and Last sold start hidden - use the columns button on the right of the search bar to bring them in, hide the ones you do not need, or reorder them. Your choice is remembered on this device.

<Note>
  **Runs out** and **Order by** are blank for a SKU with no recent sales - there is no demand to project from, which is a different thing from running out today. **Order by** also needs a lead time, set per SKU or per supplier.
</Note>

### Ordering from the list

Tick the SKUs you want to buy and choose **Create purchase order**. Stockful groups them by supplier, prices the lines from the supplier's cost, and opens the drafts for you to check before sending.

A SKU that is below its reorder point arrives with a suggested quantity. One that is not comes in at a single unit, for you to set on the order.

Anything without a primary supplier cannot go on an order, so it is listed separately and skipped. Assign a supplier there and then, and it joins the rest.

### Views

Save any combination of search, filters and sorting as a view, and it appears in the selector on the left of the search bar. Useful for the checks you repeat: everything low at one warehouse, or every SKU from one supplier.

### Filtering

Filters help you find exactly what you need:

* **Location** - focus on a single warehouse or store
* **Stock status** - low stock, out of stock, in stock, overstocked
* **Product type, vendor, tags** - filter by product attributes

You can also filter by **category, collection, sales channels & catalogs, bundles**, and your own **metafields** - see [Product filters](/user-guide/product-filters) for the full list.

Combine multiple filters to build precise views - for example, "low stock items from Vendor X at the Main Warehouse."

<Tip>
  Filters persist while you navigate. If you're not seeing the data you expect, check whether a filter is still active.
</Tip>

## Inventory detail

<Frame>
  <img src="https://mintcdn.com/ljsstudios/mC9llsAgcSEzYqwl/images/user-guide/inventory--detail.png?fit=max&auto=format&n=mC9llsAgcSEzYqwl&q=85&s=eb8b6df7a69a9aa31b03a9139abcbfa6" alt="An inventory detail page showing stock, forecast, movement history and how the SKU compares" width="1968" height="3103" data-path="images/user-guide/inventory--detail.png" />
</Frame>

Click any row to open the detail page for that variant at that location.

### Stock

Every quantity Shopify holds for this variant at this location, with the total in the middle of the ring:

* **Available** - sellable right now
* **Committed** - allocated to orders that have not shipped
* **Reserved, damaged, safety stock, quality control** - Shopify's other on-hand states
* **Incoming** - on its way, shown alongside the rest

Available and committed always appear. The other states only hold units in some businesses, so the settings cog lets you hide the empty ones, switch the ring to **value at cost**, or leave incoming stock out of the total.

### Forecast

A projection of this SKU's stock, with your reorder point marked and a shaded band showing the expected range given how much demand varies. The sentence above it states the conclusion: when it runs out, or how many units to order and by when.

The cog controls how much history and projection to show, whether to draw it as a line or an area, and whether to show the band.

### Movement history

What actually happened to this SKU here: units sold, deliveries received against a purchase order, and stock adjustments, each with the running balance. This is the record the forecast is calculated from.

Sales are recorded per day rather than per order. Receipts and adjustments name the document behind them.

### How this SKU compares

Where this variant sits against the rest of your catalogue - its rank by units sold and by revenue, its sell-through against the average for SKUs that sell, and its share of your total stock value.

### Reference

Down the side: what this SKU is called elsewhere, what it costs and sells for, and who supplies it.

Two costs are shown rather than one, because they are different numbers:

* **Cost per item** - what you have set in Shopify. Always matches what Shopify admin shows.
* **Average landed cost** - what your receipts say the units actually cost, including freight, duty and any other charges you recorded on the purchase order. Only appears once you have received stock against a purchase order.

Margin is measured against landed cost where there is one, since that is what the units cost you, and the row says which of the two it used.

### Inventory by location

Only shown when this SKU is stocked in more than one place. Click any location to open the same SKU there.

### Actions

* **Adjust stock** starts a new [adjustment](/user-guide/adjustments) with the item and location already filled in
* **Edit details** opens SKU, barcode, HS code and cost per item for editing

Under **More actions**:

* **Add to purchase order** puts this SKU on a new or existing draft
* **Transfer stock** sends units to another of your locations. Hidden if you only track one.
* **Snooze alerts** stops this SKU being mentioned in alerts for a set number of days, with an optional reason. It applies to the whole SKU rather than one location, so a SKU you have silenced stays quiet wherever it is stocked. Once snoozed, the same menu offers **Resume alerts**, and so does the banner at the top of the page.
* **Forecast overrides** sets this SKU's lead time, safety stock and other forecasting inputs
* **View in admin** opens the product in Shopify

### Editing SKU, barcode, HS code and cost

**Edit details** writes straight to Shopify, so what you change here is what Shopify shows.

* **SKU** and **barcode** must be unique across your catalogue. Shopify rejects a duplicate and the message appears on the field.
* **HS code** is 6 to 13 digits, used for customs declarations on international orders.
* **Cost per item** is Shopify's cost. It does not change your average landed cost, which is calculated from receipts.

Everything else about the product - its title, options, price and images - is edited in Shopify admin, which **View in admin** opens.

## Bundles

A fixed bundle holds no stock of its own - Shopify works out how many are sellable from the components inside it, and Stockful reads every bundle sale as demand for those components, so the parts get real sales rates and reorder advice.

To see what's inside a bundle without leaving the Shopify admin, add the **Stockful: Bundle components** block to the product page - it lists each component product and clicks through to it. See [Shopify admin](/user-guide/shopify-admin#bundle-components-block) for the block and how to add it.

## Incoming stock

When you have units on their way to a location - from a [Shopify inventory transfer](https://help.shopify.com/en/manual/products/inventory/inventory-transfers) or shipment marked in transit - Stockful tracks them as **incoming**.

Incoming stock is netted into your [reorder recommendations](/user-guide/purchasing/reorder-recommendations), [transfer suggestions](/user-guide/purchasing/transfer-suggestions), and the dashboard, so Stockful won't tell you to reorder or transfer stock that's already on its way. It deliberately does **not** change a variant's stock status or days of supply - those reflect what's physically on hand today. Incoming clears automatically as shipments are received.

## Raw materials

If you make what you sell rather than buying it finished, the things you consume - flour, wax, fabric, packaging - are not Shopify products and do not appear in the inventory list. Stockful holds them as their own catalogue, with recipes tying them to what you sell and batches turning one into the other.

See [Raw materials](/user-guide/raw-materials/index) for the catalogue, bills of materials, batches and reordering.
