Skip to content

The branches you are not standing in.

Access is a membership at each branch rather than one login for the whole chain. Stock that moves between branches keeps its purchase price and its expiry date. Every action is recorded with the person, the time, and the value before and after.

One person, a different job at each branch

Getting in takes two things: a permission held at the organisation, and a membership at the branch itself. The membership carries 5 capabilities, set per person per branch across 4 store types.

So the manager who runs Branch A can sell and adjust the ledger there, and only read reports at the branch they cover on Sundays. The branch someone is working in travels on the request itself, and a request for a branch that person cannot access is refused rather than quietly emptied.

Set per person, per branch

Sell
Ring up bills at this branch and take payment at its counter.
Refund
Take returns here and settle them back to the customer.
Manage inventory
Move, count and adjust the stock that sits at this branch.
Adjust ledger
Move a customer balance at this branch — the one worth granting narrowly.
View reports
Read this branch's numbers without being able to change them.

Stock moves between branches without losing its cost

A transfer is two decisions by two people, and the batches are rebuilt on the other side rather than re-entered.

  1. Step 1

    Requested

    Someone raises the transfer: which items, how many, from which branch to which branch.

  2. Step 2

    Approved by a different person

    The approver cannot be the requester. Self-approval is refused, so moving stock always takes two people.

  3. Step 3

    Drained oldest-first at the source

    On approval the oldest batches are drawn down under a row lock, so two approvals landing at once cannot take the same units twice.

  4. Step 4

    Rebuilt at the destination

    The batches come back with their purchase price, supplier, lot code and expiry date intact — cost basis and traceability survive the move, and margin at the receiving branch is still the real one.

What each person can reach

Permissions are the unit, roles are bundles of them, and the check runs again on the server for every request.

Permissions
157
Ready-made roles
7
Route-gated pages
49
Password-confirm categories
9

Risk tiers and dependencies, checked at grant time

Each of the 157 permissions carries a risk tier and a list of the permissions it depends on, and that list is enforced when the permission is granted — not discovered later when somebody uses it.

The Owner role holds every key by name

Owner carries every permission key explicitly rather than an admin flag that waves each check through. Revoke one and it is actually revoked.

The check fails closed

A request that reaches an endpoint which never declared which permission it needs is refused rather than run. A missing rule blocks the action instead of allowing it.

Your password again, for the things that matter

9 action categories re-prompt for the password of whoever is sitting there, every one of them on by default — moving a customer balance, or rotating an API key, asks for your password again.

The record of who did what

Every action writes a row, scoped to the organisation and the branch it happened at, through a background queue so the counter never waits for it.

Before the row is stored, 31 sensitive field names are blanked — CNIC and NTN among them — so reading the trail never means reading somebody’s identity documents.

Kept on every action

  • Person
  • Their email
  • Time
  • Action
  • IP address
  • Device
  • Severity
  • HTTP method
  • Request duration
  • Affected record
  • Value before
  • Value after

One organisation cannot read another

Row-level security is forced on every tenant table, and a check at deploy time fails the boot if the database role could bypass it. Production will not start with that wall down.

Sign-in that does not depend on SMS

TOTP two-factor runs inside the product, so there is no SMS bill and it works where SMS does not. Turning it on issues 10 single-use backup codes. 5 failed sign-ins trigger a 30-minute lockout, and password policy, session lifetime and concurrent-session limits are set once for the organisation.

Numbers from every branch

52 reports across 8 categories, and 7 scheduled report types — delivered by email as PDF or CSV, at a time you pick, in your own timezone.

Into whatever else you run

24 documented API endpoints, 27 scopes a key can carry, and 9 signed webhook events for the systems that need telling.

See the platform detail

Enterprise

Unlimited branches, people and API keys, plus the AI operator and ML demand forecasting.

PKR 120,000

a month

Support tickets are raised inside the product, WhatsApp is on every plan, and we sit with you and type your existing customer list, supplier list and stock in from whatever you keep them in today — free.

Compare all 4 plans

Open the next branch on the same ledger.

We enter your customers, suppliers and stock with you during setup, on every plan.

14 days free, no card.