Every evening the staff group fills up. One attendant writes "sold 40, cash 3,200", the driver sends a photo of a notebook page, and someone forgets until morning. When you sit down to add it all up, numbers are missing and the M-Pesa does not match.
The fix is one short report, in the same order, from every station, van and shop, every evening. Here is a format you can copy today, what each line is for, and how to check it in a few minutes.
What every evening report must include
Each line answers a question you would otherwise have to phone and ask.
- Date. The day of the sales, not the day the message was sent. A report sent after midnight still belongs to yesterday.
- Place. The station, van or shop, spelt the same way every day. WhatsApp already shows who sent the message, so the name needs no line of its own.
- Items and quantities. Each product, how many were sold and the amount, using the same names every day.
- Cash. All the cash taken from sales today, before anything was paid out of it.
- M-Pesa. What customers paid into the business's Till, Paybill or Pochi la Biashara today. One line for each number if you have more than one.
- Expenses paid from cash. Each cost with what it was for, and their total.
- Cash in hand. Cash minus those expenses: the money that will be handed over or banked.
- Stock left. A count at closing of the items you track.
If you sell on credit, add a line for who owes and how much. Then cash, M-Pesa and credit together make total sales.
A daily sales report format staff can copy
Here is an example from a made-up water refill station in Kisumu. The prices and numbers are invented, so swap in your own items.
Day report
Date: Mon 2 Nov 2026
Place: Mamboleo station
20 L refill x 24 = 1,920
10 L refill x 15 = 750
5 L refill x 22 = 660
1 L bottle x 18 = 1,080
Total sales: 4,410
Cash: 1,860
M-Pesa: 2,550
Expenses from cash: lunch 150, soap 120 = 270
Cash in hand: 1,590
Stock left: 1 L bottles 42
Three sums make the report check itself before you even open M-Pesa:
- Cash plus M-Pesa equals total sales. 1,860 + 2,550 = 4,410.
- Cash minus expenses equals cash in hand. 1,860 - 270 = 1,590.
- Yesterday's stock left minus today's sales equals today's stock left. Yesterday's report said 60 bottles, and 60 - 18 = 42. If stock arrived, write a line such as "Stock in: 1 L bottles 48" and add it to yesterday's count.
If any of the three is wrong, send the report back before you check anything else.
For a van or a busy shop
- A van writes loaded, sold and back for each item: "20 L: loaded 60, sold 52, back 8". Loaded minus sold must equal back. Fuel and parking go under expenses, and the place is the vehicle or its route.
- A shop with many items lists the few items it counts every day, puts everything else on one line ("Other items = 3,250"), and counts stock only for the items that sell fast or go missing.
Rules that make staff post it every evening
A format only works if it looks the same every day. These rules keep it that way.
- One message per place, in the same order. The quickest way is to copy yesterday's report, change the numbers and send.
- Pin the example. WhatsApp lets you pin a message to the top of a group for up to 30 days, and the group's admins decide who may pin (Android Central). Pin it again when it drops off.
- A fixed time. For example, by 8.30 pm on every day the place opens. A slow day still gets a report.
- Plain figures. Write 2,550, not "2.5k".
- Corrections in a new message. WhatsApp lets the sender edit a message for up to 15 minutes, and the group sees only an "edited" label, not what changed (WhatsApp). Ask for "Correction: M-Pesa 2,470, not 2,550" as a new message instead.
- Receipts for bigger costs. Agree an amount, say Ksh 500, above which an expense needs a photo of its receipt.
- Reply to every report. A short "Checked, thanks" shows staff that someone reads it.
How to check the report against M-Pesa
Cash you can count. M-Pesa you check against the business's own records, never against a message on a customer's phone or a screenshot. (For the full routine at a counter with staff, see how to keep track of M-Pesa payments at a shop.)
- Open the day's payments. For a Till, Safaricom's M-PESA Business App shows the money that came in, finds a payment by its transaction code, and exports statements for up to the last six months, as of November 2026 (Safaricom). Paybill and Till accounts with a web administrator can see statements on Safaricom's M-PESA portal (Safaricom). For a Pochi la Biashara, go through the payments on the phone that holds it.
- Add up the day's payments from opening to closing. Decide when the day ends and keep to it, or late payments will move between days.
- Compare that total with the report's M-Pesa line.
- Ask for codes, not stories. Every M-Pesa payment has its own transaction code. For a payment in the report that is missing from the statement, ask for the code and search for it.
If customers sometimes pay an attendant's own number, stop it. That money mixes with personal money and is hard to check. Give customers the business's Till, or a Pochi la Biashara on the owner's line, which keeps business money apart from personal money (Safaricom).
More than one place? On Safaricom's Till, a business with several stores has a head office account and a store account for each, and the head office can download each store's statement in the M-PESA Business App (Safaricom). With a Till for each station or van, every place's M-Pesa is already separate.
Example: a Ksh 80 gap
Take the example report above, with its made-up numbers. The Till statement shows Ksh 2,470 for the day, not 2,550. The gap is 2,550 - 2,470 = 80, exactly one 20 L refill. Now count the cash:
- Cash in hand is Ksh 1,670, not 1,590. The customer paid cash and it was written down as M-Pesa. Nothing is lost; correct the report.
- Cash in hand is Ksh 1,590. Ksh 80 never arrived. Ask for that sale's M-Pesa code. If there is none, the customer may have paid another number or shown a message that was not real.
Stop adding the totals by hand
Adding up five places by hand every night is slow and easy to get wrong. Three ways out, simplest first:
- Staff do the line sums. They have the numbers and a calculator on their phone. You only check the three sums.
- A spreadsheet. One row per place per day, a column for each line of the report, and a SUM formula under each column. You still type the numbers, but the sheet adds up the week and the month.
- An app that reads the group. Risiti reads the reports from screenshots or an exported group chat (how to export a WhatsApp chat), and turns M-Pesa messages and statements (Till, Paybill or Pochi la Biashara; CSV, Excel or PDF) into sales and expenses. A sale that shows up in both a report and an M-Pesa message is counted once. Each station or van keeps its own totals, and you see what is left after costs every day, week and month. More on WhatsApp sales.
If you would rather staff enter sales themselves, Risiti lets you share a shop with them: they record sales and costs, and fix them only if you allow it. See staff access.
What to do today
- Copy the example, change the items and prices to yours, and post it in the staff group.
- Pin it, and tell staff the time reports are due.
- Tomorrow evening, do the three sums on each report and check one place against M-Pesa.
- At the end of the week, put the numbers in one place, a sheet or an app, and compare each place's week.
Sources
- WhatsApp: Now you can edit your WhatsApp messages (May 2023)
- Android Central: WhatsApp users can now pin important messages in conversations (December 2023)
- WhatsApp FAQ: How to export your chat history
- Safaricom: M-PESA Business App, frequently asked questions
- Safaricom: M-PESA business channels and portals
- Safaricom: Pochi la Biashara