Lots and expiry on every tray, so what is baked today is sold today — and a recall is one screen.

Every trade gets the numbers that matter to it, before anything generic. These are yours.


Scroll through one day
Every moment below is a record the app wrote by itself. Nothing was typed twice.
- Doors open
The first person in clocks in on their phone. The timesheet already has the shift; the rota put it there last week.
What got writtenAttendance → timesheet, 07:02 - The first sale
Receipt 1 is rung. In the same second it is a journal entry with its SST line, and the stock it used is gone from the shelf count.
What got writtenDr Cash 21.20 · Cr Sales 20.00 · Cr SST 1.20 - The lot that expires tomorrow
The till flags the batch before it sells another one. The rest of the lot is marked down while it is still worth something.
What got writtenLot 0911 · 6 left · expires tomorrow · flagged - Closing
The day is closed on the till. The journal balances to the sen, the count matches the shelf, and the day's receipts are consolidated for LHDN.
What got writtenDay closed · journal difference 0.00 · e-invoices consolidated - Lights off
Payroll has the day's hours already. The owner reads the day's profit on their phone; nobody stayed back to add it up.
What got writtenPayroll accrual · 8h 12m · P&L updated
Drag, or let it turn. Each one is a real capture from the app.
Expired stock can't be sold. Ever.
Lots and expiry dates, and a recall answered in one screen.
- Every lot carries its date; the till checks it before selling
- Expiring stock is flagged with days to go, not after
- A recall lists exactly who bought from that lot
Bakery · deli · pharmacy-adjacent

Invoicing and e-Invoice, payroll on the same clock-ins, claims and leave, the books — all on the records the till writes.
Not quite yours?
See your first bill before you pay one.
Sign up without a card. Use the whole product until the end of next month. At period close you get a real, itemised invoice for RM 0.00 showing what it would have cost.


