Moving Stock Between Branches Without Losing Track
1 October 2026 · MidaOne
Branch two runs out of full-fat milk at half nine on a Saturday. Someone drives over to branch one, takes a crate from the walk-in, and nobody writes it down — because everybody knows, and because there is a queue. It is the most reasonable decision in the room and it is the start of a problem. Two months later branch one's numbers say it is wasting milk it never had and branch two's say it is selling lattes out of nothing, and the owner is looking at two reports that are both wrong in opposite directions.
Why a borrowed crate breaks two sets of numbers
An unrecorded transfer does not create one error. It creates a matched pair, which is why it is so hard to spot. The branch that gave the milk away has stock on its books that is not in its fridge, so its variance looks like waste or theft. The branch that received it has milk in the fridge that is not on its books, so its usage per litre looks impossibly good. Neither branch's manager has done anything wrong, and neither can explain their own figures.
At group level the two cancel out, which is the trap. Your consolidated cost of goods is roughly right, so nothing looks broken from the top. What you have lost is the ability to compare the branches — and comparing branches is most of the reason to have more than one. The manager with the better margin may simply be the one who has been borrowing, and you will reward them for it. Everything in what to look for in a multi-branch POS about per-branch detail depends on each branch's numbers actually being its own.
There is a second cost, and it is worse. Once branch managers know that stock moves without paperwork, every awkward variance has an explanation available. Short on a case of syrup? The other branch probably took it. That is the sentence that ends your ability to investigate anything, and it is the reason shrinkage and theft is so much harder to deal with in a group than in a single café. An untracked transfer route is a place for losses to live.
What a transfer record has to capture
You do not need software to fix this. You need a record with five things on it, and the discipline that it is filled in before the crate moves rather than afterwards. Afterwards never happens.
- What, exactly, and how much. "Milk" is not a record. Six litres of full-fat, in the unit you count stock in, or it will not reconcile against anything.
- From which branch to which branch, and the date and time. The time matters more than it sounds: a transfer logged on the wrong side of a stocktake moves the error rather than fixing it.
- Who released it and who received it. Two names, not one. A single name is a note to self; two names is a record.
- At what value. Transfer at cost, always, and write the cost down. If you move stock between branches at a notional price you have invented an internal profit and your branch margins stop meaning anything.
- Why. One line. This is the field everybody wants to skip, and it is the one that earns the whole exercise back — see the last section.
A duplicate book in each walk-in, a shared spreadsheet, or a photo of a signed slip in a group chat all work. What does not work is relying on the person who moved the stock to remember to tell you. The record has to be made at the fridge door by the person opening it, and the format matters far less than the habit.
Who approves it, and why that matters more than the paperwork
Most owners set up the form and stop there, and the scheme decays within a month. The thing that keeps it alive is deciding who is allowed to authorise a transfer, and making that a short enough list that it is a small event rather than routine.
The useful rule for most small groups: a transfer needs the sign-off of the manager on duty at the giving branch, and a notification — not permission — to whoever owns the group's numbers. That keeps it fast enough for a Saturday morning while making sure every movement crosses one desk where somebody sees the pattern. If approval has to come from the owner's phone, staff will stop asking and go back to the undocumented crate, which is worse than a slightly loose process. This is the same balance as everywhere else in staff access: enough permission to do the job, scoped tightly enough that movements are attributable rather than anonymous, which is the argument in POS permissions and staff access.
Then tie the transfer log to your count. Whoever reconciles stock should have the transfers for the period in front of them before they start explaining variances, not after. A count that is done blind and then adjusted when someone remembers a transfer is a count you cannot trust — how often to do a stocktake, and how assumes the movements are already recorded.
The branch that is always lending is telling you something
Here is the part that makes the paperwork worth doing. Once you have three months of transfer records with a reason on each one, read them as a group rather than as individual events. The pattern is usually loud.
| What the log shows | What it usually means | What to change |
|---|---|---|
| One branch almost always receiving | It is ordering short, or its forecast is based on an older, quieter version of itself | Raise its par levels and look at who places its order |
| One branch almost always giving | It is over-ordering, and the group is quietly using it as a warehouse | Cut its order, and check how much it is wasting |
| The same two or three items, every time | Your par levels for those items are wrong everywhere, not just at one branch | Reset the par level group-wide rather than branch by branch |
| Transfers clustered on the same weekday | A delivery day that does not match the trading week | Move the delivery, not the stock |
Every row has the same shape: the transfer is a symptom, and the fix is upstream in ordering. A group that has stopped needing transfers has not become stricter — it has got better at ordering, which is the actual goal. The target is not zero transfers; emergencies are real. The target is that a transfer is unusual enough to be worth a sentence, and the general ordering discipline that gets you there is in café inventory management.
Where MidaOne fits
Be clear about the division of labour here. MidaOne tracks stock live as you sell, per branch, and gives you consolidated group reporting alongside per-branch detail from one login — which is what makes a transfer visible as a discrepancy and what lets you compare branches once the movements are accounted for. It does not replace the transfer slip: the decision to move a crate, the two signatures and the reason are a process you run, not a button. What the system gives you is the other half — each branch's own sales, stock and margin, clean enough that an unexplained gap is actually a signal. All of it is on the flat AED 200 a month, with extra branches at AED 730 a year rather than a new negotiation each time you open one.
See each branch's real numbers, side by side. Free for 14 days, no card needed.
Start your free trialFrequently asked questions
How should a café record stock moved between branches?
Record the exact item and quantity in your counting unit, the giving and receiving branch, the date and time, the names of the person releasing and the person receiving it, the cost value, and a one-line reason. The format can be a duplicate book or a shared sheet — what matters is that it is filled in before the stock moves.
At what price should I transfer stock between my own branches?
At cost, every time. Moving stock at a marked-up internal price creates a profit that does not exist and makes each branch's margin impossible to compare with the other's, which defeats the point of having per-branch reporting at all.
Why do my branch stock figures never match?
Undocumented transfers are the most common cause in a small group, and they produce a matched pair of errors — the giving branch looks wasteful, the receiving branch looks unusually efficient, and the group total still looks fine. Start by asking what has moved between them before investigating either branch.
Who should approve an inter-branch stock transfer?
Usually the manager on duty at the branch giving the stock, with a notification to whoever owns the group's numbers. Requiring the owner's approval for every crate is too slow for a Saturday rush, and staff will go back to moving stock without recording it.
Does MidaOne handle stock transfers between branches?
MidaOne tracks stock live per branch and consolidates reporting across branches, so each location's figures and the group total are both visible from one login. The transfer itself — the approval, the two signatures and the reason — is a process you run alongside that.
The crate of milk is never really about the milk. It is about whether your branches have numbers you can compare, which is the only thing that tells you which of them is actually working. Put a duplicate book in both walk-ins this week, insist that nothing crosses town without two names on a slip, and read the pile in three months. You will almost certainly find you have been fixing an ordering problem one emergency drive at a time.