Capability
The till, the stockroom and the customer record agreeing with each other.
Retail runs on the same catalogue, the same ledger and the same person record as everything else. A sale on the shop floor reaches the same place as a sale through a channel, and a cash discrepancy becomes a task with an owner rather than a note somebody finds at month end.
One catalogue, several counters.
One product catalogue
The same products and product classes the rest of the platform sells. A price change happens once rather than per location, and nothing has to be reconciled between two catalogues that drifted.
Stock dispatch as work
Moving stock is a work type with an assignee, a status history and a blocked state that requires a named unblock action — so a dispatch that stalls is visible rather than assumed.
Cash discrepancies raised, not buried
A discrepancy becomes its own work item in a queue. Somebody owns it, the decision is recorded, and the trail is append-only.
Sales on the person's record
Where a sale is attached to a customer, it belongs to their record: exported with it, erased with it, and governed by the same consent rules as every other interaction.
Separation of duties on the floor
Selling, refunding, adjusting stock and approving a discrepancy are separate capabilities. Nobody approves their own, and the rule lives in the query rather than in a policy document.
Local dates, central books
A posting uses the tenant's local day while an audit instant stays in UTC, so the books read correctly in the shop's own calendar without the audit trail becoming ambiguous.
Priced per location, per month.
Retail is charged per trading location rather than per till, per user or per transaction. A location is the thing you open and close, and it is the unit your business already thinks in.
Open another shop and the charge follows it; close one and it stops. There is no per-transaction component, because a busy day should not cost more to record than a quiet one.
- A flat monthly rate per trading location
- No charge per till, per operator or per transaction
- Charged on top of the tenancy, alongside any other metered modules
- Seasonal locations are charged for the months they are open
Questions about retail
What counts as a location?
One trading place — a shop, a counter, a site with its own takings. Two tills in the same shop are one location; two shops are two. We agree it with you before anything is priced.
Do I need the commerce module too?
If you want the ledger, baskets and the rest of the commercial machinery, yes — retail is the shop-floor surface on top of it rather than a replacement for it. We will tell you which you actually need.
What happens when the till disagrees with the cash?
It becomes a cash discrepancy work item in a queue, with an assignee and an append-only decision history. Approving your own discrepancy is not possible, and that is enforced in the query rather than asked of people.
Can a sale be anonymous?
Yes. A sale does not require a customer record, and attaching one is a choice rather than a condition of selling. Where a record is attached, the sale becomes part of that person's data with everything that follows from it.
Related capabilities
Bring a day's takings and the awkward case — the refund without a receipt, the stock that walked, the till that was two pounds up.