Branches
Create multi-outlet branches on Enterprise and link warehouses and HR employees to each outlet.
Business Suite · Ops & people
Pfad: Store → Branches
Definition
Store → Branches → New branch(name, code, address?) → link warehouses & HR employees
A branch is a physical or logical outlet under one BonikBiz store account. It organizes people and stock locations for multi-outlet ops. Branch ≠ Warehouse (stock location) ≠ storefront slug (public URL).
Compatibility
- Minimum plan: Enterprise — confirm Store → Billing.
- Warehouses: Professional+ (set each warehouse’s branchId after the branch exists).
- HR people: Business Suite+ (set employment.branchId on the employee).
- Non-Enterprise: use “No branch” where the UI offers it (Warehouse / HR forms) — single-store mode.
- Staff login seats are invited under Store → Staff; outlet membership for ops is usually via HR branch.
Create the branch first, then point warehouses and HR employees at it. Train the team to pick the active branch where the UI asks for branch context.
Storefront vs Branch vs Warehouse
Storefront → customer-facing online shop (public slug) Branch → internal outlet / organizational location Warehouse → physical/logical stock location One storefront can serve many branches operationally. Move stock with Warehouse transfer — not “branch transfer”.
HR = person · Staff = dashboard login · Branch = outlet assignment for that person/location.
Path & fields
Store → Branches
branch: {
name, code, // both required
address?, phone?, email?, city?, district?,
managerName?, note?,
isDefault?, isActive?
}
Links (set on the other records — not staffIds[] on the branch):
Warehouse.branchId → Store → Warehouse
HR employment.branchId → Store → HR
UI: active branch context (Enterprise screens)
Counts on Branches list: employees & warehouses linked to that branch Name like the team says the outlet (“Gulshan”, “Uttara”). Code is required and unique (e.g. GUL, UTR, HO).
Only one default branch at a time. Deactivate (isActive) carefully if history still references the branch — deactivating does not erase history.
Setup lifecycle
Create branch (name + code) → optional default → Warehouse: set branchId (one branch can have several warehouses) → HR: set employee branchId → Staff: invite logins if needed → Operate with active branch context → Deactivate only when no longer used
Create and configure a branch
- Confirm Enterprise on Store → Billing.
- Open Store → Branches → New / Create branch.
- Enter name and code (required); add address/contact if useful.
- Mark default if this is the primary outlet (clears any previous default).
- Save and confirm the branch appears in the list.
- Open Store → Warehouse and set each outlet warehouse’s Branch (or create warehouses with that branch).
- Open Store → HR and set employment Branch on people who work at that outlet.
- Invite Staff logins under Store → Staff when they need dashboard access.
- Train the team to select the correct active branch where the UI requires it.
How links work
Branch: Uttara ├── Warehouse “Uttara Front” (branchId) ├── Warehouse “Uttara Godown” (branchId) └── HR employees with employment.branchId = Uttara Stock move: Warehouse A → Transfer → Warehouse B (branch only provides org context)
Branch assignment on masters is not the same as every transaction carrying branch attribution for P&L. Use branch context where the product stores it; do not assume branch-wise financials without checking each report.
Examples
Second outlet Branch Uttara (code UTR) → Warehouse “Uttara Stock” with branch Uttara → Two cashiers: HR branch Uttara + Staff invites Head office + retail Branch HO — admin HR, maybe no warehouse Branch Dhanmondi — retail warehouse + floor staff Non-Enterprise Stay on Business Suite; leave Warehouse/HR as “No branch” until upgrade
Common errors
- No Branches menu — Enterprise plan (and permission) required.
- Cannot “assign” warehouse on the branch form — set branch on the warehouse under Store → Warehouse (Professional+).
- Staff not listed — invite under Store → Staff; for outlet membership set HR branch.
- HR person missing on branch counts — set employment.branchId on the HR record.
- Trying to move stock “from the branch” — use Warehouse Transfer.
- Confused with storefront — slug is public URL; branch is internal outlet; warehouse is stock location.