---
key: move-stock-between-locations
title: Move stock between locations
audience: staff
section: inventory
routes: ["/inventory/transfers"]
permissions: ["inventory.transfers.create"]
features: ["inventory.transfers"]
since: 0.0.1
updated: 0.0.1
status: published
summary: Create a transfer that moves parts and serial-numbered units from one location to another, such as warehouse to truck, then mark it complete when it arrives.
keywords: [transfer stock, load the truck, restock van, warehouse to truck, branch transfer, move parts, replenish, in transit]
related: [add-a-storage-location, record-a-stock-movement, add-serial-numbered-stock, count-stock]
---

In the sidebar, open **Inventory**, then **Move Stock**. The page address is `/inventory/transfers`. The page heading reads **Inventory Transfers**.

## Before you start

- Both places have to exist as storage locations. See [[add-a-storage-location]].
- A transfer moves stock in two steps: you create it, then complete it with **Complete** from the row's menu. Stock leaves the source only when the transfer is completed.
- The source has to hold enough stock of every item on the list, or completing is refused.
- Your role needs permission to create transfers. Otherwise **Add transfer** is missing.

## Steps

1. Press **Add transfer**. A drawer opens.
2. Under **Source location**, search and pick where the stock is now. Under **Destination location**, pick where it is going. They must be different.
3. Leave **Status** on **Draft** while you build the list, or set **In transit** if it is already on the road. Do not choose **Completed** here: that only changes the label and moves nothing.
4. Set **Requested at** if you want a date on it. Leave **Shipped at** and **Completed at** blank; Nova fills them in when you complete the transfer.
5. Type **Notes** if it helps, for example "Cross-branch replenishment for Monday installs".
6. Under **Transfer lines**, fill in the first line: pick the **Inventory item** and type **Quantity requested** (it starts at 1). For a serial-numbered unit, also pick it under **Serialized asset**; the quantity locks at 1. Leave **Quantity completed** blank and add **Line notes** if needed. Press **Add line** for each further part, and **Remove** on a line added by mistake.
7. Press **Create transfer**. Nova shows "Inventory transfer created."
8. When the parts arrive, open the row's menu and choose **Complete**. There is no second prompt. Nova shows "Inventory transfer completed."

## What you see

- The cards at the top count **Total transfers**, **Open transfers** and **Completed transfers**.
- The list shows the **Transfer** number (such as TRN-000001), **From**, **To**, **Status**, **Requested**, **Lines** and **Updated**. Search with **Search transfers**; **Filters** narrows by source, destination and status.
- Completing moves the full **Quantity requested** of every line: an **Issue** at the source ("Transfer out") and a **Receipt** at the destination ("Transfer in") appear on [[record-a-stock-movement|Movement History]], and serial-numbered units change location. To move less, edit the requested quantity before completing.
- Each row's menu offers **Edit**, **Complete** and **Cancel** while the transfer is open. Completed and cancelled transfers only offer **Edit**, and Nova refuses to save changes to a completed one.

## If something looks different

- The list reads "No inventory transfers yet. Create one to start moving stock between locations."
- Completing fails with "Insufficient stock for requested transaction": the source holds less than a line asks for. Record the missing stock or lower the quantity, then complete again.
- Completing fails with "Serialized asset must be at the transfer source location": the unit is recorded somewhere else. Pick the right source.
- **Complete** is missing from the menu: the transfer is already **Completed** or **Cancelled**, or your role cannot update transfers. **Cancel** acts straight away and moves nothing.
- Only one part moved and it is not worth a transfer: record two movements instead, an **Issue** at the source and a **Receipt** at the destination. See [[record-a-stock-movement]].

[[route:/inventory/transfers|Open Move stock]]
