My DukaGO POSOutlet #001 · Counter 1
Offline Not signed in
W
Walk-in customer
No loyalty account
ItemQtyPrice
No items yet - scan or tap a product
SubtotalKSh 0
Tax (0%)KSh 0
TotalKSh 0

Business profile

This is the actual shop's own details - name, owner, contact, and location. It's what prints on receipts and shows in the counter header, separate from the My DukaGO POS app itself.

Branding - make it yours

Your own logo and background tint, just for this shop - synced to every device signed into it. This is separate from business type, which stays with your platform administrator.


How staff join this shop

There's no code to hand out - a staff member's own PIN is their identity. Add them under Staff below with their name, role, and a PIN, then tell them that PIN. They can type it into this same app on their own phone, anywhere, anytime - the app finds this shop automatically and pulls everything in.

This counter / pay station

Only matters if there's more than one counter - a supermarket with several pay stations, for example. This label is set per device, not synced, so each counter can be told apart in the header and on its receipts.

Business type

This sets what the sales screen looks like - categories, starter catalog, and whether items are tracked as stock or sold as a service. Changing it doesn't delete anything you've already added; it just loads that type's starter items in. What type(s) this shop is set to is controlled by your platform administrator, not changed here - see Manage Shop on their end.

Combine multiple types
Running more than one business from this counter? Turn this on to pick several - e.g. Duka + Carwash - in one go.

This device - technical details

Useful when something looks wrong and you need to see exactly what this specific device currently thinks is true, instead of guessing.

-

A full re-sync from the server is available to your platform administrator - contact them if this device looks out of date and reloading doesn't fix it.

Feed stock

Log new stock received. Only shown and sold for the currently active business type - switch business type first if you're adding SKUs for a different one. Cost price is what it feeds Reports' profit numbers - worth filling in even if you skip it at first.

Inventory

Every product with its stock on hand, buying and selling price and stock value.
CodeProductCategoryStock on handCostPriceMargin

Suppliers

Your registered suppliers - this list is what the Supplier dropdown in Feed Stock pulls from, and it's what auto-generated purchase orders group by.

Reorder needed

Anything below its reorder point, grouped by supplier. Products with no supplier set can't be turned into a PO until one is added above.

Purchase orders

Every PO created from Reorder needed. When the supplier delivers, open it, enter their invoice number, optionally attach a photo of the invoice, and mark it received - stock updates automatically.

Add a supplier invoice

Pick the payment terms agreed with this supplier - the due date sets itself from there, though you can still adjust it by hand.

Outstanding - you owe suppliers

Total outstanding
KSh 0

Paid - history

Record a customer credit

For a regular customer taking goods now and paying later - jot it down here so nothing gets forgotten.

If you know roughly what these goods cost you, add it here - once this credit is paid, the difference counts toward that day's profit in Reports, same as a normal sale. Leave blank and the full amount counts as profit once paid.

Owing - customers who haven't paid yet

Total owed to you
KSh 0
Overdue right now
KSh 0

Paid - history

Awaiting review

When a cashier removes something, the sale keeps moving - this is where it lands afterward so an admin or supervisor can see the reason and clear it, with a proper trail either way.

Pending review
0

Reviewed - history

Sold above list price - today

At a pub/bar, whoever is serving can raise an item's price at the till - never lower it. The extra is part of the sale itself, so it is already inside Revenue and Profit in Reports. This page shows where it came from: who raised what, by how much, and whether an admin has looked at it yet.

Extra collected
KSh 0
Sales with a raised price
0
Awaiting review (all dates)
0
StaffItems raisedExtra collected

Awaiting review

Every sale that included a raised price, newest first, from any device at this shop. An Admin can clear any of them; a Supervisor can clear other people's, not their own.

Reviewed - today

Balance owed by staff

Cash an employee took from the business (advance, float, own use) minus what they have repaid. Anyone can log a cash-out from the till; it goes through with a reason and lands here for an admin or supervisor to review.

Total owed by staff
KSh 0

Awaiting review

History

Add staff

Each person needs their own PIN - checked as unique across every shop on the platform, not just this one. Give someone their PIN and they can sign in with it on their own phone, anywhere, and the app finds this shop automatically.

Roles, in short

Cashier - sells only, 4-digit PIN. Removing a line or clearing a cart is never blocked - the sale keeps moving - but it's sent to Admin → Removals for an admin or supervisor to review afterward.
Supervisor - everything a cashier can do, plus can remove items or clear a cart immediately, no review needed, still fully logged.
Admin - full access: Stock, Reports, Sync setup, and assigning everyone else's role. Admin PINs are 6 digits - longer on purpose, so it's harder for a cashier to glance at the keypad and pick it up.

Staff list

Role is a dropdown you can change any time - promote a cashier to supervisor without deleting their account. Revoke turns off someone's PIN without deleting their sales history. You can have as many active cashiers as you need.

NameRolePINEmail (for Forgot PIN)Status

Attendance - sign-in times

Every sign-in and sign-out, whether from the header logout or the counter's Lock button, most recent first.

NameRoleSigned inSigned outDuration

Audit log

Every sign-in, staff change, business-type change, void approval, and admin-access event, timestamped. This tab is visible only when you're actually signed in as an Admin - a manager-override PIN can't reach it.

TimeWhoActionDetails
Revenue - today
KSh 0
Profit
KSh 0
Sales - today0
Items sold0
Stock purchased (cost)KSh 0
Low stock right now0
You owe suppliers (now)KSh 0
Paid to suppliers - todayKSh 0
Customers owe you (now)KSh 0
Overdue credit (now)KSh 0
Collected from customers - todayKSh 0
Cash withdrawn by staff - todayKSh 0
Sales less withdrawals - todayKSh 0

Daily sales - last 14 days

By business type

This counter is running more than one business - so the combined total above can hide a loser behind a winner. Here's each one on its own.

BusinessRevenueProfitItems soldStock purchased

By payment method

Split out so you can see cash vs M-Pesa separately, but they always reconcile back to the same revenue total above.

MethodSalesTotal
Cash0KSh 0
M-Pesa0KSh 0

Profit & Loss - today

Built from the same sales, stock and credit records as the stats above - not a separate ledger, so it always matches.

Balance Sheet - as of now

A simplified snapshot, not full double-entry accounting: stock is valued at cost, and there's no separate cash-on-hand ledger, so "Cash & M-Pesa" below is everything collected since records began, not a real till count. Good for a directional picture, not a statutory filing.

Sales by staff - today

Who rang up what, by whoever was signed in at the till - the one breakdown that works the same way whether this shop sells stock (a duka) or sells time (a salon/kinyozi, a carwash, a pub). Useful for commission or performance pay without needing a separate system.

StaffSalesItemsRevenueAvg. sale

Cash-up & money check - today

Per waiter: cash, M-Pesa and credit taken; whether every M-Pesa sale carries its confirmation code (last 3 digits is enough); any code used on more than one sale; and what each person has borrowed from the business. Anything to look at is shown in red - you should see no short or excess.

WaiterCashM-PesaCreditM-Pesa checkBorrowed

Items sold - today

Choose Today, Yesterday, This week, This month or This year at the top first.
CodeProductIn stock at startAddedSoldPrice per unitAmountProfitClosing stock

Stock tally - today

Choose Today, Yesterday, This week, This month or This year at the top first.
CodeProductOpeningAddedSoldClosing stock

Sales - today

TimeCashierItemsTotalSynced

Stock received - today

TimeProductQtyCost

Shop Code

Enter this once on any new phone or computer to connect it to this shop. Staff then sign in with their own PIN. Share it only with your own staff.

-

      

Use this if the code has leaked. Phones already connected stay connected; only new phones need the new code.

License & devices

What this shop's plan costs, the date it is paid up to, and the phones and computers linked to it. Paying before the date passes means the shop never locks.

-

Devices linked to this shop

Sign in as the Admin to see and manage linked devices.

Tax (VAT)

Prices at the counter are tax-inclusive - VAT is already inside the price shown on each tile, not added at checkout. Turning this on just splits it out on the receipt and in reports so it's visible, without changing what the customer pays. The toggle applies immediately - no separate save needed.

Charge VAT

Fingerprint security (this device)

A one-time fingerprint enrollment, per admin/supervisor, per physical device. Once enrolled, an instant (unreviewed) item removal, a refund, and opening admin/settings with a PIN will all ask for this device's fingerprint as well - if someone else has learnt a PIN, they still can't use it for these without also having this device and this finger. This is stored only on this device (never synced online), so each admin/supervisor enrolls separately on every device they actually use. Until enrolled on a given device, those actions on that device go through on the PIN alone, and each one is noted in the Audit Log - enroll below to require the fingerprint as well.

Not checked yet
Sign in with fingerprint
When on, this person can tap their fingerprint on this device's login screen instead of typing their PIN. Needs enrolling above first.

Credit sales

Not every shop extends credit - off by default. Turn this on to let cashiers ring up a sale as "Credit" right at the till, tied to a real cart (so stock still deducts correctly), with an agreed payment date. It's recorded under Customer Credit, and counts toward revenue and profit the day it's actually paid, not the day it was sold.

Allow credit sales at the till

Receipts & printer

A web page can't tell whether a printer is physically plugged in - browsers don't allow that for privacy reasons. Instead, "Print" opens the normal print dialog: if a printer is set up on this device, it shows up there and prints for real; if not, the same dialog lets you choose "Save as PDF." One button covers both cases - that's genuinely how it needs to work from a browser.

Backend connection

This shop's connection to the platform is managed centrally and isn't something a shop admin can change - that's what keeps every shop's data reliably syncing to the right place. Contact your platform administrator if this ever needs attention.

Personal backup - Google Drive

Backup connections are managed by your platform administrator. Contact them if you'd like this set up for your shop.

Online / offline behavior

This isn't a toggle you manage day to day - it's automatic.

The app watches the device's real network state. Lose signal mid-sale and nothing changes for the cashier - sales keep ringing up, stock keeps deducting, everything queues locally. The moment the connection is back, queued sales and stock updates drain to the backend on their own. The button below is only there to test that flow on demand, without physically switching off wifi.

One thing to set up once you host this for real: the page itself needs to survive a reload with zero network too - that's what manifest.json and sw.js (included alongside this file) handle. Host all three together and open the app once while online - after that, it opens offline, cold, with no connection at all.

Simulate connectivity
Test how offline sales queue, then flush on reconnect.

Sync log

Welcome!

Choose a 6-digit PIN - this becomes your permanent Admin login for this shop.

Every sale accounted for.

My DukaGO POS

Enter your PIN to start this counter.

© 2026 My DukaGO POS. All rights reserved. · Privacy · Terms

Forgot PIN?·Platform Administrator