Branch Management
Adding and configuring branches, what a branch actually separates, and why every branch you add multiplies your add-on bill.
6 min read · Updated 10 Sep 2026
On this page
A branch is a place that sells. Your store was created with one, called Main Branch, and if you only have one location you can leave this page alone forever.
Branches live at Management → Branches. Only the Owner can add, edit or delete one, though everyone can see the list — a cashier's device needs it to know which branch they're opening a shift at.
Adding a branch
Management → Branches → Add Branch.
| Field | Required | Rule |
|---|---|---|
| Name | Yes | Up to 255 characters. What staff will see — "Divisoria", "Second Floor" |
| Code | Yes | Up to 20 characters, unique within your store. Typed in uppercase automatically |
| Address | No | Up to 1,000 characters. This is what prints on receipts from this branch |
| Phone | No | Up to 50 characters |
| No | Must be a valid email | |
| Status | No | Active or Inactive. Defaults to Active |
Pick the Code carefully. It is short, it shows in the branch list, and it
has to be unique — MNL, CEB, BR2. Reusing a code that already exists will
fail, and the message you get back will not be a friendly one, so check the list
first.
The Address matters more than it looks. When a receipt prints, Kassly uses the branch's address if it has one, and only falls back to the store address if it doesn't. Fill it in for every branch that has its own street address.
The Free plan includes one branch. Adding a second is a paid step — not because of a per-branch licence, but because every add-on you subscribe to is billed per branch. See What it costs below.
What a branch separates
This is the question that decides whether Kassly's branch model fits your business, so here it is plainly.
Kept separate per branch
| Stock levels | Quantity on hand and reorder points, per product, per branch |
| Stock movements | Every receipt, adjustment, count and transfer |
| Stock counts | A count belongs to one branch |
| Sales | Every transaction records which branch it happened at |
| Shifts | Opened and closed per branch |
| Terminals | A terminal belongs to exactly one branch |
| Expenses | Recorded against a branch |
| Purchase orders | Raised for a branch |
| Appointments and job orders | Booked at a branch |
| Staff assignment | Which branches a person works at |
| Attendance punches | Clocked in at a branch |
| Tables and queue | Per branch |
Shared across the whole store
| Products and services | One catalogue for the whole store |
| Categories | One set |
| Prices | One price list for the whole store |
| Customers | One customer file, visible at every branch |
| Suppliers | One list |
| Promotions and coupons | Store-wide |
| Tax settings, receipt text, service charge | Store-wide |
| Membership plans | Store-wide |
| Staff accounts | One account per person, assignable to several branches |
Prices cannot differ between branches. There is no per-branch price override. If your Makati branch charges more than your Zamboanga branch for the same item, Kassly cannot express that — you would need the item listed twice, or separate stores. What Kassly does support is different price types on the same item (retail, wholesale, member, and quantity tiers), which apply everywhere equally.
Because the catalogue is shared and stock is not, adding a branch does not mean re-entering your products. It means the new branch starts at zero stock for all of them, and you bring stock in by receiving it or transferring it.
Moving stock between branches
Transfers need the Stock Transfers Between Branches add-on (₱300 per branch each month), or any bundle that includes it. Without it, each branch's stock is adjusted independently and there is no way to move a quantity from one to another as a single tracked movement.
Who sees which branch's data
Every staff member is assigned to one or more branches, and one of those is marked Primary. That assignment decides which branch they open a shift at.
It does not currently limit what they can see. A manager or cashier assigned only to your Cebu branch can still see figures from your Manila branch in reports and lists. Per-branch data walls are not something Kassly enforces yet. If a branch manager should not see the whole company's numbers, that is a gap you need to know about before you rely on it.
See Users and roles for how branch assignment is set.
Deactivating a branch
Set the branch's Status to Inactive. Be clear-eyed about what this does and does not do.
It does:
- remove the branch from the terminal and branch picker when opening a shift
- hide it from your online storefront, if you run one
- hide it from the customer-facing branch list
- drop it out of branch comparison reports and the dashboard's branch widget
It does not:
- stop anyone signing in
- reduce your bill
- give back the terminal allowance the branch was carrying
So "Inactive" is a way to take a location out of the way of your staff, not a way to stop paying for it. If a branch has genuinely closed for good, delete it.
Deleting a branch
Deleting keeps the record but removes the branch from your lists. Kassly will refuse in four cases, each with a specific message:
| Message | What to do first |
|---|---|
| "Cannot delete the main branch." | Nothing. Your main branch is permanent |
| "Cannot delete branch with existing terminals." | Delete or move the branch's terminals |
| "Cannot delete branch with assigned users." | Reassign the staff to another branch |
| "Cannot delete branch with existing stock levels." | Transfer or write off the stock |
The stock-levels guard catches people out. A branch that ever held stock has stock-level records even when the quantity is now zero, so you may need to clear them before the delete goes through.
What it costs
Add-ons are priced per branch, per month. The bill is the add-on's price multiplied by your branch count:
| Add-ons active | 1 branch | 3 branches |
|---|---|---|
| Payroll (₱300) | ₱300 | ₱900 |
| Kitchen Pack bundle (₱1,399) | ₱1,399 | ₱4,197 |
A bundle is charged once at the bundle price per branch, not as the sum of the add-ons inside it. See Plans and add-ons.
Two details worth knowing:
- Inactive branches are counted. Deactivating a branch does not take it off the bill.
- The branch count is fixed when you subscribe. Kassly records how many branches you had at the moment you subscribed or started a trial, and renews on that number. Adding a branch afterwards does not silently raise your existing add-ons' price — but it also means a newly added branch may be using a feature you are not yet being billed for. Expect the count to be brought up to date the next time you change your subscription.
Each branch also comes with one terminal included. Two branches means two terminals at no extra cost. See Terminal management.
Fields you cannot set here
Branches carry four BIR fields in the database — a branch TIN, a permit number, a BIR Form 2303 address, and a five-digit branch code — that have no field on this page. They exist for BIR-accredited stores and are set up as part of accreditation rather than by you. Until then, receipts fall back to your store's TIN from Settings → Store Settings.
Branch operating hours are similar: the system can store them, but there is no place to enter them yet.