# How to correct a stock count or record waste, damage and returns

> Use Stock → Record movement with the right type. Adjustment in and Adjustment out fix counts; Waste, Damaged and Expired record stock you threw away; Return records goods a customer brought back. Every movement stays in the ledger with its note.

_Category: Daily use · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/stock-adjustments-and-waste_

The Stock page is an append-only ledger: nothing is edited or removed, you add a movement that explains what happened. That is what makes the history trustworthy. An entry made by mistake is undone with **Reverse** on its row, which adds the opposite entry rather than deleting anything. See [How to fix a mistake](https://jogan.cloud/help/fix-a-mistake).

## The movement types

| Type | Direction | Use it when |
| --- | --- | --- |
| **Opening** | in | Setting the starting balance of a new item. |
| **Purchase** | in | A delivery arrived. Enter the unit cost. |
| **Return** | in | A customer brought goods back into sellable stock. |
| **Adjustment in** | in | A count found more than the system shows. |
| **Adjustment out** | out | A count found less than the system shows. |
| **Waste** | out | Spillage, trimmings, over-production you discarded. |
| **Damaged** | out | Broken, spoiled in transit, unsellable. |
| **Expired** | out | Past its date. Usually recorded for you by a batch write-off. |

Sales and production movements (`Sale`, `Used in production`, `Production`) are created by those modules and appear in the same ledger.

## Steps

1. Open **Stock** and click **Record movement**.
2. Choose the type, the item and the quantity.
3. For stock-ins, enter the **Unit cost** (blank keeps the current average). For expiry-tracked items, enter the expiry date and batch number.
4. Write a short **note**: "count 5 kg short", "dropped tray", "customer return INV-260905-0003".
5. Save.

## Costing

Stock-outs of every kind leave at the item's current average cost; they never change the average. Stock-ins at a price re-weight it. See [How Jogan works out cost](https://jogan.cloud/help/how-costing-works).

## Expiry-tracked items

Any stock-out, including waste and adjustments, is drawn from the oldest batch first. To dispose of a whole expired batch, use the write-off on the Batches page instead, which records the `Expired` movement for exactly what is left. See [How to write off expired stock](https://jogan.cloud/help/write-off-expired-stock).

## Who can do this

Admins and Members. Read-only accounts can view the ledger but not add to it.

## Reviewing the history

**Stock** lists every movement, newest first. **Reports → Stock movements** lets you filter by item and type over a date range and shows the running balance. See [How to read your reports](https://jogan.cloud/help/read-your-reports).
