Skip to main content
Branch transfers moves stock from this pharmacy to another pharmacy you own — “Move stock between your pharmacy branches.” The sending branch loses the stock on dispatch; the receiving branch gains it when someone there confirms it arrived.

A branch is not a location — read this first

This is the single thing that catches people out, because the product uses the word Transfer for two different moves. A branch is a whole separate pharmacy workspace under the same owner, with its own staff, its own till and its own stock. Adding a fridge or a back room is not a branch — that is a location, created on Inventory › Locations. If you run one pharmacy, this screen tells you so, and Transfer to branch is disabled. That is not a fault, and it is not fixed by adding a location. Everything you need is the Inventory toolbar’s Transfer — see Stock control.

What you’re looking at

The page is headed Branch transfers — “Move stock between your pharmacy branches.” — with Transfer to branch at the top right. Below it sit two cards, and nothing else: Each row carries a transfer number and a status badge. A dispatched transfer reads In transit — the plain-English name for stock that has left this branch and not yet been confirmed at the other. That is the only badge most branches ever see; once a transfer is received it drops out of Incoming transfers altogether. A brand-new workspace with one branch sees both cards empty and the button greyed out, with a single line underneath: “You have no other pharmacy branches to transfer to.” Transfer to branch opens a dialog with three fields — Destination branch (“Choose a branch…”), Add items (“Search medications…”) and Notes (optional) (“e.g. urgent restock”) — above a Dispatch button.

Dispatch a transfer

1

Open the dialog

Select Transfer to branch. The dialog states what is about to happen: “Stock is drawn from this branch now and lands when the receiving branch confirms receipt.”
2

Choose where it is going

Destination branch — “Choose a branch…”. Only branches under the same owner are listed.
3

Add the items

Under Add items, search — “Search medications…” — and add each product with the quantity you are sending. You cannot send more than this branch holds.
4

Say why, if it matters

Notes (optional) — “e.g. urgent restock” — is read by whoever receives it at the other end. Use it for anything they need to act on, such as a short-dated lot to sell first.
5

Dispatch

Select Dispatch. The button reads Dispatching… while it saves, then a toast confirms the transfer number and its state — for example “Transfer TRF-1042 dispatched — now in transit”.
Dispatching removes the stock from this branch immediately, and it stays In transit — on nobody’s sellable shelf — until the receiving branch confirms it. A transfer nobody receives is stock you cannot sell at either end. Tell the far branch it is coming.

Receive a transfer

1

Find the transfer

Open Transfers at the receiving branch and look under Incoming transfers. If there is nothing to collect the card reads “Nothing incoming.”
2

Check the goods against the lines

Match what is physically in the box against the lines on the transfer before confirming. Confirming is what puts the stock on your shelf in the system.
3

Receive it

Select Receive. The button reads Receiving…, then a toast confirms how many lines landed — for example “Received 4 line(s) into stock”.

Who can do this

Role decides whether Transfers opens at all. A Cashier / Till Operator reaches only POS and Sales, so this screen is not theirs at any tier. There is no permission gate on the move itself. A toggle named Transfer stock between branches was offered until August 2026 and nothing on the server ever checked it, so it was removed rather than left to imply a control that did not exist. Dispatch and receipt are authorised by role and clinic membership alone. The only thing that disables Transfer to branch is having no second branch to send to. Two role bundles are deliberately outside that vocabulary. A Dispensing Supervisor holds the till authorisations — refunds, price overrides, the controlled-drug countersignature — and none of the stock ones. A Cashier / Till Operator holds none at all. What keeps a cashier off this screen is their role, not a permission. Access tier used to be the other half of the picture — All branches carried the cross-branch move by default and Whole branch did not. That distinction was intent rather than enforcement, and the toggles expressing it were removed in August 2026. Which branches someone can move stock between is decided by their access tier and their role, not by a switch. Where cost is denied, the figure reads “Hidden — needs authorisation from your clinic owner.” rather than a zero, so nobody reads a hidden value as a free transfer. Two behaviours surprise people:
  • Enforcement is opt-in, per person. A colleague never saved in the permissions sheet is unrestricted, and the sheet warns “Saving starts enforcing”.
  • A denied action is recorded; an allowed one is not. Hiding Transfers from a sidebar is a convenience, not a security boundary.
See Staff permissions.

Check it worked

  • At the sending branch, the transfer appears under Sent transfers marked In transit, and the quantities have left the Stock tab. An empty card reads “No transfers sent yet.”
  • At the receiving branch, the lines appear on the Stock tab after receiving, with a movement on the Ledger tab.
  • Once received, the transfer no longer sits in Incoming transfers.

Common issues

This owner has only one pharmacy workspace, so Transfer to branch is disabled. A second location does not create a branch. Use the Inventory toolbar’s Transfer for room-to-room moves, or contact support about opening a second branch.
Nothing is selected in Destination branch. The dispatch is refused before any stock moves.
The transfer has no lines, or every line has a quantity of zero.
The transfer was refused as a whole and no stock left the shelf. The usual cause is a line whose quantity now exceeds what this branch holds — someone sold it while the dialog was open. Re-check the quantities and dispatch again.
It is still In transit. Somebody at the receiving branch has to select Receive. Until they do, it belongs to neither shelf — which is why a forgotten transfer looks like missing stock at both ends.
Have the receiving branch confirm it, then dispatch it onward from there. Do not adjust stock at either end to compensate — that leaves two false entries in the ledger instead of one honest pair of transfers.
The search reads this branch’s catalogue and stock. A product held only at the other branch is not sendable from here.

FAQ

Nobody, in stock terms. It has left the sending branch’s shelf and has not reached the receiving branch’s, so it counts as sellable at neither. That is deliberate — the alternative is stock that appears twice — but it does mean a transfer left unreceived quietly reduces what the business can sell.
Not from this screen. Have the receiving branch Receive it, then dispatch it straight back. Two honest transfers are easier to explain at a stock count than a pair of manual adjustments.
Receive confirms the transfer as it was sent, and the toast reports how many lines landed. Where the box and the lines genuinely disagree, receive it and then correct the difference with a stock adjustment at the receiving branch, so the shortfall is recorded where it was found.
Yes — the lines carry the lot number and expiry date with them, so a short-dated pack arrives short-dated rather than resetting. Say so in Notes (optional) if it needs selling first.
No. That is the Transfer button on the Inventory toolbar, which moves stock between locations inside this branch and takes effect immediately with nobody to confirm it. Same word, different screen — see the table at the top of this page.