# Keep stock right

> How stock is counted, reserved and moved between locations.

Source: https://docs.dashfordevs.com/v1/products/stock-and-locations · Topic: Products and stock · Updated: 2026-11-07

Stock is counted **per size**. When a customer checks out, the stock for each size they buy is **reserved** so two people cannot buy the last one at the same time. When the order is placed the reservation becomes a sale; if checkout is abandoned, the reservation is released.

## See and adjust stock

Open **Inventory → Stock**. You see every size with its quantity on hand. To correct a count (after a stocktake, a breakage, a delivery), change the number and give a reason. Every change is written to the **movement history**, so you can always see who changed what and why.

## Stock locations (optional)

If you keep stock in more than one place (a shop and a warehouse), turn on **Inventory → Stock Locations**:

-   each location has its own count for every size;
-   **transfers** move stock from one location to another, and both sides of the move are recorded;
-   your site can still show one total, or per-location availability.

```dfd-diagram
{
  "type": "flow",
  "title": "What happens to stock during a sale",
  "layout": "LR",
  "nodes": [
    { "id": "onhand", "label": "On hand: 10", "kind": "data" },
    { "id": "cart", "label": "Checkout started", "kind": "event" },
    { "id": "reserved", "label": "Reserved: 2", "kind": "data" },
    { "id": "placed", "label": "Order placed", "kind": "event" },
    { "id": "sold", "label": "On hand: 8", "kind": "data" },
    { "id": "released", "label": "Released back", "kind": "event" }
  ],
  "edges": [
    { "from": "onhand", "to": "cart" },
    { "from": "cart", "to": "reserved", "label": "hold 2" },
    { "from": "reserved", "to": "placed", "label": "paid" },
    { "from": "placed", "to": "sold" },
    { "from": "reserved", "to": "released", "label": "abandoned", "style": "dashed" }
  ],
  "steps": [
    { "title": "Stock on hand", "focus": ["onhand"], "text": "Ten of this size are in stock." },
    { "title": "Checkout reserves", "focus": ["cart", "reserved"], "text": "A customer starts checkout for two. Those two are held, so nobody else can buy them meanwhile." },
    { "title": "The order is placed", "focus": ["placed", "sold"], "text": "Payment goes through. The reservation becomes a sale and eight remain." },
    { "title": "Or it is abandoned", "focus": ["reserved", "released"], "text": "If checkout is not finished, the two are released back automatically." }
  ]
}
```

## Restock notifications

When a size is out of stock, customers can ask to be told when it is back. See who is waiting under **Inventory → Restock Notifications**.

## Sold

**Inventory → Sold** shows what sold, when, in what quantity, which helps you reorder before you run out.
