---
key: record-a-stock-movement
title: Record a stock movement
audience: staff
section: inventory
routes: ["/inventory/transactions"]
permissions: ["inventory.transactions.create"]
features: ["inventory.transactions"]
since: 0.0.1
updated: 0.0.1
status: published
summary: Add stock you received, write off stock you used or lost, or correct a count, and review the running history of every stock change per item and location.
keywords: [receive stock, stock in, stock out, adjust stock, write off, used parts, stock history, ledger, inventory transaction]
related: [add-a-product-or-part, add-a-storage-location, move-stock-between-locations, count-stock]
---

In the sidebar, open **Inventory**, then **Movement History**. The page address is `/inventory/transactions`. The page heading reads **Inventory Transactions**.

## Before you start

- The item has to exist and be **Tracked**. See [[add-a-product-or-part]]. The item list also offers non-tracked items, but Nova refuses to record a movement for them.
- Use this page for a single change at one place: a delivery, parts used, a breakage. To move parts from the shop to a truck, use [[move-stock-between-locations]] instead. To fix a whole shelf after a physical count, use [[count-stock]].
- Your role needs permission to record transactions. Otherwise **Record transaction** is missing.

## Steps

1. Press **Record transaction**. A drawer opens.
2. Under **Inventory item**, search and pick the part.
3. **Type** starts at **Adjustment**, for a correction up or down. Otherwise choose what happened: **Receipt** for stock coming in, **Issue** for stock going out to a work order, **Sale** or **Return** for counter sales, **Reservation** or **Release** to hold or free stock.
4. Under **Quantity delta**, type the change: a positive number adds stock, a negative one removes it, for example `5` for five received or `-2` for two used. **Receipt**, **Return** and **Release** take a positive number; **Issue**, **Sale** and **Reservation** take a negative one.
5. Under **Location**, pick where the stock changed, or leave **No specific location**.
6. Type a **Note** saying why, such as the supplier invoice number or the work order.
7. Press **Record transaction**. The drawer closes and Nova shows "Inventory transaction recorded."

## What you see

- The list shows **When**, **Item**, **Type**, **Delta** and **After** (the stock level at that location once this change was applied), plus the **Note**. Newest is first. Search with **Search transactions**; **Filters** narrows by item, type and location.
- **Reservation** and **Release** rows leave **After** unchanged: they hold stock without taking it off the shelf.
- Movements made by counts and transfers appear here too, with a note naming the count or transfer.
- Each row's menu offers **Edit** to fix a mistake in the item, type, quantity, location or note. Nova then recalculates **After** for every later movement of that item.
- **Columns** lets you show or hide fields and reorder them.

## If something looks different

- The list reads "No inventory transactions found.": nothing has been recorded yet.
- The drawer says "Quantity delta must be a non-zero number.": type a number other than 0.
- Nova refuses with "Insufficient stock for requested transaction": an **Issue** or **Sale** would take the count below zero at that location. Record the missing **Receipt** first, or check the location.
- Nova refuses with a message that the type "requires a positive" or "negative" quantity: flip the sign, or use **Adjustment**.
- Nova refuses with "Stock transactions are only supported for tracked items": the item is **Non-tracked**. Change its **Tracking mode** first if you want to count it.
- You received a whole purchase order: receiving it from the order records these movements for you. See [[send-a-purchase-order-and-receive-items]].

[[route:/inventory/transactions|Open Stock movement history]]
