๐Ÿจ HotelPOS

๐Ÿ“ด Offline

Who's serving?

No staff set up yet โ€” add one in โš™๏ธ Settings.

โš ๏ธ Low Stock Alerts
No low stock items.

โณ Expiring Soon
No items expiring soon.

๐Ÿงพ Open Bills
No open bills.

Product Search

๐Ÿ’ก 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

๐Ÿ–ผ๏ธ Item Image


Choose a photo already saved on this computer.

Preview

๐Ÿฝ๏ธ 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.

๐Ÿ’ฐ 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.

No staff added yet โ€” invite one from โš™๏ธ Settings โ†’ Staff Accounts.

โš™๏ธ Settings

๐Ÿ‘‘ Admin / Owner

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.


๐Ÿ“ท 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.