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

# Manage stock

> Track stock levels across your catalog and per product, spot low stock, and reveal a key when you need it.

Once keys are loaded, the Inventory area is where you keep an eye on stock. You can see totals across your whole catalog, drill into one product, reveal a key when needed, and rely on automatic duplicate handling to keep the numbers clean.

## Your stock at a glance

Open **Inventory** from the sidebar for a store-wide view. At the top you get summary figures for your catalog, including total keys, inventory value, sell-through, and how many products need restocking. Below that, a table lists each product with its available, reserved, sold, and total counts, plus a stock health status.

<Tip>
  Use the tabs and search to focus the list. You can filter to **In stock**, **Low stock**, or **Out of stock**, search by product, and filter by category. Export the current view to CSV whenever you need it elsewhere.
</Tip>

## Spot low stock

Stock health is shown for every product so problems stand out:

<CardGroup cols={3}>
  <Card title="In stock" icon="boxes-stacked">
    Healthy stock, shown in green.
  </Card>

  <Card title="Low stock" icon="triangle-exclamation">
    Running down and worth restocking soon, shown in amber.
  </Card>

  <Card title="Out of stock" icon="ban">
    Nothing left to sell, shown in red.
  </Card>
</CardGroup>

The **Low stock** and **Out of stock** tabs let you jump straight to the products that need attention, and the **Add** action on a row takes you to that product's upload screen. To restock from a vendor instead, see [Raise a purchase order](/guides/vendors-procurement/raise-a-purchase-order).

## Open a product's inventory

Select a product from the Inventory list to open its own key list. Here every key is a row with its reference ID, a masked value, a status, and the order or purchase order it is tied to. You can:

* Filter by status with the **All**, **Available**, **Reserved**, **Sold**, and **Invalid** tabs.
* Search and filter by purchase order or date added.
* Change a key's status, add notes, or view its activity from the row menu.
* Select several keys with **Bulk actions** to change their status or delete them together.
* Export the list to CSV or TXT.

For everything the row menu offers, see [Key details](/guides/products-inventory/key-details).

<Note>
  Statuses tell you where each key stands. **Available** keys are ready to sell, **Reserved** keys are held for an order, **Sold** keys have gone to a customer, and **Invalid** keys are set aside. Moving a key off **Sold** asks you to confirm first, since that key has already been delivered.
</Note>

## Reveal a key when needed

Keys stay masked in the list. To see a full value, select the masked key or choose **Copy key** from the row menu (the label follows the product type, for example **Copy code**). TokenSupply fetches the real value only at that moment, shows it in a dialog, and lets you copy it. Revealing needs **Manage** access to Inventory, and each reveal is logged, so there is a record of who viewed a key and when.

## How duplicates are handled

You never have to clean up duplicate keys by hand. When keys are loaded, any that repeat within the batch or that already exist in stock are skipped automatically, so a key is never stored twice. This is why an upload of, say, a list with a few repeats adds fewer items than lines sent, and the upload result tells you exactly how many duplicates were skipped. See [Load inventory](/guides/products-inventory/load-inventory) for the loading flow.
