Businesses with branches
For larger businesses

What this can and cannot do

Mechanisms rather than adjectives, and the gaps listed by us rather than found by you.

One business cannot see another's

Every read is scoped to one business
Orders, customers, stock, staff and takings are read through a tenancy layer that cannot be called without a venue. A test fails the build if any code reads those collections directly.
Proven against two merchants signed in at once
24 scenarios over HTTP against a real database: each board shows only its own orders, the other merchant's order by id returns 404, and customer lists, audit trails and exports carry no crossover.
A branch is its own shop
Each outlet holds its own stock, prices and queue of orders, under one business in the directory. A chain appears once to a customer and reports per branch to its owner.

Money goes where it should

Payments settle to the merchant, not to us
Each business has its own account at the payment provider; a card payment is split at the moment it is made. There is no point at which a merchant's takings sit in a BizMtaani account waiting to be passed on.
The platform's own keys are not reachable by a merchant
Both a merchant's owner and the platform operator are administrators. What separates them is the venue, checked on every operator surface, so a merchant cannot approve businesses onto the platform or read the credentials issued to them.
A double-tap cannot become two orders
The storage layer refuses the second write; the application never decides it. On Postgres that is a unique index. Two simultaneous submissions return the same order.

It holds up under load

Measured at a hundred thousand accounts and orders
Seeded on an isolated database and measured through the application's own code paths. Three request paths were reading whole collections and were rewritten to indexed queries: a signed-in page view went from 31 seconds to under a third of one.
A busy counter cannot oversell
Stock moves by compare-and-set. Eighteen simultaneous orders against five in stock accept five, refuse thirteen, and leave the balance at zero.
Every action is attributable
An append-only audit trail records who changed a price, a status, a staff role or a settlement account, and when. It is never edited or deleted from the product.

Ask us what is missing

We keep a current, unedited list of what this platform cannot do yet, infrastructure, agreements, and how much of the above is proven by testing rather than by volume. It goes to anybody evaluating us, in full, before a pilot.

Run several shops?

Tell us how many branches and where, and we will tell you what a pilot would actually involve.

Start a conversation