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
- Create the transfer
- Pack it, then dispatch it
- What each step does to your numbers
- 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.
- Set From and To. They must be two different locations.
- 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.
- Add a note if the reason will not be obvious in a month. "Weekly top-up" is enough.
- 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.
- 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.
- Draft. A list on a screen. Nothing is reserved, nothing has moved. Edit it freely.
- Packed. The boxes are filled. The units are reserved at the source, so nobody else can promise them.
- In transit. The boxes have left. This is where a transfer sits for as long as the journey takes.
- 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 →
What each location type can do. Which destinations can sell what they hold, and which only hold it. Learn more →
The stock ledger. Why a transfer writes two entries at one moment instead of editing two numbers. Learn more →