Adjusting stock
Stock adjustments, the reason codes, and notes.
An adjustment changes a stock figure by hand — a delivery received, a recount, breakage. Every adjustment carries a reason, and the reason is not a free-text note: it is a code that feeds shrinkage reporting, so the same event is always booked the same way.
Who can do this: adjusting needs the inventory update permission; opening the stock page read-only needs only view.

| Reason | Direction | Counted as shrinkage? |
|---|---|---|
| Received | Adds | No |
| Return restock | Adds | No |
| Stock recount | Either | No |
| Correction | Either | No |
| Damaged | Removes | Yes |
| Theft or loss | Removes | Yes |
| Expired | Removes | Yes |
| Return to supplier | Removes | No — the supplier makes it good |
| Promotion or donation | Removes | No — given away on purpose |
| Other | Either | No — and a note is required |
Two rules the form enforces for you:
You will also see reasons in stock history that no picker offers — Sale, Quarantine, Cancelled order restock and the like. Those are written by the system when orders, returns and holds move stock; they cannot be entered by hand, and holding stock is done through the quarantine flow, not an adjustment.
Add inventory / stock intake is the receiving flow: pick the product, the reason, and — for a batch-tracked product — the batch it lands in (an existing one, or a new one with its cost and dates; see Batches & expiry). Serialized products take the serial numbers themselves, scanned or typed, each checked against stock already in the business.