The Drawer That Needs a Second Signature
A cashier who counts their own drawer and approves their own shortage has written themselves a receipt. Since 14 October a closed drawer waits for a second person, the variance is journalled when they sign, every M-Pesa and card payment keeps its reference, and every sale keeps the cost it was made at.
Achieng closes the till at a Kisumu minimart at 9 pm. The drawer is KES 500 short. On most systems the next thing that happens is that Achieng types the count, the system records a variance of −500, and Achieng is the last person to look at it. Nobody has done anything wrong, and nobody has checked anything either.
Close, then wait
Closing a drawer still records the count and the variance against what the drawer should hold. What changed is what happens next: the drawer does not finish there. It moves to Awaiting sign-off, a filter on the drawer list on the web and in the mobile app, and stays there until a second person looks at it.
Achieng’s drawer at close
The variance is recorded at close. Nothing reaches the ledger until a supervisor signs.
Someone who is not the cashier
Sign-off needs a new permission, sign off POS cash drawers, and one more condition the permission alone cannot express: the person signing must not be the person who closed the drawer. A shift lead who holds the permission and closed their own till still needs someone else. Otieno, the supervisor, opens the drawer, sees the count and the variance, adds a note if he wants one — “coin bag recounted, short confirmed” — and signs.
A drawer is signed once. There is no second signature to overwrite the first, and no way to sign a drawer that has already been signed. On the mobile app the drawer’s detail screen carries the Sign Off button for anyone permitted, and signing needs a connection — it is the one step in the drawer’s life that must not be queued offline and reconciled later.
The permission says who may sign. The rule says who may not. You need both.
The variance gets a journal
At sign-off the variance is posted to the ledger. A shortage debits Cash Over and Short and credits Cash; an overage does the reverse. A drawer that balances to the shilling journals nothing. So Achieng’s KES 500 becomes a debit of 500 to Cash Over and Short and a credit of 500 to Cash, dated the day it was signed and traceable to the drawer and the two people involved.
| Count at close | Debit | Credit | Amount |
|---|---|---|---|
| Short by KES 500 | Cash Over and Short | Cash | 500.00 |
| Over by KES 200 | Cash | Cash Over and Short | 200.00 |
| Balanced | — | — | No journal |
Over a month that account is the most honest number in the shop: the net of every shortage and overage, each one signed for. For the end-of-day routine around it, see the daily close with M-Pesa; for the drawer screens themselves, cash drawer management.
The M-Pesa code, kept with the payment
Cash is reconciled by counting. M-Pesa and card are reconciled by matching, and matching needs a reference. Each POS payment now stores one: the M-Pesa transaction code — something like SJK4Q2X7PL — or the card authorisation code. The cashier can type it at the till on the web or in the app, and when the register’s own STK push or card charge completed the sale it is filled in automatically.
The reference is upper-cased as it is saved, so a code typed in lower case reads the same as the one on the statement. It is shown on the sale’s payment list, including on payments added to a sale afterwards. It is optional, and never asked for on cash. When a customer disputes a payment, the code is on the sale in front of you to compare with their SMS and your paybill statement, rather than in a notebook beside the till. Finding a sale by its code is a separate step we can add — today the sales list filters by payment method, and the code is read on the sale itself. M-Pesa Daraja integration explains where the automatic codes come from.
A margin that does not move after the fact
One more change sits under every sale. Each POS sale line now keeps the item’s unit cost at the moment of sale. Stock is valued at a moving average, so a delivery next week at a higher price moves the average; on the old basis that move would quietly rewrite the margin on every earlier sale of the item, and last month’s report would disagree with itself when run again.
Now the sales-by-item and POS summary margins use the cost the line was sold at, and a return reverses exactly the cost the original sale posted rather than today’s cost. Sale lines from before 14 October fall back to the current cost, because they were never given one. The costing change itself is explained in what the stock on the shelf actually cost.
The rest of the counter
Two-person close, the variance journal, payment references and sold-at cost are in place on the web and in the app. These are the requests we hear next from shops that run them.
A split tender at checkout
Part cash, part M-Pesa in the checkout itself. Today a sale takes one method at checkout and further payments are added to it afterwards.
A variance tolerance
Drawers within a set amount — say KES 50 — signed off automatically, so supervisors spend their attention on the ones that matter.
A blind count at close
The cashier counts without seeing the expected figure, so the count is a count rather than a reconciliation towards a number.
Find a sale by its M-Pesa code
Search the sales list by transaction code or card authorisation, so a code from the paybill statement leads straight to its sale.
Tell us how your tills close today and we will return a written scope and cost.
Scope the till closeThree questions for any till system
Can the cashier who closed the drawer approve its variance?
A good answer sounds like
No — a second person must sign.
What it tells you
A self-approved shortage has no reviewer.
Where does a signed shortage land in the books?
A good answer sounds like
A named account, journalled at sign-off.
What it tells you
A variance with no journal lives in a report and nowhere else.
Open an M-Pesa sale. Where is the transaction code?
A good answer sounds like
On the payment, filled by the STK push or typed at the till.
What it tells you
A code kept only in an SMS inbox cannot be matched to a statement later.
Our position
Give the sign-off permission to supervisors and not to cashiers, make Awaiting sign-off the first filter your shift lead opens each morning, and ask cashiers to type the M-Pesa code on any payment the register did not collect itself. A KES 500 shortage is not the problem. A KES 500 shortage that only the cashier ever saw is.
What AWRA OpsHub does today
- Drawer close that records the count and the variance, then holds the drawer as Awaiting sign-off on the web and in the mobile app.
- Sign-off by someone with the sign off POS cash drawers permission who is not the person who closed the drawer, once only, with an optional note.
- A journal at sign-off: a shortage to Cash Over and Short against Cash, an overage the reverse, a balanced drawer nothing.
- An M-Pesa code or card authorisation stored on each POS payment, typed or filled automatically from the register’s own STK push or card charge.
- The unit cost at the moment of sale stored on every POS sale line, used by margin reports and by returns.
More we can add to your workspace
- A split tender inside checkout, so one sale is part cash and part M-Pesa from the start.
- An automatic sign-off for variances within a tolerance you set.
- A blind count at close that hides the expected figure from the cashier.
- A search of the sales list by M-Pesa code or card authorisation. Today the code is shown on each sale and the list filters by payment method.
Where we point you to a specialist
- Whether a shortage is recovered from a cashier is an employment matter between you and your staff, and local law governs it. The system records the variance and who signed; the decision about the person stays yours.
Two people at every close
Grant the sign-off permission to your supervisors and the next drawer closed will wait for one of them.
POS shift reconciliationFrequently asked questions
Who can sign off a closed cash drawer?
Anyone holding the sign off POS cash drawers permission, except the person who closed that drawer. A drawer can be signed off once.
What journal does a drawer shortage post?
At sign-off, a shortage debits Cash Over and Short and credits Cash. An overage is the reverse, and a balanced drawer posts nothing.
Can I sign off a drawer from the mobile app?
Yes, from the drawer’s detail screen, if you hold the permission. Sign-off needs a connection.
Where is the M-Pesa transaction code stored?
On the POS payment itself. It is filled automatically when the register’s own STK push completed the sale, can be typed at the till otherwise, and is shown on the sale’s payment list.
Why did my old sales margins not change after a new delivery?
Each POS sale line keeps the unit cost at the moment of sale, so later changes to the average cost do not rewrite it. Lines from before 14 October 2026 use the current cost.