AWRA OpsHub Search

Float, Drops & the Drawer That Won't Hand Over

A cash drawer here is a real record: an opening float, safe drops, a counted close and a variance you cannot argue with. Sales are refused unless one is open. There is one operational catch that will find you on the first shift change, and it is now signposted rather than silent.

Retail & Distribution Washingtone Aura 13 min read

Ask a shop owner where their cash goes wrong and you will hear about theft. Ask their accountant and you will hear about the float — the two thousand shillings that lives in the drawer, is never counted, is topped up from takings when it runs low, and quietly absorbs every small error the shop makes for the rest of the year. Theft is dramatic and rare. An uncounted float is boring and permanent.

The cash session in this system exists to end that. It is not a report you run at the end of the day; it is a record with a beginning, a middle and an end, and the till will not sell without one.

The whole model in one paragraph

A cashier opens a drawer at a counter and declares the opening float. During the shift, cash sales accumulate against that session, and any money moved to the safe is recorded as a drop with an amount, a note and the person who moved it. At the end, the cashier counts the physical cash and declares it. The system computes what should be there — opening float, plus cash sales, minus drops — and stores the difference as a variance on the session, permanently, next to the name of whoever closed it.

No drawer, no sale
A POS sale is refused unless an open session exists at that counter
Float + sales − drops
Expected cash, computed rather than typed by anybody
Stored, not shown
Variance is written onto the session with the closer's name, not displayed once and lost

Why "no drawer, no sale" is the most valuable line in this article

Most systems let you sell without opening a drawer, and then offer a cash-up report at the end of the day. The report is honest about the sales and knows nothing about the float, so the variance it shows is meaningless and everyone learns to ignore it.

Here the sale is refused. A cashier who has not opened a drawer cannot ring a sale — the till sends them back with a message telling them to open one. That single refusal is what makes the variance figure mean something: every cash sale in the shop belongs to a session that someone declared a float for and someone will count.

The same rule extends to cash refunds. A refund to cash needs an open drawer at the counter the sale was rung on, because the refund has to land inside a session that will be counted. A refund that lands nowhere is a drawer that comes up short with no explanation.

The arithmetic, including the part that catches people

Change is where cash-up arithmetic usually goes wrong, so it is worth showing what the system does with it.

Opening float declared 2,000
Sale 1 — 1,200 sale, customer hands over 1,200 Cash in 1,200, change 0, counts as 1,200
Sale 2 — 3,400 sale, customer hands over 4,000 Cash in 4,000, change 600, counts as 3,400
Sale 3 — 900 sale, paid by M-Pesa Counts as 0 against this drawer
Refund — the 1,200 item comes back, refunded cash Counts as −1,200
Cash sales for the session 3,400 — the tender net of change and net of the refund
Cash drop to the safe at 2pm 3,000, with a note and the name of who moved it
Expected cash at close 2,000 + 3,400 − 3,000 = 2,400
Counted cash declared 2,350
Variance stored on the session −50, against the closing cashier's name

Two details in there are the ones people get wrong by hand. Change is netted off, so a customer handing over 4,000 for a 3,400 purchase adds 3,400 to the drawer rather than 4,000 — and the net is also capped at the sale total, so an over-tender can never inflate a session. And an M-Pesa sale contributes nothing, which sounds obvious until you see a manual cash-up sheet that added it in.

The shift change, and the catch

Here is the scenario that will happen in your first week. The morning cashier is busy at closing time, walks out without closing the drawer, and goes home. The afternoon cashier arrives, sits at the same counter, and cannot sell — because there is no open drawer belonging to them. They try to open one, and are told the counter already has an open drawer.

Both of those refusals are individually correct. A counter may have only one open drawer, or two cashiers would be accumulating sales against two floats in one physical till. And a sale must belong to the session of the person ringing it, or a variance cannot be attributed to anybody. Together, though, they used to form a dead end: two messages, neither of which told the arriving cashier what to actually do.

What changed

The way out was always there — any user in the organization is permitted to close a session, so a supervisor or the arriving cashier can close the abandoned drawer, count it, and open a fresh one. Nothing in either message said so. Both messages now name the cashier holding the drawer and state the next step: close and count the open drawer, then open your own. The permission model has not changed. The instructions have.

That is a fix to a signpost, not to the design. The design point underneath is worth accepting deliberately: this system models one cashier per drawer per counter, and a counter belongs to one user. A shop where three people share one till across a day needs three sessions across that day, each counted at handover. That is more rigorous than most shops currently are, and it is the entire reason the variance figure is worth reading.

  1. Count before the outgoing cashier leaves the counter

    Not after they have gone home, not while they are serving. The physical count and the declaration happen with both cashiers standing there. This is the single highest-value habit in cash control and it costs four minutes.

  2. Close the outgoing session with the counted figure

    The variance is computed and stored against the person who closed it, with any explanation in the notes. A variance with an explanation written the same minute is worth ten reconstructed a week later.

  3. Move the takings to the safe as a drop, not as a mystery

    If the handover involves banking the day's cash, record it as a cash drop with a note before closing. Drops are what let a drawer hold a small float while large amounts sit in a safe.

  4. Open the new session with a declared float

    The incoming cashier declares what is physically in the drawer as their opening float. They own that number now, which is the point of declaring it.

  5. Review variances weekly by cashier, not daily by shop

    One bad day is noise. The same cashier short by small amounts every day is a pattern, and the pattern is visible only if every shift closed properly.

Drops: the control most shops skip

A cash drop is money moved out of the drawer mid-shift — to the safe, to the bank, to the owner. It is recorded with an amount, a free-text note and the person who moved it, and it reduces the cash the drawer is expected to hold.

Skipping drops is what turns a till into a safe. By four in the afternoon a busy shop can be holding a day's takings in a wooden drawer, and the cashier who is responsible for counting it accurately at close is the person most exposed if any of it goes missing. Dropping to the safe every few thousand shillings protects the money and the cashier at the same time, and each drop leaves a record naming who carried it.

A drop is not paperwork. It is the moment the shop stops asking one cashier to be personally responsible for a day's takings in an unlocked drawer.

Where the controls stop

Three of these are worth designing your procedure around, because the system will not enforce them for you.

Capability Enforced by the system Left to your procedure
A sale requires an open drawer Yes No
One open drawer per counter Yes No
Expected cash computed, not typed Yes No
Variance stored with the closer's name Yes No
Drops recorded with actor and note Yes No
The drawer is actually closed at end of day No Yes
A large variance needs a supervisor No Yes
The cashier counts before seeing what is expected No Yes
Card and M-Pesa reconciled per shift No Yes
Variance trends reviewed per cashier over time Partly — configurable by you Yes

Built and maintained Configurable by you, not maintained by us Not built

The blind-count point deserves its own line. Nothing forces a cashier to count before the expected figure is visible on screen, and a cashier who can see the expected figure is being invited to declare it rather than count to it. This is procedural: have them write the physical count on paper first, then type it. The system will not stop them either way.

What you can get out, and in what form

Sessions are listed with filters, and each one opens to a detail view showing the float, the drops, the sale-by-sale cash detail, the counted figure and the variance. Both the list and the individual session export to CSV and PDF, so a variance conversation can be had over a printed page rather than a screen someone else is using.

Custom fields are available on cash sessions, which is the practical route to capturing anything your shop needs at open or close — a supervisor name, a safe seal number, a till reading from the machine itself. Those become part of the session record and come out in the exports.

What you do not get is a variance trend report in the reports catalogue. Cash sessions have their own screen with its own filters and exports rather than a place in the cross-module report list, so "variance by cashier by week" is an export and a spreadsheet rather than a page you open. For most shops that is a monthly job, not a daily one, but it is worth knowing before you promise a board pack.

What we do and do not do

The drawer is a real record; three controls around it are yours

What AWRA OpsHub does today

  • A sale is refused without an open drawer at that counter — the reason the variance figure means anything.
  • Opening float declared by the cashier, per session, per counter.
  • Cash drops with amount, note, timestamp and the person who moved the money.
  • Expected cash computed as float + cash sales − drops, with change netted off and capped at the sale total.
  • Cash refunds land in the open session as negative payments, so the drawer expects less.
  • Variance stored on the session with the closer, the closing time and free-text notes — not merely displayed.
  • Session list and per-session detail, with filters and CSV and PDF export on both.
  • Custom fields on cash sessions, so your own open and close data is captured in the record.

What it does not do

  • One cashier per drawer, one drawer per counter, and a counter belongs to one user. A shared till across a day means a session per shift, closed at each handover. The refusal messages now name the holder and the next step; the model itself is unchanged.
  • Nothing forces a drawer closed. A session left open stays open, and until it is closed its variance does not exist.
  • No variance threshold and no approval. A 20,000 shortfall closes exactly as easily as a 20-shilling one.
  • No blind declaration. The expected figure is visible before the count is entered, so counting first is a habit rather than a control.
  • Only cash is reconciled per session. M-Pesa and card sales are recorded but not counted against a session, so their reconciliation is the daily close rather than the drawer.
  • No variance trend report in the reports catalogue — the session screen plus an export is the route to a per-cashier pattern.

The missing variance threshold is the one to close first. A shop with several cashiers should decide the value above which a supervisor signs the close, and write it up, because nothing will ask.

Related reading

See cash sessions, drops and variance

Floats declared, drops recorded with the person who moved the money, expected cash computed rather than typed, and a stored variance with a name attached.

Explore point of sale

Frequently asked questions

Can a cashier sell without opening a cash drawer?

No. A POS sale is refused unless there is an open session at that counter belonging to the person ringing it, and the till returns them to the sale screen with an instruction to open one. This is the rule that makes the end-of-shift variance meaningful, because it guarantees every cash sale in the shop belongs to a session with a declared float that somebody will count.

The morning cashier went home without closing the drawer. What do we do?

Close it. Any user in the organization can close a session, so a supervisor or the arriving cashier counts the physical cash, closes the abandoned drawer with that figure, and opens a fresh one with their own declared float. The variance is recorded against whoever closed it, so add a note explaining the circumstances. Both refusal messages now name the cashier holding the drawer and state this as the next step.

How is expected cash calculated?

Opening float, plus cash sales for the session, minus cash drops. Cash sales are net of change given and capped at each sale total, so a customer over-tendering cannot inflate the figure, and cash refunds subtract because they are recorded as negative payments in the session. M-Pesa and card sales contribute nothing to a cash drawer at all.

Can two cashiers share one till during a day?

Only as a session each, closed and counted at every handover. A counter permits one open drawer at a time and a sale must belong to the session of the person ringing it, so a shared till means a count at each change of hands. That is stricter than most shops are used to, and it is exactly why the variance figure can be attributed to a person rather than to a day.

Does anything stop a cashier declaring the expected figure rather than counting?

No. The expected cash is visible before the counted figure is entered, so there is no blind declaration. Make it a written procedure that the physical count is written on paper first and then typed. This is the most important control in this article that the system does not enforce for you.

Is a large variance escalated automatically?

No. There is no threshold, no approval step and no notification — a large shortfall closes as easily as a small one, with the variance and any notes stored against the closer. Set a shilling value above which a supervisor must be present and must sign, and review the sessions list weekly, because nothing will raise its hand.

Can we see whether one cashier is consistently short?

Yes, with an export. Every session stores its variance, its cashier and its counter, and both the session list and individual sessions export to CSV and PDF. There is no per-cashier variance trend report in the reports catalogue, so the pattern comes from exporting the sessions list and grouping it — a monthly job rather than a page you open.

Help Center

Need a quick answer while you read?

Run inventory, procurement, assets, sales, and field work with approved AWRA guidance for setup, migration, integrations, security, pricing, and support.

Search all approved AWRA public help articles.

Open Help Center