๐ Admin / Owner
Your name shows as the default server in the header whenever no staff member is checked in.
No staff set up yet โ add one in โ๏ธ Settings.
๐ก Click a matching product from the results to push it to the 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 show as "Unpaid" in Daily Sales until you mark it paid.
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 | Location | VAT | Expiry Date | Status | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| No items in inventory yet. Add products from the "Add New Items" tab. | |||||||||||
Services are charged per use (e.g. printing per page) and don't track stock or need a code. A service 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.
| Service Name | Price (KES) | Wholesale/Cost (KES) | Charged Per | Recipe | Available | |
|---|---|---|---|---|---|---|
| No services added yet. Add one from the "Add New Items" tab. | ||||||
Unique items (e.g. a specific car) and general items (e.g. chairs, tracked by count). "Available" already accounts for units currently out on hire โ see the ๐ Hired Items tab for who has what.
| Item Name | Category | Rate/Day (KES) | Cost/Day (KES) | Total Owned | Available | Status | |
|---|---|---|---|---|---|---|---|
| No hire items added yet. Add one from the "Add New Items" tab. | |||||||
Choose a photo already saved on this computer.
Every item currently on hire, who has it, and how long they've had it. Items past their agreed return date are highlighted and listed under ๐ alerts until you confirm they're back or extend the period.
| Item | Category | Qty | Client Name | ID Number | Phone | Started | Return By | Time With Client | Status | |
|---|---|---|---|---|---|---|---|---|---|---|
| No items currently on hire. | ||||||||||
| Item | Client Name | Started | Returned | Total Charged (KES) | |
|---|---|---|---|---|---|
| No returned hires yet. | |||||
| Time | Server | Items Purchased | Payment | Payer | M-Pesa Code | Status | Sale Total (KES) | |
|---|---|---|---|---|---|---|---|---|
| No sales recorded for this date. | ||||||||
Calculated from historical transactional checkout data logs.
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.
| Item | Qty Sold | Revenue (KES) | Cost (KES) | Profit (KES) |
|---|---|---|---|---|
| No sales recorded for this date. | ||||
Log day-to-day costs like food, transport, rent, and stock deliveries. Restocking from the ๐ฅ Restock tab logs its own expense here automatically.
| Time | Category | Description | Amount (KES) | |
|---|---|---|---|---|
| No expenses recorded for this date. | ||||
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 |
|---|
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.
No staff added yet โ invite one from โ๏ธ Settings โ Staff Accounts.
Your name shows as the default server in the header whenever no staff member is checked in.
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.
Alert when quantity remaining is at or below:
Alert when an item's expiry date is within:
daysShown on printed bills for customers who pay later โ e.g. your Paybill/Till number and phone number. One line per detail.
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.
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.
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.
Waiting for a scan...
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.
Checking configuration...
Configured entirely through Cloudflare Pages environment variables \u2014 nothing to set here. Add either a Paystack secret key, or the four Daraja (Safaricom) credentials, in your Pages project\u2019s Settings \u2192 Environment variables, then redeploy. If both are present, Paystack is used unless PAYMENT_PROVIDER=daraja is also set.
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.
Require the management password to remove an item from the sales cart.
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.