Branch Management (Branches)
1. Feature Introduction & Purpose
What is the Branches module for?
In Inventories Web, a single system installation manages an entire company enterprise. Branches act as autonomous operational divisions where day-to-day business occurs. Each branch can parent multiple retail stores (*STORE*), logistics warehouses (*WAREHOUSE*), and staff users, while establishing localized currencies and operational timezones.
2. Real-World Business Scenarios
Review these operational scenarios to identify when your business needs to register a new branch:
| Business Need | Operational Scenario | Application Action |
|---|---|---|
| Multi-City or Regional Geographic Expansion | The business expands by opening physical operations in different metropolitan areas, such as Jakarta, Bandung, and Surabaya. | Register a separate branch for each city so sales reports, inventory turnover, and staff performance can be analyzed per regional territory. |
| Separating Distinct Business Formats | The enterprise operates multiple business lines under one corporate umbrella, such as a Supermarket Retail division, a B2B Wholesale Distribution arm, and a Central Commissary Kitchen. | Set up distinct branches for each business format to separate inventory valuations, purchasing streams, and profitability metrics. |
| Regional Timezones and Operating Hours | A store branch in Bali or Makassar operates under WITA (UTC+8), while the headquarters in Jakarta operates under WIB (UTC+7). | Select timezone Asia/Makassar on the branch profile so cashier register shifts, receipt printouts, and daily closing cut-offs record accurate local timestamps. |
| Restricting Staff Access to Local Branch Data (User Scopes) | Frontline store employees in Surabaya must only process and view transactions at their local outlet, without access to sensitive transactions in Jakarta. | Link employee accounts strictly to the Surabaya branch under User Scopes after the branch profile is created. |
| Multi-Entity Legal & Tax Identification (Regional NPWP) | Regional branches operate under distinct localized corporate tax registrations or secondary trade names for local tax office compliance. | Record the specific regional Tax ID (NPWP) and Legal Name on the branch profile to ensure invoices print correct legal entity details. |
3. Before You Begin & Prerequisites
Ensure the following preparations and permissions are in place before configuring a new branch:
4. Form Field Definitions
The table below explains every input field on the branch creation and edit drawer, along with its purpose and examples:
| Form Label | Input Type | Required | Operational Purpose & Example |
|---|---|---|---|
| Branch Code (code) | Unique Text | Required | System-wide unique identifier for the branch. Used as a prefix for operational document numbering and barcode tags. Example: JKT-01, SBY-CENTRAL |
| Branch Name (name) | Text | Required | Official operational trade name displayed on POS cashier screens, receipt printouts, and report filters. Example: Jakarta Central Branch |
| Legal Name (legalName) | Optional Text | Optional | Official corporate legal entity designation if different from the operational marketing trade name. Example: PT Retail Makmur Sejahtera |
| Currency (currencyCode) | Dropdown Selection | Required | Base functional currency for all sales invoices, cashier checkouts, and purchase orders originating in this branch. Example: IDR (Indonesian Rupiah), USD |
| Timezone (timezone) | Dropdown Selection | Required | Standard local timezone for recording cashier shift timestamps, receipt printouts, and daily closing reports. Example: Asia/Jakarta (WIB), Asia/Makassar (WITA) |
| Status (status) | Radio Selection | Required | Operating status. Active branches can process live orders; inactive branches are suspended from new transaction creation. Example: Active / Inactive |
| PIC Name (picName) | Text | Optional | Full name of the designated person-in-charge or operational branch supervisor. Example: Budi Santoso |
| Contact Phone / Email | Contact Text | Required | Official communication channel. At least one valid phone number or email address is mandatory per contact entry. Example: 081234567890 / ops.jkt@company.com |
| Primary Contact (isPrimary) | Radio Selection | Required | Designates the primary contact person. Exactly one contact entry must be flagged as Primary. Example: Yes / No |
| Street Address (address) | Address Text | Required | Complete physical street address, building floor, or suite where the facility operates. Example: Jl. Jenderal Sudirman No. 45, Menara Tower 3rd Floor |
| City & Province | Regional Text | Required | Operating municipality and province for shipping documentation and regional filtering. Example: Jakarta Selatan, DKI Jakarta |
| Postal Code (postalCode) | Numeric Text | Optional | Regional postal zip code for mail routing and shipping logistics calculations. Example: 10220 |
| Primary Address (isPrimary) | Radio Selection | Required | Designates the primary physical address. Exactly one address entry must be flagged as Primary. Example: Yes / No |
5. User Interface Overview
Visual interface layout showing the branch registry table, search filters, and primary action triggers:
Screen Preview: Branch Management Console
Visual interface illustration and control layout for menu Business Setup > Branches
6. Adding a New Branch
Follow this sequential procedure to register a new operational branch into the system:
Open Branches Console
Menu: Business Setup > BranchesNavigate to the Business Setup category in the main sidebar and click Branches.
Launch Branch Creation Drawer
Add Row ButtonClick the Add Row button located at the top-right toolbar of the branches table to open the multi-step form drawer.
Fill Main Branch Details (Step 1)
Enter a unique Branch Code (e.g. JKT-01), operational Branch Name, optional Legal Name, select Base Currency, local Timezone, and ensure Active status is selected.
Add Contact Information (Step 2)
Click Add Contact, input PIC Name, contact phone or email, and select Yes under Is Primary? to designate the primary contact channel.
Add Physical Address (Step 3)
Click Add Address, enter street address, city, province, and postal code. Select Yes under Is Primary? on the primary operational address.
Save Branch Record
Save ButtonClick Save at the bottom of the drawer. A confirmation toast appears and the new branch appears immediately in the registry table.
7. Updating Branch Information
How to modify PIC contact numbers, physical street address, or operational status:
Locate Target Branch
Use the search box in the table header to locate the branch by name, code, or operational status.
Open Edit Drawer
Edit Action IconClick the Edit action button (pencil icon) on the target branch row to load existing configuration data.
Update Details and Save
Modify contact numbers, address details, or operational status as needed, then click Save to apply changes immediately.
8. Deactivating or Deleting Branches
Important rules for safely decommissioning a branch facility without corrupting financial audit trails:
Deactivating a Branch (Recommended)
If a branch temporarily halts operations, open the Edit drawer, switch status to Inactive, and click Save. Past transactions, ledgers, and receipts remain fully preserved.
Deleting a Branch
Click the Delete action icon (trash can) on the branch row and confirm the deletion dialog.
9. Operational Results & Downstream Effects
Once a new branch is saved, here is what happens immediately across dependent operational modules:
| Related Subsystem | Operational Effect & Relationship |
|---|---|
| Locations & Outlets | Once a branch is registered, you can add retail stores (STORE) or logistics facilities (WAREHOUSE) attached to that branch. |
| User Scopes & Access Control | Staff users and cashiers can be bound to designated branches, restricting visibility exclusively to authorized facilities. |
| Point of Sale (POS) | Checkout registers and shift drawers operate under a specific branch, inheriting its currency, tax rates, and timezone. |
| Business Reporting & Analytics | Gross sales turnover, inventory valuation, and cash flow reports can be filtered by branch to evaluate individual performance. |
10. Common Issues & Solutions
Common validation blocks or user errors encountered when managing branches, with concrete steps to resolve them:
| Issue / Error Message | Underlying Cause | Recommended Resolution |
|---|---|---|
| Form validation error: "At least one contact is required" or "At least one address is required" | The user clicked Save before adding a contact row or physical address entry. | Click Add Contact and Add Address buttons, fill in mandatory fields, and ensure primary selections are marked. |
| Form validation error: "Select exactly one primary contact / address" | No contact/address entry was marked as primary, or more than one entry was flagged as Yes. | Ensure exactly one contact row and exactly one address row has the Is Primary? radio set to Yes. |
| Form validation error: "Provide phone or email" | A contact row was added but both the phone number and email fields were left blank. | Enter at least one active phone number or valid email address for that contact entry. |
| Branch deletion fails when clicking the Delete button | The branch still has active locations, warehouse bins, assigned user accounts, or posted transactions. | Reassign or delete child facilities first, or switch branch status to Inactive to safely suspend operations without losing audit history. |
Operational Best Practices
- Always establish your branch structure before setting up retail outlets, storage bins, or onboarding employees.
- Use standardized uppercase codes (e.g. JKT-01, BDG-01, SBY-01) for clear identification on invoices and thermal receipts.
- If a branch closes temporarily, toggle its status to Inactive rather than deleting it so historical accounting ledgers remain intact.