Skip to main content

Branch Stock Transfers

A stock transfer moves goods from one branch to another branch of the same shop, for example from the central warehouse to an outlet. Stock goes down at the source branch when the goods are sent, and up at the destination branch when they're received. Every movement is recorded in the stock history.

Open it from Inventory → Stock transfers in the web Dashboard or the Dashboard mobile app. The menu only appears when your shop has at least two active branches.

New feature

Stock transfers launch with this release. The page may look slightly different from the description below, but it works the same way.

Who can use it​

  • Branches: the shop needs at least two active branches. The source and destination must be different and both active.
  • Plan: creating, editing, and sending transfers is available from the Growth plan (the plans that can have more than one branch). See Billing & Plans. If your plan drops, transfers already on the road can still be received or canceled.
  • Roles:
Owners and AdminsCashiers
View transfersAll transfersOnly transfers sent to their branch
Create, edit, send, cancelYesNo
Receive goodsYesYes, only into their own branch

Cashiers may receive because the cashier on shift is usually the one who opens the delivery at the outlet. Receiving only adds stock to the cashier's own branch. Cashiers don't see the value of the goods (cost price).

Which items can move​

  • Manual stock: only items whose stock is kept per branch can move. An item with global stock has one number for the whole shop, so moving it between branches changes nothing. Such items are greyed out in the item picker. Switch the product's stock to per branch on the Product form first. For a product with variants, the variant's stock setting decides.
  • Unit stock: every item can move. The units themselves move, oldest at the source branch first.
  • Booking, Rental, and Digital shops without unit stock don't use stock transfers.

Transfer statuses​

StatusMeaningStock
DraftThe transfer is being prepared and can be changedNothing has moved
In transitThe goods have been sentLeft the source branch, not sellable at any branch
ReceivedEverything arrivedAt the destination branch
Partially receivedReceived with a shortfallWhat arrived is at the destination. The shortfall is recorded as lost
CanceledCanceled from Draft or from In transitIf it was already sent, stock goes back to the source branch

Every transfer gets an automatic number such as TRF-2026-0007.

1. Create a transfer​

Tap New transfer, then choose:

  • the source branch and destination branch;
  • a note, for example "Weekend restock";
  • the items: search by name or SKU, or scan a barcode. Each item shows its stock at the source and at the destination. Enter the quantity, and a note per item if needed. A transfer holds at most 200 items.

Save it as a draft. A draft doesn't move any stock, and the source stock isn't checked yet. On a draft, each line shows the source branch's current stock and turns red when it's below the quantity to send.

2. Send​

When the goods actually leave, tap Send. In one step:

  • each item's stock goes down at the source branch;
  • the status becomes In transit.

Etalasse checks the source stock again when sending. If any item is short, nothing is sent, and Etalasse shows which item is short and how much stock is available. The source branch's stock never goes negative.

While in transit, the goods can't be sold at the source or the destination. If the source branch's stock drops to the reorder point, you get a low-stock alert, just as with a sale.

You can print or export a packing list (CSV) from the transfer's detail page to send along with the goods.

3. Receive​

At the destination branch, open the transfer and tap Receive. Count what arrived:

  • Receive all if everything arrived in the quantities sent.
  • If something is missing, enter the quantity received for each item (default: the quantity sent), add a note per item such as "2 bottles broken", then Confirm receipt.

Receiving happens once and closes the transfer right away. There's no receiving in parts. The quantity received can't be more than the quantity sent. If extra goods turn up, record them with a stock adjustment with the Found reason, or create a new transfer.

Receiving stock transfer TRF-2026-0007 from Gudang Pusat to Outlet Kemang: quantity sent, quantity received fields, a note per item, and the warning of units written off as lostGudang PusatSource branchOutlet KemangDestination branchTRF-2026-0007In transitReceive transferCount what arrived at Outlet Kemang. Receiving is one step and closes the transfer.ItemSentReceivedShortSusu UHT 1 LSU-1L24240Caramel Syrup 750 ml2 bottles broken1210−2Arabica Beans 1 kgKA-1K8802 units will be written off as lost at Outlet Kemang. This can’t be undone.Receive allCancelConfirm with shortfall123
Receiving TRF-2026-0007 at the destination: (1) route and transfer number, (2) enter what actually arrived, and (3) Etalasse shows how many units will be written off as lost before you confirm.

Receiving TRF-2026-0007 at the destination: (1) route and transfer number, (2) enter what actually arrived, and (3) Etalasse shows how many units will be written off as lost before you confirm.

When something is missing​

If the quantity received is lower than the quantity sent, the shortfall is recorded as lost at the destination branch, and the transfer becomes Partially received. Before you save, Etalasse shows how many units will be recorded as lost. This step can't be undone.

Why isn't it returned to the source branch? The goods really did leave the source branch. Putting them back on its books would show stock that isn't on its shelf, and it could be sold. Recording it as lost:

  • keeps both branches' stock equal to what's really there;
  • makes the loss visible in the stock loss report under Lost / missing, with its value;
  • needs no further confirmation from the source branch.

If the missing goods are found later (for example, left in the van), record them with a stock adjustment with the Found reason at the branch where they are.

Cancel a transfer​

Owners and Admins can cancel a transfer that hasn't been received:

  • from Draft: no stock moves;
  • from In transit: stock goes back to the source branch. Use this when the delivery didn't leave after all, or went to the wrong branch.

A received transfer can't be canceled.

Stock history​

Every movement is recorded in Stock Adjustments with automatic reasons:

ReasonDirectionWhen
Transfer outReduces stock at the source branchWhen sent
Transfer inAdds stock at the destination branchWhen received
Transfer canceled (returned)Adds stock at the source branchWhen an in-transit transfer is canceled
Lost / missingReduces stock at the destination branchWhen received with a shortfall

The three transfer reasons aren't part of the stock loss report, because the goods only changed branch and aren't a loss. A shortfall at receipt is still in the report as Lost / missing.

Ingredients​

Ingredients with per-branch stock can be moved between branches like any item, in their base unit (g, ml, or pcs). The item picker hides ingredients by default, so choose the Ingredients tab to see them.