Managing Multiple Branches: Unifying Stock and Accounts Across Locations
The first branch runs on memory. The owner is there, knows what is left in the stockroom, and signs off on almost everything. Then a second branch opens, and within two months the picture is gone: each branch keeps its numbers its own way, stock moves between them over a WhatsApp call, and nobody knows which one is actually profitable.
Expansion rarely fails because the second branch is bad. It fails because the management style that worked for one branch does not scale. This guide covers what to centralise, what to leave local, and how to order stock, accounts and permissions first.
1. Decide what is central and what is local
Most branch problems trace back to one unresolved question: is a branch an independent unit or a dependent sales point? The answer differs by item, so take each one separately and label it central, local, or shared.
| Item | Usual decision | Why |
|---|---|---|
| Item codes | Central | One barcode everywhere, or reporting breaks |
| Price list | Central, with approved exceptions | A price gap between branches costs trust |
| Discount ceiling | Local within a written limit | The branch manager needs room to move, but bounded |
| Supplier purchasing | Central | Pooled volume improves pricing, prevents duplicate orders |
| Daily counts and operations | Local | Responsibility should sit closest to reality |
| Chart of accounts | Central | One tree; the branch is a dimension within it |
This is not a template to copy but an exercise to fill in with your branch managers, then publish as policy. A verbal decision changes with every disagreement.
2. Give every branch its own warehouse in the system
The most expensive mistake is one pooled stock figure across branches. It looks right in total and wrong everywhere else: the system says you have 40 units, but all sit in a branch two hours away, so an employee sells what cannot be delivered.
The rule: every physical location holding goods is a warehouse in the system, including the main store and any delivery vehicle carrying stock. Balances are read per warehouse; the total is only a summary.
Transfers between branches
Any movement between branches goes through three steps: transfer request, issue from the sending branch, then confirmed receipt at the other end. In between, the item sits in a third state, goods in transit, belonging to neither side. Log any gap between issued and received as a variance and investigate it the same day.
That third step is the one everyone skips, and it is why counts fail to reconcile at month end. Without it the sender writes the quantity off immediately, so it vanishes from both branches whenever delivery takes two days.
- No transfer without a document, even for one unit between neighbouring branches.
- Receipt means counting, not signing for the quantity on the note.
3. Tag every transaction with a branch cost centre
The question you should answer in one click: how much did each branch make this month? Not if expenses land in one account called general overheads.
The fix is not a separate account tree per branch, which doubles your accounts and turns reporting into a maze. Keep one chart of accounts and add the branch as a dimension selected on every entry: each sales invoice, rent payment, salary and utility bill.
Shared costs are then allocated by a written rule, such as splitting the central accountant's salary in proportion to sales. Consistency matters more than the rule itself, because changing it monthly makes comparison meaningless.
4. Set permissions at branch level
A branch manager needs full visibility of their own branch: its sales, stock and staff. They do not need another branch's costs or company-wide margins. That is structure, not distrust.
- Bind each user to their branch and filter every screen and report on that basis automatically.
- Keep sensitive actions central: price changes, cancelling posted invoices, stock adjustments, adding suppliers.
- When staff move between branches, update their access the same day.
5. Standardise the process before standardising the system
A system does not unify branches that work differently; it only exposes the difference. Before connecting anything, write one standard procedure, a page each, for three operations at least: receiving goods, issuing an invoice and a return, and closing the shift.
When opening a new branch, review its regulatory requirements with the relevant authorities before going live, including e-invoicing and invoicing device rules with the Zakat, Tax and Customs Authority at zatca.gov.sa, which is the only authoritative reference and can change.
What to track per branch each month
- Sales and gross margin per branch, not just the group total.
- Inventory turnover, since a slow branch quietly parks your cash.
- Count variance as a percentage of stock value, the best indicator of branch discipline.
- Pending transfers not received after more than 48 hours.
- Rent and payroll as a percentage of that branch's own sales.
Common mistakes
- Opening a second branch before the first one's process is stable, copying the chaos.
- One pooled stock figure with no warehouses, so a branch sells what it does not hold.
- Transfers without a receipt document, producing variances nobody can trace.
- A general expense account with no cost centre, leaving branch profitability an estimate rather than a number.
In short: write down what is central and what is local, give each branch its own warehouse with document-backed transfers, tag every entry with a branch cost centre, and scope access to the branch. Successful expansion is not more branches, it is the same process running in each one without you standing in it.