# How to prevent theft in your shop: stock and cash

> To prevent theft in a shop, make every sale, discount, void, refund and stock movement traceable to one person, and check the results regularly. Give each cashier their own login, require a manager for large discounts and price changes, count cash at every shift close, count stock by category, check deliveries against invoices, and confirm M-Pesa payments on your own statement.

## In short

- Stock and cash go missing through customers, staff, suppliers and honest mistakes; each needs its own control.
- Make every sale, discount, void and refund traceable to one named person.
- Check every delivery against the invoice before the driver leaves.
- Confirm each M-Pesa payment on your own statement, never on the customer's phone.
- Count cash every shift and risky stock every month, and act on patterns, not single days.

## Why do stock and cash go missing?

Stock and cash go missing through customers, staff, suppliers and honest mistakes. A shop usually loses a little through each, and the losses add up quietly because no single one is large enough to notice on the day.

The aim is not to treat everyone as a suspect. It is to set up the shop so that honest staff are protected, mistakes are caught early and dishonesty is hard to hide. Good controls also make the shop easier to run: when every movement is recorded, a disagreement can be settled with the records instead of an argument.

## What are the common ways shops lose stock and cash?

The same few methods come up again and again. Each one has a simple control.

| How it happens | What it looks like | Control |
|---|---|---|
| Sweethearting | A cashier undercharges a friend or relative, or lets items through without ringing them up | Ring up every item; spot checks of receipts against bags; review discounts by cashier |
| Voids and refunds | A sale is voided or refunded after the customer has paid and left, and the cash is kept | Record who voids and refunds; check that each refund has a returned item |
| Fake discounts | Discounts given without reason, or prices changed at the till | Manager approval for large discounts and price changes |
| Unrecorded sales | Cash taken for goods without ringing up the sale | A receipt for every sale; regular stock counts; cash counts at every shift close |
| Fake M-Pesa messages | A customer shows a forged or old confirmation message | Confirm each payment on your own statement, or use a payment prompt |
| Short deliveries | Fewer cartons delivered than invoiced, or the wrong sizes | Count and check every delivery before signing |
| Shoplifting | Small, valuable items taken from open shelves | Keep them behind the counter; clear sight lines; greet every customer |
| Write-off abuse | Good stock recorded as expired or damaged and taken home | Manager approval for every write-off; keep damaged goods until inspected |

## How do you stop theft at the till?

Make each cashier responsible for their own sales and their own cash, and make every exception visible. When every sale, discount, void and refund carries a name, honest cashiers are protected and unusual patterns stand out.

1. **One login per person.** Every cashier has their own login or PIN, even on a shared till, and never shares it. Change it as soon as someone else might know it.
2. **Limit discounts and price changes.** Decide what a cashier may give on their own and require a manager for anything larger.
3. **Review voids and refunds every week, by cashier.** One cashier with far more voids than the others needs a closer look.
4. **A receipt for every sale.** Print or hand over a receipt every time, and tell customers they should always get one. A sale without a receipt is often a sale that was never recorded.
5. **Count the drawer at every shift close.** A second person recounts and signs. Our guide to [cash drawer reconciliation](https://wavepos.app/guides/cash-drawer-reconciliation) explains the procedure step by step.
6. **Close the drawer between sales** and lock the till whenever the cashier steps away.
7. **Ring up staff purchases** like any other sale, paid before the goods leave the shop.

## How do you stop stock going missing from the store?

Control what comes in, what goes out and who can change the stock records. Away from the shop floor, stock leaves through the back door, at the receiving bay or through the records.

- **Check deliveries before signing.** Count the cartons, open a few, and check sizes, prices and expiry dates against the invoice. Write any shortage on the delivery note and have the driver sign it. Record what you actually received, not what the invoice says.
- **Separate jobs where you can.** The person who receives goods should not be the only person who records them. In a small shop, the owner checking the delivery note against the stock entry is enough.
- **Approve every write-off.** Keep damaged and expired goods in a marked area until a manager has seen them and approved the write-off.
- **Count risky categories often.** Cigarettes, spirits, phone accessories, cosmetics and cooking oil are easy to carry and easy to sell on. Count them every week or month; see [how to do a stock take](https://wavepos.app/guides/how-to-do-a-stock-take).
- **Count transfers on arrival.** Goods moved between branches are counted when they arrive, and any shortfall is recorded.
- **Agree fair rules for staff bags and the back door,** and apply them to everyone, including family members who work in the shop.

## How do you deal with fake M-Pesa messages?

Accept an M-Pesa payment only when it appears on your own statement or arrives on the shop's own phone. Never accept a message on the customer's phone, a screenshot or a forwarded message as proof of payment.

Fake messages are often sent from an ordinary phone number, or they are old genuine messages shown again. Train cashiers to check the amount, the time and the transaction code against the shop's own records before handing over the goods. A payment prompt sent to the customer's phone removes most of the risk, because the payment is recorded only once the customer has entered their PIN and the money has gone through. Our guide to [accepting M-Pesa payments](https://wavepos.app/guides/accept-mpesa-payments) covers the options.

## How do you investigate a loss fairly?

Start from the records, not from suspicion. A loss that looks like theft is often a counting mistake, a missing delivery note or a sale rung up under the wrong item.

1. **Confirm the loss.** Recount the stock or the cash with a different person.
2. **Check the paperwork.** Deliveries, transfers, returns and write-offs for the period.
3. **Look for a pattern.** Which items, which days, which shifts and which people were involved each time?
4. **Talk privately.** Ask for an explanation before drawing conclusions, and never accuse anyone in front of customers or other staff.
5. **Act consistently.** Apply the same rules to every employee and every family member.

If you believe a crime has been committed, report it to the police and get advice before taking action against an employee.

## How Wave POS helps you control theft

Wave POS keeps a record of the things that usually go missing quietly: who made each sale, every void, return and adjustment, and every shift's count.

- **A PIN for every cashier.** Cashiers sharing a drawer switch in with their own PIN, and every sale records who made it. The lock screen keeps the till closed between customers.
- **Manager PIN for large discounts and price changes.** Large discounts and price changes at the till need a manager's PIN, so a cashier cannot give them alone.
- **Voids and returns are recorded.** A void cancels the whole sale and puts its stock back; a return is made by scanning the receipt's QR code, and returned goods go back into stock. Receipt numbers have no gaps, even offline, so a missing receipt stands out.
- **Reversals, not deletions.** A mistaken payment is corrected with a reversal, never deleted, so the history stays complete.
- **Adjustments need approval.** Damage and corrections wait for a manager's approval before they change stock.
- **Stock takes.** Count a category or a whole branch; differences post only when a manager completes the stock take.
- **Shift variances.** Every shift closes with a counted drawer and a variance, over or short, and a shift report.
- **Transfers.** Any shortfall between branches is recorded as lost in transit.
- **M-Pesa prompts.** With the shop's own ZetuPay account connected and an internet connection, the till sends a payment prompt to the customer's phone and records the payment by itself.
- **Audit log and permissions.** An audit log records who did what and when, and roles (Owner, Manager, Cashier, Stock Clerk or your own) limit what each person can do.

See [staff and shifts](https://wavepos.app/features/staff-and-shifts) for how PINs, drawers and permissions work together.

## Frequently asked questions

### How can I tell if an employee is stealing?

Look for patterns in your records rather than guessing. Warning signs include cash shortages on the same person's shifts, more voids, refunds or discounts from one cashier than the others, the same items short at every stock count, and sales that drop when one person is on duty. A pattern is a reason to look closer and talk privately, not proof on its own.

### How do I stop fake M-Pesa payments?

Confirm every payment on your own M-Pesa statement or the shop's own phone before the goods leave. Never accept a message on the customer's phone, a screenshot or a forwarded message. Sending a payment prompt to the customer's phone from the till removes most of the risk, because the payment is recorded only once the customer has entered their PIN.

### Should cashiers share one login?

No. Give every cashier their own login or PIN, even when they share one till and one drawer. With a shared login, no sale, discount or refund can be traced to a person, so honest staff cannot clear their name when there is a shortage. Change a PIN as soon as you think someone else knows it.

### How do I check a supplier delivery?

Before the driver leaves, compare the number of cartons, the sizes and the prices with the invoice, open a few cartons to check the contents, and look at expiry dates. Write any shortage on the delivery note and have the driver sign it. Then record the goods you actually received, not what the invoice says.

### What should I do when I find a cash shortage?

Recount first, then look for missing records: a petty cash payment without a slip, an M-Pesa sale recorded as cash, or a refund recorded under the wrong method. Record the shortage with the cashier's name and any explanation. An occasional small shortage happens in every shop; a pattern on the same person or day needs a private conversation.

---

Source: https://wavepos.app/guides/prevent-shop-theft
Last updated: 2026-10-11
