Now in open beta — close the books in 2 days, not 2 weeks.Read the case study →
Inventory · January 29, 2026 · 7 min read

Multi-warehouse vs multi-branch inventory model

Most growing retailers conflate warehouses and branches in their ERP. The two are different operating units with different rules. Modeling them as the same thing produces broken reports and confused reconciliation.

The simple distinction.

A branch is a customer-facing location. It has a sales register, walk-in customers, and a cashier. Stock at a branch is on the sales floor or in a small back-of-house store. A warehouse is a non-customer-facing location. It receives bulk goods, holds them for distribution to branches, and never serves a walk-in customer. Stock at a warehouse is in bulk storage, not on a sales floor.

The distinction matters because the rules differ. Branches need POS, cycle counts focused on sales-floor accuracy, and customer-facing stock-on-hand visibility. Warehouses need bulk receiving discipline, transfer management, and lot/location tracking inside the warehouse. Modeling both as "branches" papers over real operational differences and produces a system that fits neither well.

WarehouseNo customer-facingBulk pallets, no shelvesReceive + dispatch onlyLot/location trackingCycle counts by locationBranchWalk-in cashier + POSSales floor + back roomCustomer-facing stockNo lot tracking neededCycle counts by velocity
Different operating units, different rules. Modeling both as "branches" produces broken transfer reports and confused reconciliation.

Why combining them creates problems.

When the warehouse is modeled as just another branch, several things go wrong. Customer service reps see warehouse stock as available to walk-in customers, who then drive 20 km to discover the goods are in bulk pallets not retail-ready. Transfer reports show warehouse-to-branch and branch-to-branch movements mixed together, making distribution analysis impossible. Cycle count schedules treat warehouse and branch the same, which mismatches the actual count process needed.

Sales reports also distort. If the warehouse occasionally sells to a wholesale customer (some hybrid operations do), and the warehouse is a "branch", that sale appears in the same revenue line as retail sales. Margin analysis breaks because warehouse sales have different markup structure. Setting up the warehouse as its own location type avoids all of this.

Stock location hierarchy that actually works.

Recommended structure: Organization > Stock Location > Sub-location (optional). Stock Location has a type: Warehouse, Branch, or In-Transit. Each Stock Location has its own BranchInventory records (or its own equivalent), its own WAC per SKU, its own cycle count schedule, its own reorder rules.

Branches can pull stock from one or more designated warehouses (or from each other in some configurations). Warehouses receive from suppliers and dispatch to branches. The flow is structured but flexible: a small operation might have one warehouse serving 4 branches; a larger operation might have regional warehouses each serving 8 branches with cross-warehouse transfers as needed.

SupplierBulk receiveWarehouseNo walk-in saleIn-TransitVirtual locationBranchWalk-in POSCustomerSale at retail
Each hop is a separate Stock Location with its own ledger. The in-transit virtual location is what keeps both ends balanced during transfer.
  • Warehouse: bulk receive, no walk-in sale, dispatches to branches
  • Branch: walk-in sale, receives from warehouse, may transfer between branches
  • In-Transit: virtual location for goods on the road between two physical locations
  • Sub-location: aisle, bin, or area within a warehouse for pick efficiency

A worked example: 2 warehouses, 8 branches.

A textile retailer in Bristol has Warehouse Bristol (main, receives all imports via the Port of Felixstowe), Warehouse Cardiff (regional, holds Wales and South-West inventory), and 8 branches. Stock flow: Bristol Warehouse receives from suppliers and imports. Periodically transfers to Cardiff Warehouse for regional distribution. Both warehouses transfer to their respective branches as needed.

Reports separate cleanly. "Warehouse stock value" sums both warehouses. "Branch stock value" sums all 8 branches. "Total inventory" sums both. Sales reports come only from branches. Transfer reports separate warehouse-to-warehouse, warehouse-to-branch, and branch-to-branch flows. Reorder analysis happens at branch level (when a branch needs more) and warehouse level (when a warehouse needs to import). Two different operating logics, both supported.

When you have only one warehouse.

A small retail chain might genuinely have a single warehouse and 3-5 branches. The warehouse-branch distinction still matters even at this scale. Set up the warehouse as a separate Stock Location of type Warehouse. Even if it has the same address as one of the branches (often the largest branch with a back-of-house storage area), keep them as separate locations in the system.

This makes the back-of-house storage countable separately, makes the bulk-to-floor transfer trackable, and prepares the system for when the operation grows. Skipping this distinction at small scale almost always costs a painful migration later when the warehouse grows past one branch's back room.

How nonari models locations.

Nonari supports a Stock Location entity with a type field — Warehouse, Branch, In-Transit. Each location has its own BranchInventory records per SKU, with quantity and WAC. POS access can be configured per location: branches expose POS to walk-in customers; warehouses do not.

Transfers between any two locations are supported with the in-transit account flow. Reports can be filtered or grouped by location type so warehouse and branch performance are analysed separately. The system also supports a "default warehouse for branch" relationship — when a branch needs replenishment, the system suggests the right warehouse to pull from, accounting for stock availability and transport costs.

Frequently asked

Common questions.

Should a tiny back-room of a single branch be modeled as a warehouse?

Probably not. If the back room is just same-day overflow for the sales floor, treat it as a sub-location. Once it is consistently bulk receiving from suppliers and replenishing the sales floor, model it as a warehouse.

Can a location be both warehouse and branch?

Yes — model it as two separate locations at the same physical address. Most ERPs support this. The distinction is operational, not geographic.

Does Nonari charge per location?

Pricing varies by plan. Check current Nonari plans for the specifics; the platform itself supports many locations without architectural limits.

How do I handle a branch that occasionally sells wholesale?

Two options: (1) flag specific sales as wholesale via customer segment, keeping the branch as one location, or (2) model the wholesale operation as a separate "Wholesale Branch" location for cleaner reporting. Choose based on volume.

What about consignment locations or 3PL warehouses?

Model as separate Stock Locations with the Warehouse type. Tag them with an attribute for "consignment" or "3PL" so reports can include or exclude as needed.

Try nonari

Put your books on autopilot.

Free to start. No credit card. Bring your books, kick the tires, export everything if you decide to leave.