Business Setup ModuleCore Module

Branch Management (Branches)

1. Feature Introduction & Purpose

What is the Branches module for?
Branches separate and organize company operational activities. Through branch configuration, businesses can partition retail stores, warehouses, staff access, transaction currencies, timezones, and business documents across operational units within a single enterprise installation.

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 NeedOperational ScenarioApplication Action
Multi-City or Regional Geographic ExpansionThe 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 FormatsThe 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 HoursA 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:

The user must hold an administrator role or permissions to manage branches (branches:create, branches:update).
Prepare branch identification details: unique Branch Code (e.g. JKT-01), operational Branch Name, and optional Legal Entity Name.
Determine the primary operating currency (default IDR) and regional timezone (WIB, WITA, or WIT).
Prepare at least one operational contact (PIC name, active phone number, or email address).
Prepare at least one complete physical street address (street, city, province, and postal code).

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 LabelInput TypeRequiredOperational Purpose & Example
Branch Code (code)Unique TextRequired
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)TextRequired
Official operational trade name displayed on POS cashier screens, receipt printouts, and report filters.
Example: Jakarta Central Branch
Legal Name (legalName)Optional TextOptional
Official corporate legal entity designation if different from the operational marketing trade name.
Example: PT Retail Makmur Sejahtera
Currency (currencyCode)Dropdown SelectionRequired
Base functional currency for all sales invoices, cashier checkouts, and purchase orders originating in this branch.
Example: IDR (Indonesian Rupiah), USD
Timezone (timezone)Dropdown SelectionRequired
Standard local timezone for recording cashier shift timestamps, receipt printouts, and daily closing reports.
Example: Asia/Jakarta (WIB), Asia/Makassar (WITA)
Status (status)Radio SelectionRequired
Operating status. Active branches can process live orders; inactive branches are suspended from new transaction creation.
Example: Active / Inactive
PIC Name (picName)TextOptional
Full name of the designated person-in-charge or operational branch supervisor.
Example: Budi Santoso
Contact Phone / EmailContact TextRequired
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 SelectionRequired
Designates the primary contact person. Exactly one contact entry must be flagged as Primary.
Example: Yes / No
Street Address (address)Address TextRequired
Complete physical street address, building floor, or suite where the facility operates.
Example: Jl. Jenderal Sudirman No. 45, Menara Tower 3rd Floor
City & ProvinceRegional TextRequired
Operating municipality and province for shipping documentation and regional filtering.
Example: Jakarta Selatan, DKI Jakarta
Postal Code (postalCode)Numeric TextOptional
Regional postal zip code for mail routing and shipping logistics calculations.
Example: 10220
Primary Address (isPrimary)Radio SelectionRequired
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:

Menu Location:Business Setup > Branches

Screen Preview: Branch Management Console

Visual interface illustration and control layout for menu Business Setup > Branches

1Add Row Button2Branch Search Filter3Currency & Timezone Badges4Row Action Menu (Edit / Delete)
Branch configuration table interface and drawer form layout in the inventories-web application.
Registration Procedure

6. Adding a New Branch

Follow this sequential procedure to register a new operational branch into the system:

1

Open Branches Console

Menu: Business Setup > Branches

Navigate to the Business Setup category in the main sidebar and click Branches.

2

Launch Branch Creation Drawer

Add Row Button

Click the Add Row button located at the top-right toolbar of the branches table to open the multi-step form drawer.

3

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.

Adopt a consistent prefix format (such as CITY-NUMBER) to simplify document search and reporting filters.
4

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.

The system validates that at least one contact row provides a non-empty phone or email address.
5

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.

6

Save Branch Record

Save Button

Click Save at the bottom of the drawer. A confirmation toast appears and the new branch appears immediately in the registry table.

Maintenance Guide

7. Updating Branch Information

How to modify PIC contact numbers, physical street address, or operational status:

1

Locate Target Branch

Use the search box in the table header to locate the branch by name, code, or operational status.

2

Open Edit Drawer

Edit Action Icon

Click the Edit action button (pencil icon) on the target branch row to load existing configuration data.

3

Update Details and Save

Modify contact numbers, address details, or operational status as needed, then click Save to apply changes immediately.

Updating the branch name updates headers on future transactions without altering historical records.
Security & Lifecycle

8. Deactivating or Deleting Branches

Important rules for safely decommissioning a branch facility without corrupting financial audit trails:

1

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.

2

Deleting a Branch

Click the Delete action icon (trash can) on the branch row and confirm the deletion dialog.

Branches that have registered locations, storage bins, assigned staff users, or posted transactions cannot be deleted to protect audit trails.

9. Operational Results & Downstream Effects

Once a new branch is saved, here is what happens immediately across dependent operational modules:

Related SubsystemOperational Effect & Relationship
Locations & OutletsOnce a branch is registered, you can add retail stores (STORE) or logistics facilities (WAREHOUSE) attached to that branch.
User Scopes & Access ControlStaff 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 & AnalyticsGross 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 MessageUnderlying CauseRecommended 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 buttonThe 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.