๐ก Click a matching product from the results to push it to the cart.
Active Checkout Cart
Item Name
Qty
Unit Price
Total
Cart is empty โ search for a product to begin.
Auto-filled if you send the prompt above and the customer confirms it. If they paid you directly without a prompt, you can enter their name and the code from their M-Pesa SMS instead โ but neither is required to complete the sale.
No payment is collected now. A bill will be printed with your payment details, and the sale will wait in the ๐งพ Bills tab until it's settled โ it only appears in Daily Sales once it's paid.
Total: KES 0.00
๐ Current Inventory
Items with 3 or fewer units remaining are highlighted in red and listed under ๐ alerts. Change this in โ๏ธ Settings.
Image
Code
Item Name
Price (KES)
Wholesale (KES)
Unit
Qty Remaining
๐ฆโ๐ข Pieces/Box
Piece Price (KES)
Loose Pieces
Location
VAT
Expiry Date
Status
๐ท๏ธ Offer
No items in inventory yet. Add products from the "Add New Items" tab.
๐ฝ๏ธ Dishes
Dishes are charged per order and don't track stock or need a code. A dish can also be "made from ingredients" (e.g. a burger made from minced meat) โ give it a recipe and stock/cost are calculated automatically from the ingredients.
Dish Name
Price (KES)
Wholesale/Cost (KES)
Charged Per
Recipe
Available
No dishes added yet. Add one from the "Add New Items" tab.
Add Product Parameters
The fields above (Item Code, Price, Stock Quantity) describe the box. Fill in the individual piece's details below โ opening a box (manually, or automatically at sale time when loose stock runs out) moves its pieces into loose stock.
Add each raw ingredient this uses per single sale (e.g. 0.25 kg of minced meat per burger). Stock available to sell, and the cost per sale, are then calculated automatically from ingredient stock and cost price โ you don't enter them by hand.
Cost per sale: โ
Can make right now: โ
๐ผ๏ธ Item Image
Choose a photo already saved on this computer.
๐ฝ๏ธ Tables
Enter how many tables the dining area has and generate them in one go โ typing 10 creates Table 01 through Table 10. Re-generating replaces the current list.
๐๏ธ Rooms
Enter how many guest rooms the hotel has and generate them in one go โ typing 10 creates Room 01 through Room 10. Re-generating replaces the current list.
๐ Generate a Barcode Label
For items that don't already have a barcode \u2014 e.g. a pre-weighed bag of "1/2 kg Rice" cut from a bulk sack. Describe what it is, generate a value, optionally link it to an existing inventory item so it rings up correctly at the till, then print it out to stick on the product.
Letters, numbers, spaces, dashes and periods only.
If picked, this becomes that item's scannable code (its Piece code, for a box & piece item) \u2014 replacing whatever code it had.
Enter or generate a value to preview.
๐ Saved Barcodes
Tick the ones you want on this print run (or leave all unticked to print everything).
Label
Value
Linked Item
Copies
No barcodes saved yet.
๐งพ Bills
Everything still waiting to be paid โ "Bill (Pay Later)" sales from the ๐ Sales Counter, and outstanding balances from ๐ Wholesale Contracts. Click "Settle" to collect payment; it then moves into ๐งพ Daily Sales on the day it's actually paid.
Open Bills
0
Total Outstanding
KES 0.00
Date Raised
Source
Customer / Contract
Details
Amount Due (KES)
No open bills right now.
๐งพ Sales Record
Transactions
0
Items Sold
0
Total Revenue
KES 0.00
๐ต Cash Sales
KES 0.00
๐ฑ M-Pesa Sales
KES 0.00
๐งพ Unpaid Bills
KES 0.00
Time
Server
Items Purchased
Payment
Payer
M-Pesa Code
Status
Sale Total (KES)
No sales recorded for this date.
๐ Highest Demanded Items (Sales Volume)
Calculated from historical transactional checkout data logs.
No sales recorded yet. Trends will appear here once checkouts are made.
๐ฐ Profit Report
Profit = Retail Price โ Wholesale Price, based on each item's wholesale price at the time it was sold. Add wholesale prices to your products in Inventory / Add New Items for this to be accurate. Gross Profit also deducts the day's logged ๐ธ Expenses.
Revenue
KES 0.00
Cost (Wholesale)
KES 0.00
Expenses
KES 0.00
Profit (before expenses)
KES 0.00
๐ฐ Gross Profit (after expenses)
KES 0.00
Margin
0%
Item
Qty Sold
Revenue (KES)
Cost (KES)
Profit (KES)
No sales recorded for this date.
๐ธ Expenses
Log day-to-day costs like food, transport, rent, and stock deliveries. Restocking from the ๐ฅ Restock tab logs its own expense here automatically.
๐ฐ Total Earned (Since Day 1)
KES 0.00
๐ธ Total Expenses (Since Day 1)
KES 0.00
๐ Net (Since Day 1)
KES 0.00
Day's Revenue
KES 0.00
Day's Expenses
KES 0.00
Day's Net
KES 0.00
+ Add Expense
Time
Category
Description
Amount (KES)
No expenses recorded for this date.
๐ฅ Restock (Add Stock by Supplier)
Received a delivery from a supplier (e.g. EABL)? List everything they brought โ new items or top-ups to what you already stock โ and confirm once. Stock is added, prices are updated, and the total cost is logged as an expense automatically.
Item Name
Unit
Qty Received
Cost Price/Unit
Sell Price/Unit
Line Total
Total Cost of This Delivery
KES 0.00
๐ New Contract / Carry Items
Give stock to someone who'll sell it or return it. Retail \u2014 they sell at your shop price; whatever isn't returned is posted straight to ๐งพ Daily Sales when they come back. Wholesale \u2014 you give it to them at a lowered price; whatever isn't returned becomes a balance they owe, tracked in ๐งพ Bills.
Item Name
Qty Carried
Price Given At
Line Total
Total Value Carried
KES 0.00
๐ Open Contracts
Name
Phone
Type
Items (Carried / Returned)
Balance Owed (KES)
No contracts yet. Create one above.
๐ฅ Staff Panel
See who's currently serving, review each staff member's roles, lock their account for a day off, and check how many days and hours they've worked. To invite a new staff member, use โ๏ธ Settings โ Staff Accounts.
Your name shows as the default server in the header whenever no staff member is checked in.
๐ข Quantity Display
How amounts of kg / litres / metres / inches / feet (in ingredients and items) are shown \u2014 in Inventory, the Sales Counter, receipts, and reports. This is display only; whole "pcs" items are never affected.
๐งพ VAT / Tax
Prices already include VAT. Every item is assigned a bracket when it's added (Inventory tab lets you change it any time) โ receipts always show the tax breakdown, computed per item.
%
%
0% (fixed)
๐ Low Stock Alert
Alert when quantity remaining is at or below:
โณ Expiry Alerts
Alert when an item's expiry date is within:
days
๐ณ Bill Payment Details
Shown on printed bills for customers who pay later โ e.g. your Paybill/Till number and phone number. One line per detail.
๐ Receipt Notes
Extra lines printed at the bottom of every receipt and bill โ e.g. "Terms and conditions apply" or "Goods once sold are not refundable." One line per statement.
๐จ๏ธ Receipt Printer
Works with whichever printer mode is selected below. With "System print dialog", the dialog still opens once \u2014 this just removes the extra "Print Out" tap. For it to be fully silent too, launch Chrome with the --kiosk-printing flag (desktop only). With Bluetooth/USB, it prints straight away with no dialog at all.
Not connected.
Once connected, every receipt, bill, and printed report (Expenses, Restock, Sales Report) goes straight to this printer \u2014 no system print dialog.
Not connected.
Works with most generic USB thermal receipt printers, straight from the browser \u2014 no driver and no print dialog. If it doesn\u2019t show up in the chooser, your printer likely needs a driver and won\u2019t work over WebUSB; use "System print dialog" instead. Needs to be reconnected once per browser session.
๐ท Barcode Scanner
No pairing needed here โ nearly all barcode scanners (USB or Bluetooth) act as a keyboard: they "type" the code and press Enter automatically. Just plug it in (or pair it as a Bluetooth keyboard in your device's Bluetooth settings), then scan.
On the ๐ Sales Counter tab: scanning adds the item straight to the cart, from anywhere on the page.
On the ๐ฆ Add New Items tab: scanning fills in the barcode, and looks up the product name automatically if it's a recognized product. If the item is already in your inventory, its existing details load so you can edit them.
Waiting for a scan...
๐๏ธ Cash Drawer
Cash drawers plug into the receipt printer itself (an RJ11/RJ12 port on the back), not into the computer directly โ the printer sends it the "kick open" signal. So this only works with the Bluetooth or USB printer modes above, which give raw access to the printer; "System print dialog" mode can't trigger it.
๐ณ Payment Gateway (M-Pesa STK Push)
Checking configuration...
Set up ONE of the two options below for this shop. If both are filled in, Paystack is used unless you force Daraja at the bottom. Keys are saved for this shop only and are never shown back once saved.
Option A โ Paystack
Simplest option โ one secret key, no Safaricom app needed.
Option B โ Safaricom Daraja
Direct integration with your own Daraja app and Paybill / Till Number.
Force a specific provider (only matters if both are filled in):
๐ Lock Tabs
Check any tab to require the management password before it can be opened. The Sales Counter can never be locked. Whenever a staff member is checked in as "serving," every other tab is locked automatically regardless of these checkboxes โ these settings only apply when no one is checked in.
Unchecking a locked tab will ask for the management password one last time to confirm.
Require the management password to remove an item from the sales cart.
๐ Change Login Password
๐ Change Management Password
๐ฅ Staff Accounts
Invite staff to create their own login. Pick which tabs they're allowed to use below โ everything else stays invisible to them. Once set up, copy their personal ๐ link and send it to them โ opening it asks only for their PIN, no shop password needed. Manage roles, attendance, and lock a day off for anyone already added in the ๐ฅ Staff tab.
No staff added yet.
Send this link to them via WhatsApp/SMS. It works once, on whatever device they open it on.