Insights · Keshio
Shop Desk: let counter staff confirm payments without your phone
Your attendant sees each M-Pesa payment land on their own phone or tablet—amount, name, and txn code—while your SMS, balances, and phone stay with you.
The problem at the counter
A customer pays, turns the phone around, and says “Nimetuma.” The attendant has two choices: trust a screenshot, or shout across the shop for the owner to check their phone. Fake confirmation SMS are cheap to make. Handing your phone to staff is worse—it holds your balances, your family’s messages, and everything else.
Shop Desk fixes that. The owner’s phone still receives the M-Pesa text. Keshio files it on that phone, then sends only the few fields an attendant needs to a desk they open on their own device.
What the attendant sees
Open shop.keshio.app on any phone, tablet, or till computer:
- A live payments feed — each credit with the amount, the payer’s first name, the M-Pesa code, the wallet, and the time. A total for today sits on top.
- A “NEW” flash and a toast when a payment lands, plus an optional vibration or browser notification.
- Search — type an exact amount like
1500, a first name, or a txn code likeSJK4…. Matches are highlighted. - A payment card — tap any payment to see the full details and copy the code.
- Pull down to refresh — and it refreshes on its own every few seconds while the screen is open.
Add it to the home screen and it opens like an app, full screen, with its own icon.
What is shared—and what is not
| Shared with the desk | Never shared |
|---|---|
| Time, amount, currency | The SMS text itself |
| Wallet label (e.g. M-Pesa Till) | Phone numbers or account numbers |
| A short title and the txn / receipt code | Your balance after the payment |
| One name token for the payer (e.g. Wanjiku) | Budgets, goals, debits, or other wallets you didn’t pick |
Only incoming payments are sent. Phone numbers and long digit runs are scrubbed from names before they reach the desk.
How to set it up (owner)
- Get Keshio Pro on the phone that receives the till or send-money texts.
- Open Settings → Shop Desk and accept the sharing notice.
- Choose the window—1, 2, 7, or 30 days of payments the desk can see—and which wallets to include.
- Add an attendant: their name and a 6-digit PIN you choose. Keshio gives you a shop code (like
KSH-7Q2M) and an attendant code (likeABCD). - Give the attendant the two codes and the PIN.
You can add up to 20 attendants, each with their own code.
How it works (attendant)
- Open shop.keshio.app and sign in with the shop code, attendant code, and PIN.
- Leave the Payments screen open at the counter. When a customer says they’ve paid, look for the amount—or search for it.
- Optional: open Account → Payment alerts to get a notification for each payment, even with the screen off. On iPhone, add the desk to the home screen first.
Sign-in lasts up to 14 days on that device. Five wrong PINs lock the attendant out for 15 minutes.
How fast is it?
As fast as the owner’s phone. With Pro, the text is filed the moment it arrives, and the credit syncs as soon as the phone has data. The desk checks for new payments every few seconds. If the owner’s phone is off or offline, the desk shows “Last sync …” instead of Live, so staff know to wait.
You stay in control
- Revoke an attendant or change their PIN at any time—their sessions end immediately.
- Turn Shop Desk off and the desk copy of your payments and all attendant sessions are deleted.
- Payments older than your window are pruned automatically, never more than 30 days.
How this differs from the Business API
The Business Ledger API is for software—your books or ERP pulling events with an API key. Shop Desk is for people at the counter, with a PIN and no setup. They are separate switches, and turning one on doesn’t turn on the other.