Do you own a supermarket or retail store? — live product tour
Retail POS built first for the one-person shop. Cabbash Offline on an Android phone - or on a Windows PC at the counter - is the till: scan to sell, with or without internet, and every sale reaches the back office by itself when the line is up. The same phone's browser opens the back office - products and stock, purchase orders that bring new stock into your warehouse, expenses, staff and their rota, and a real double-entry ledger with profit and loss. When the shop grows it is the same system across several tills, cashiers and warehouses: a camera barcode scanner, an instant running basket, and stock that moves as items leave the shelf.
Android 8 or later. Open the downloaded file on the phone or tablet, and allow installs from your browser when Android asks — it isn't from the Play Store.
Windows 10 or 11, 64-bit. If Windows says it protected your PC, choose More info, then Run anyway.
Close the till and the day is already in your email - the same document a hotel's owner gets, in a shop's language. Takings, queues served, items sold and discounts across the top; then how the money arrived and which categories carried the day, drawn as charts; then the five best-selling lines and the baskets behind them. The figures are the ones the close committed to, so the report and the till cannot tell you two different things.
/CashierPortal/EndOfDayReport
Owner
A real morning on Till 1: £2,122.72 across 138 queues and 1,227 items, £10.94 of discounts, 35% of it taken in cash - then how it was paid and what needs looking at.
/CashierPortal/EndOfDayReport
Owner
Further in: the top five products, every category and department, each cashier's take, then queue by queue.
The same split on screen, taken from the close's own figures.
Set one address or several on the business itself. Blank means nothing is sent.
A supermarket no longer borrows the restaurant's screen with the unused parts hidden. It has its own, built for one job: a customer at the counter, goods going through, money taken. There is no table to open, nothing sent to a kitchen and no order step - the first scan starts the sale by itself. Dark by default, because a till runs all day in one place, with a light mode a cashier can pick.
A real shop's catalogue with product photos, aisle by aisle, and the basket building on the right with nothing reloading.
/Market/Sell
Search by name across every aisle at once. On a catalogue this size it is how anything without a readable barcode gets found.
/Market/Sell
The keypad, the amount handed over, and the change worked out as it is typed - the number the cashier is actually looking at.
/Market/Pay
Choosing card or transfer reveals only the accounts that take it, and the sale cannot be completed until one is picked.
/Market/Pay
Part cash, part card, part transfer - with a running note of how much of the total has been accounted for.
/Market/Pay
The same receipt the app and the restaurant print, down to the barcode - with the shop's address, website and telephone on it.
CabbashMobile
Laid out for 80mm paper and sent to whatever printer the till already uses - including a Bluetooth one that has been paired. From the phone there is no driver to install; from a computer, see Printing From A Computer below.
CabbashMobile
The same receipt a computer prints through the ordinary Windows print - laid out for the 72mm printable width inside an 80mm roll, and cut by the printer's own driver.
A receipt printed from the phone goes straight to the printer - the app speaks the printer's own language and needs nothing installed. A computer is different, and it is worth being plain about it: a browser cannot talk to a till printer directly, so it prints the way Windows prints everything else. Install the printer's own driver, pick it when you print, and the receipt comes out laid out for the roll and cut at the end. No extra software of ours, no service running in the background - the ordinary Windows print you already know.
Cabbash Offline is the till on an Android phone, and it is built the other way round from a web page: every sale is written to the phone first and sent to Cabbash afterwards. The internet dropping out stops nothing - the cashier keeps scanning, the customer pays, the receipt prints - and when the line comes back every sale goes up on its own, in the order it was taken, without anyone pressing anything.
On a phone-sized screen the basket scrolls and nothing else does: the totals and every button, down to Complete Sale, stay where the thumb expects them.
Cabbash Offline
The line has gone and the till says so across the top - and the £4.55 sale is completed anyway, saved on the till and sent to Cabbash when the line is back.
Five drinks, £20 handed over, £9.85 change - every line and the total to the penny, with the till, the cashier and the time.
Each person's own report before they go home: sales, payments by type, voids and complimentaries, and how many sales are still waiting to be sent.
The same Cabbash Offline, installed on a Windows PC - a touchscreen POS terminal at the counter, or the laptop already in the shop. It is not a second product with its own rules: it is the phone app, built for Windows, so the way it sells, holds its sales and sends them to Cabbash is exactly the same. Every PC is a till in its own right - no server in the back room and no network between the tills to set up.
The Drinks aisle beside the basket, the newest line on top, and the totals and buttons that never scroll away.
Business code, then PIN - from the number keys or the screen. One copy of the till per PC.
The USB receipt printer installed in Windows, or the network printer Store Setup names - and Windows' own offline flag shown, so nobody waits for a receipt that is not coming.
Cash, card, transfer or split. £20 handed over for £10.15, and the change shown as it is typed.
Every printed code is a way in, and now each one is counted: how many people opened the menu or the shop from a printed code, how many guests opened their stay from a room, how many pressed Call A Waiter. A business sees its own; a company sees every business side by side.
The things a real counter needs when a queue does not behave. A customer who has forgotten something gets their basket parked under a name so the next person can be served; one who asks what it comes to gets a printed bill without the sale being closed; and a receipt can be found and printed again afterwards.
Baskets parked under a name, ready to be picked up again.
/Market/Held
Every completed sale, searchable, with its receipt one tap away.
/Market/Reprint
The original receipt exactly as it printed, pulled back by its number.
A tin of beans has one barcode forever. A tray of beef does not - the scale prints a new label for every tray, with that tray's own weight buried in the digits. The till reads the label, works out what 0.74kg of tomatoes comes to, and prices it, without the cashier typing anything.
What your scales print, described once. The tester below says what the till would read.
Loose tomatoes and onions priced off their labels, beside ordinary scanned goods.
/Market/Sell
Three for a fixed price, buy two get one free, a percentage off when two go in the basket. The shop sets them up once, and the till applies them as the shopper piles things on the belt - mixed and matched across everything in the offer, without anybody remembering a rule.
The offers the shop is running, and which products each one spans.
The offer comes off as its own line, so the shopper can see what they saved.
/Market/Pay
Sell one for any value, check what is left on one, spend it like cash.
/Market/Vouchers
The shopper should be able to watch their own basket go up. Two ways to let them: the little two-line pole that screws to the counter, driven straight from the browser over its serial cable, or a second monitor turned to face them. The pole is paired once per till and then forgotten; the on-screen one needs nothing at all.
CabbashMobile
Two lines, green on black, readable at arm’s length. It prints its own settings when you switch it on - that is where the ones on the next screen come from.
Command set, speed and line width - copied from what the unit printed when it was switched on.
/Market/PoleSetup
The basket as it grows, the offer they earned, and a total legible from the other side of the counter.
Some of a till's job is saying no. A bottle cannot go through until somebody has checked an ID, and a pharmacy line cannot go through until somebody has spoken to the customer - the payment screen is simply not reachable until they have. The rest of the job is the drawer: what went in, what came out, why, and whether what is physically there at the end matches.
The bottle is in the basket, and the till says so plainly rather than letting it past.
/Market/Sell
What the till can sell that never came through a delivery.
The float, every movement with its reason, what should be there, and the note-by-note count.
/Market/Drawer
Takings, sales, average basket, refunds and voids for the day so far. Closes nothing.
/Market/XReport
Live sales, till status, and the product catalogue underneath them: barcodes, cost prices, reorder thresholds, and per-terminal price overrides for stores that price differently by site.
Live view for one store - takings, stock and recent end-of-day closes.
Every till, its online status, printer and paper.
Aisle and department organisation, assignable per terminal.
Barcode, cost, reorder point and per-terminal pricing.
Per-till close-out with a seven-day history.
End of Day can run on its own, per terminal, at a time the business sets. It waits for the floor to be genuinely quiet, clears away empty queues, and closes the till - and when it cannot, it says so on a ticket instead of failing silently.
Where the automated close reports anything it could not finish - alongside faults staff raise themselves.
What the close will post, before it posts it - takings by tender against what the till recorded.
Any previous close, reopened read-only - the same figures, months later.
/CashierPortal/EndOfDayPosPrint
The close on the 80mm till printer: takings, the breakdown by tender, department totals, then every line with its count, price and total.
/CashierPortal/EndOfDayDeptPrint
The same close for the departments - each one's products and how many sold, and no money on it at all.
The same day split by department, so a slow aisle is visible rather than averaged away.
Every sale in the period with what it took - the seven tabs across the top are the same close asked seven different ways.
The same money grouped by what was sold rather than who sold it.
Every line sold, with quantity and value - searchable, and sortable on any column.
What each member of staff put through the till in that close.
When the money actually arrived - the shape of the day rather than its total.
The same double-entry books a hotel keeps, turned on for a shop. Every sale the till closes and every expense recorded posts a journal as it happens, so nobody assembles the accounts at month end - they are already written. A supermarket and a restaurant get exactly the same screens here, because money does not behave differently across a counter.
Revenue, expenses, net profit and cash collected - with the trend and where the revenue came from.
Built from the postings, not typed up separately.
What was taken, broken down by where it came from.
What actually moved, against what was merely billed.
Yours to shape - grouped by type, with the mappings that decide where each payment lands.
Every posting the day made, in the order it made them.
The check that the books balance, on demand rather than at month end.
Assets, liabilities and equity, from the same postings.
The till's own story, told back to you - what sold, who sold it, how it was paid for, and what came off a bill rather than onto it. Every report is scoped to one terminal and one date range, so a question about one till on one day has exactly one answer.
Every report in one place, grouped by what it answers.
Every sale closed at a terminal in the period, with its totals and discounts.
Who took what, by value and number of sales, with each one's share.
Cash, card, transfer and split - each as a share of the day's takings.
What came off a sale, who took it off, and when.
Every cashier against what they took - value, number of sales, and each share of the period.
What came off sales, who authorised it, and how much of the period it accounts for.
Warehouses are created for you - one main warehouse per store, and a sub-warehouse per till - and stock moves between them through real purchase orders, request orders and damage write-offs. Low stock is watched per warehouse, so a line that is fine in the stockroom but empty at a till is still flagged.
One main warehouse plus an automatic sub-warehouse per till.
Products below their own reorder threshold at a specific warehouse.
Ordering stock in - collected, moved and paid, which auto-creates a real expense.
Moving stock from the stockroom out to a till's own sub-warehouse.
Write-offs against a till's stock, each with a compulsory note.
Every purchase order records the price actually paid for each item that day, so a price history builds itself per item. What it cost last time, what it costs now, and whether it has crept up - no spreadsheet, just a by-product of ordering stock the normal way.
Each item's last price against its latest, the change flagged in red when it rose, a trend line beside it.
Every purchase of an item, oldest first, and how the price moved each time.
CabbashMobile
Store Admin
The End of Day report's price tracking section - item, old and new price, and the rise, in red: Toilet Roll 9pk from £2.95 to £3.40, up 15.3%.
Set a threshold and any item whose price jumps more than that over its last purchase is flagged, in red, right on the End of Day report that already goes out when the till is closed. A supplier nudging a price up quietly does not stay quiet.
A freezer drifting warm, a generator that will not catch, a drain backing up during service. Each one gets raised with a severity, sent to the firm that fixes that sort of thing, and then updated every time anything happens until somebody writes down what fixed it. Months later, when the same fault comes back - and it does - the whole story is still there.
Open faults by severity and how long each has waited, closed ones below with how long they took.
Open a ticket and every update is there in order, with the box to add the next one.
Who you call for what, with the contact who answers.
Your own list, so the book can be read by what keeps breaking.
When a printer stops mid-service nobody has time to work out whether it is the printer, the network or the till. Technical Support is a role for the person you call, and it gives them something no other role has: a phone screen showing what actually went wrong today, and a tool that finds every printer on site and prints a test page to any one of them. They are not a till user with extra buttons - they sell nothing, and the sales screens are not theirs to reach.
Network printers found by sweeping the network, Bluetooth printers the phone is paired with - each with its address, its state, and a test print.
/Support/Printers
A test print that failed, and said so. A Bluetooth printer cannot be asked how it is, so the test is what answers - here the printer was switched off.
/Support/Printers
A supermarket customer is not sitting at a table waiting to order, so they get a different code from the one a restaurant prints. Theirs opens a barcode scanner: point the phone at any item on the shelf and its price, description, allergens and details come back straight away - no app, no account, and no queue for a price check.
What a shopper gets after scanning the store's code - a price check in their own hand.
/CustomerOrdering/Scan
One code per store - no app to install, no account to make.
/CustomerOrdering/QrCode
A barcode read by the shopper’s own camera, against the same catalogue the till is using.
/CustomerOrdering/Scan
The "Scan to Check Price" sign on the shelf: the shopper scans the store's QR code once, then points the camera at any barcode and sees the price - no app, no account, no queue at a price-check station.
Promotions the till can apply, with dates that decide when they run. A code is created once with a percentage and a window, and it appears on the till for exactly those days - nobody has to remember to switch it on in the morning or off at the end of the month.
Promotions with their own dates - running, scheduled or finished, at a glance.
Codes and offers with their own dates and limits, applied at the till rather than argued about.
Customers carry a card with a barcode. Points earn on what they actually pay and are spent as money off a later sale, at rates the business sets itself. It is a real balance with a real ledger behind it - every point earned, spent or adjusted is recorded, so a balance can always be explained.
Who is on the scheme, what they hold, and what the business owes them.
Every point earned and spent, per member, with the sale that moved it.
Running costs and staff discipline sit alongside the sales side of the business, with one grouped view of every user, till by till. Scheduling and clock-ins each have their own section.
Day-to-day running costs, categorised by expense type.
Staff discipline records - type, staff member, manager, outcome.
Staff grouped by terminal, with role, PIN login and portal access status.
A company running several stores gets its own layer above them: what it pays for the suite, how each store performed today, every user across the whole business, and a group-wide sales rollup that drills back down into any one of them.
What the company pays, total headcount, store breakdown, and today's takings per store.
Every admin and staff member across the company's stores.
Group-wide sales rollup with a date range, drillable into each business.
Nobody here runs payroll. It belongs to the company above this business - the group employs the staff and the group pays them - so head office opens one list covering every business at once and runs it from there. What this business contributes is the part it already produces: the hours. Every clock-in and clock-out on the staff app is the record the run reads from, so nobody is paid from anybody's memory of who worked when.
Every member of staff the group employs, across all its businesses, on one list - with the business each belongs to.
Expected against actual, the hours pulled from real shifts, and the variance called out before anything is paid.
A completed run: the period, who ran it, when, and a payslip line for each person.
Every shift starts and ends here. From the login screen a staff member taps Attendance Tracker - no sign-in, no till session - keys in the business code and their PIN, and meets the same clock they use on their own phone: one big button that takes a photo to prove it is really them, then logs the time. It is the record payroll trusts, and the same screen shows each person their own hours and history - nobody else's.
The same keypad as staff login, but it opens the clock rather than a till session.
/Attendance
The big camera button, green when you are off the clock - a photo confirms it is you.
/Attendance
The front camera opens for one shot before the time is logged - the record payroll relies on.
/Attendance
Red once you are in, with the time you started and today's hours below.
/Attendance
Days and hours this week and month, a 14-day chart and every recent shift - each person's own, never a colleague's.
/Attendance
A manager plans the week ahead a shift at a time - or the same shift for several people at once. A shift stays a draft until it is published, and once it is, it becomes what the clock checks against: nobody can clock in for a day they are not rostered on. Real clock-ins are then matched back to the plan, so who turned up - and who was late - is a screen, not a guess.
The week's schedule, one row per staff member, draft until it is published.
Pick any number of people from the staff multi-select and the same shift is added for each.
Delete just one person's row, or the entire shift for everyone on it at once.
Real clock-in/out matched against the rota - On Time, Late, Left Early or No Show.
Front desk staff work a night shift; a manager reads the same screen in daylight. Both themes are designed, not one inverted into the other, and the choice sticks. The whole interface is translated too - English and Nigerian Pidgin, across every page - and switching language keeps you exactly where you were rather than dropping you back at a dashboard. The screens below are the hotel property, because that is the business this portal runs - the top bar carrying both controls is the same one on every kind of Cabbash business.
The dashboard at night - real occupancy, real charts, designed for the dark rather than inverted.
The busiest screen in the building, on the theme a night shift will actually use.
Two languages in the top bar of every page - switching keeps your place.
The same product in Pidgin - the interface, not just a few labels.
Cabbash also runs company and hotel and restaurant & lounge businesses, each with its own product.