The Business Platform is a point of sale and back office for businesses that run more than one counter. One deployment serves many independent businesses, and each sees only its own branches, stock, staff and takings.
It is a separate application from the Genmars client portal, on its own host with its own database. Using it does not make a business a Genmars consulting client, and nothing about a shop's own staff or trading reaches the rest of the company.
What it does today
A shop signs in with a Genmars account, names its business, and adds a branch, something to sell and a till. From there:
- The till. Scan a barcode or type a name, build a basket, take payment, hand over a receipt. Prices and tax come from the catalogue, and the total charged is computed on the server rather than in the browser.
- Branches and registers. Cash and sales are counted per till, with an opening float and a figure for what the drawer should hold at the close.
- Catalogue and tax. A shelf price carries its own VAT rule. At an inclusive rate a label of 116 means the customer pays 116 and 16 of it is tax, so the total does not jump at the payment step.
- Stock. A quantity never changes on its own. It moves by an amount with a reason attached — a sale, a delivery, a breakage, a count that disagreed — and every movement is recorded, so any figure can be traced back to what produced it.
- Sales, voids and refunds. A completed sale is never edited. Cancelling marks it cancelled and puts the stock back; refunding writes a refund beside it. What was charged stays what was charged.
- Reports. Takings, gross profit, average basket and tax collected over a day, a week, a month or a year — broken down by branch, product, cashier and how the customer paid, plus which tills are open and what should be in each drawer.
Who signs in, and with what
There are two kinds of person here, and they are authenticated differently on purpose.
The subscriber — an owner, an administrator, an accountant — is somebody who deals with Genmars, and signs in with their Genmars account. There is no second password to keep.
A cashier is not our customer; they are our customer's employee. So till staff hold credentials that belong to the business employing them, are created and withdrawn by that business, and never reach Genmars. Withdrawing one signs that person out of any till they have open immediately, rather than at the end of the shift.
The two credential stores never cross. A till login cannot authenticate against anything of ours, and a Genmars account is not a way into somebody's register.
How one business is kept apart from every other
Tenant isolation is written in one module rather than repeated in each view, so there is one place to audit. It guards reads and writes both — scoping a query stops one shop reading another's rows and does nothing whatever about a write that names another shop's branch.
A record outside a caller's scope answers "not found" rather than "forbidden". The difference matters: a refusal that confirms the row exists is a way to enumerate what other businesses have, wearing a different hat.
Paying, and being paid
The till records how a customer paid — cash, M-Pesa, card, bank or on account — alongside the amount, because that split is what a drawer is reconciled against at the end of a shift. It records the payment; it does not yet initiate one, so an M-Pesa payment is confirmed the way the shop already confirms it.
A checkout carries an idempotency key generated before the first attempt, so a till that retries after a dropped connection gets the original sale back rather than charging a second time.
Where it stands
The software runs, and the whole path from an empty account to a receipt works. Nobody is trading on it yet and there is no subscription billing — so the prices on our services page are what we intend to charge rather than what anybody is paying, and there is nothing to sign up to today.
If your own timeline runs past a few months it is worth a conversation now. Early users shape what gets built next, and what gets built next is an open question rather than a roadmap we are reading from.
The source is public at github.com/genmarstech/business-os, including the tests that hold the isolation and money rules described above. We would rather be read than believed.