---
title: Move stock between locations
summary: >
  Moving stock between two of your own sites is a shipment, not an edit.
  You create a transfer, list the products and quantities, pack it, then
  dispatch it. The units stay on the sending site's books, reserved,
  until someone at the receiving end confirms what arrived. Only that
  confirmation moves the stock, so nothing is ever in two places at once.
type: task
group: store
step: 3
permission: transfers.create
prerequisites: []
related:
  - /help/store/confirm-a-transfer-in
  - /help/store/what-each-location-type-can-do
  - /help/store/the-stock-ledger
last_updated: 2026-08-07
---

**A transfer is a parcel with a tracking number, not a number you retype in two places.**

Stock does not teleport. Between the moment a box leaves one site and the
moment someone opens it at another, the units are real, they are yours, and
they are in neither place. A transfer is how Mossery holds that in-between state
honestly instead of pretending the move was instant.

This page covers:

- [What a transfer is for](#what-a-transfer-is-for)
- [Create the transfer](#create-the-transfer)
- [Pack it, then dispatch it](#pack-it-then-dispatch-it)
- [What each step does to your numbers](#what-each-step-does-to-your-numbers)
- [Cancelling a transfer](#cancelling-a-transfer)

## What a transfer is for

A transfer moves units between two locations you control.

Use it to top up a retail counter from your main warehouse, to send stock out
to an event and bring the remainder home, to place goods with a partner shop,
or to send raw material to a production partner. Every one of those is the same
mechanic: a source, a destination, a list of products, and a confirmation at
the far end.

It is worth knowing which way the stock is going, because destinations behave
differently once the units land. A warehouse or a retail counter can sell what
it holds. Stock parked at a partner shop or an event location is tracked but
never offered to your online store. Moving units there is deliberate, and it
will reduce what your storefront can sell.

## Create the transfer

Open **Inventory → Transfers** and choose **New transfer**.

1. Set **From** and **To**. They must be two different locations.
2. Pick a **Type** — Replenishment, Return, Event, Consignee or Adjustment. This is a label for later reporting; it does not change what happens to the stock.
3. Add a note if the reason will not be obvious in a month. "Weekly top-up" is enough.
4. Add your lines. Search by product code or name, or use the suggestions panel, which lists products the destination has run out of but the source still holds — that is usually the whole reason you are here.
5. Enter a quantity per line. Quantities must be whole numbers above zero.

Two rules the form will hold you to. A product has to be active to be
transferred. And if you send the transfer straight to packed, every line is
checked against what is genuinely free at the source — units already reserved
for another transfer or order do not count as available.

Then either **Save draft**, if you are building the list over a day, or
**Create & mark packed**, if the boxes are being filled right now.

## Pack it, then dispatch it

A transfer moves through four states, and each one means something physical.

1. **Draft.** A list on a screen. Nothing is reserved, nothing has moved. Edit it freely.
2. **Packed.** The boxes are filled. The units are reserved at the source, so nobody else can promise them.
3. **In transit.** The boxes have left. This is where a transfer sits for as long as the journey takes.
4. **Received.** Someone at the destination has opened the boxes and confirmed the contents.

On the transfer's page, **Mark as packed** moves it from draft to packed, and
**Mark as dispatched** moves it from packed to in transit. There is a printable
version of the transfer — send it with the boxes so the person unpacking has
the reference and the expected quantities on paper.

The last step is not yours. Whoever is standing where the boxes land confirms
what arrived, on a phone or at a desk, and what they type is what gets received.

## What each step does to your numbers

Only the last row moves stock.

| Step | On hand at source | Reserved at source | On hand at destination |
| --- | --- | --- | --- |
| Draft created | Unchanged | Unchanged | Unchanged |
| Marked packed | Unchanged | Goes up | Unchanged |
| Dispatched | Unchanged | Unchanged | Unchanged |
| Confirmed at destination | Goes down | Released | Goes up |

This surprises people, so it is worth saying plainly: **while a transfer is in
transit, the units still count as on hand at the source.** They are reserved,
so they are not available to sell, but they have not left the books. That is
deliberate. Units that had left one site and not yet arrived at the other would
belong nowhere, and a number that belongs nowhere is a number nobody can audit.

At confirmation, two permanent ledger entries are written at once: one removing
what was sent from the source, one adding what arrived at the destination. If
those two numbers differ, the gap is recorded as a discrepancy rather than
absorbed.

## Cancelling a transfer

You can cancel a draft or a packed transfer. You cannot cancel one that has
been dispatched.

Cancelling a draft does nothing but close it. Cancelling a packed transfer also
releases the reservation, putting the units back into what the source can sell.

Once it is in transit, the boxes are somewhere in the world, and the app will
not let you pretend otherwise. If a dispatched transfer was a mistake, or if it
never arrives, the way out is to receive it with the quantities that actually
turned up — zero, if nothing did — and then resolve the resulting discrepancy
as a write-off or a return. That leaves a readable trail. A cancellation would
not.

## Explore

**The other half of this job.** What the person at the receiving end does, and
why their confirmation is the step that moves the stock.
[Learn more →](/help/store/confirm-a-transfer-in)

**What each location type can do.** Which destinations can sell what they hold,
and which only hold it.
[Learn more →](/help/store/what-each-location-type-can-do)

**The stock ledger.** Why a transfer writes two entries at one moment instead
of editing two numbers.
[Learn more →](/help/store/the-stock-ledger)
