Warehouses

Central storage locations that hold stock but never sell it — how they differ from a branch, how stock gets in and out, and what they cannot do.

5 min read · Updated 10 Sep 2026

On this page

A warehouse is a place that holds stock and does not sell it. If you buy in bulk for several branches, or run a central kitchen, you want the stock recorded somewhere before it is anywhere near a till — that is what this is for.

Needs the Warehouse & Commissary add-on (₱500 per branch each month), or any bundle that includes it. One subscription grants both the warehouse screens and the commissary production features.

Open Inventory → Warehouses.

A warehouse is not a branch

They are different kinds of thing, and mixing them up is the source of most questions about this feature.

Branch Warehouse
Sells Yes — POS, shifts, receipts Never. No POS, no shift, no sales
Holds stock Yes Yes, in its own separate ledger
Appears on Stock Levels Yes No
Counted with a stock count Yes No
Stocked in or adjusted by hand Yes No
Counts toward your per-branch add-on price Yes No

The last two rows are the ones to plan around. Every stock movement in Kassly belongs to a branch or a warehouse, never both — which is why a branch filter never shows warehouse activity, and why the branch tools in the rest of this part simply do not apply here.

Creating one

Click New Warehouse.

Field Required Notes
Code Yes Up to 20 characters, unique across your business. e.g. WH-001
Name Yes e.g. Main Warehouse
Address No
Contact Phone No
Create default zones — On by default

Leaving Create default zones on gives the warehouse six zones straight away: Receiving, Storage, Picking, Packing, Shipping and Returns. A seventh type, Quarantine, exists but is not created for you — add it yourself if you hold stock back for inspection.

A code stays reserved after you delete a warehouse, so reusing an old code is refused with a plain message rather than failing oddly.

Zones and bins

Inside a warehouse you can describe the physical layout: zones of the types above, and bins within them.

Bin type
Rack
Shelf
Floor
Freezer
Fridge
Hazmat

Stock is held at the warehouse, not in the bin. Zones and bins are there to describe and label the space — nothing in Kassly today records which bin a quantity is sitting in, and no report splits stock by bin. Treat them as a map for your staff, not as locations you can query.

The warehouse screen

Opening a warehouse gives you four tabs.

Tab What is on it
Stock What the warehouse holds, per product
Zones The layout, and the bins inside each zone
Goods Receipts Deliveries received here, by GRN number
Settings Name, address, phone, active flag, delete

The Stock tab lists Product, SKU, On Hand, Allocated, Available and Reorder Point, with a search and a low-stock filter.

Allocated, Available and Reorder Point are not in use yet. Allocated is always zero, Available therefore always equals On Hand, and no screen sets a warehouse reorder point — so the low-stock filter on this tab currently finds nothing. The columns are groundwork for pick-and-pack, not figures to read.

Getting stock in

There are exactly two ways, and neither of them is typing a number:

  • Receive a purchase order into the warehouse. When you raise a PO you choose a delivery destination; choose the warehouse and receiving it writes the stock there, along with a numbered Goods Receipt you can open from the Goods Receipts tab. Each item gets a GRN Receipt movement carrying the PO line's unit cost.
  • Receive a transfer from a branch or another warehouse. See Stock transfers.

There is no stock-in form, no adjustment form and no count for a warehouse. That is a real gap: if a warehouse figure is wrong, the only lever you have is a transfer, so opening balances have to arrive as a PO receipt or as a transfer from a branch you stocked in the ordinary way.

Getting stock out

  • Transfer it to a branch — the normal path, and the reason most warehouses exist.
  • Transfer it to another warehouse.
  • Consume it in a commissary production run, which turns inputs into a finished item and yields that item into a warehouse.

Warehouse-to-branch transfers use the same screen as branch-to-branch ones. Because a warehouse never sells, stock leaving one always leaves as a transfer.

Deleting a warehouse

Kassly refuses the deletion, with a specific reason, in three cases:

Reason Message
It still holds stock Cannot delete a warehouse that still holds stock. Transfer it out first.
A transfer is pending or in transit Cannot delete a warehouse with pending or in-transit transfers.
An open purchase order is due to be delivered there Cannot delete a warehouse that is the delivery destination of an open purchase order.

Clear the blocker and try again. Deleting is a soft delete — the record and its history are kept, and the code stays reserved.

Permissions

Action Permission
See warehouses, zones, bins and stock View Warehouses
Create, edit, delete warehouses, zones and bins Manage Warehouses

Both are assignable through Custom roles, so a stock controller can see everything without being able to restructure the place.

Valuation includes warehouse stock

The valuation report values branch and warehouse stock, so the total matches what your books say you are holding. Warehouse rows are costed from GRN receipts and transfer-ins. See Inventory valuation.

Where to go next