The drawer belongs to a shift, not to the day
A database constraint allows one open shift per organisation, store and person, so two cashiers can never be counting the same drawer. A shift has 5 states — open, pending close, pending review, closed, reconciled.
- Expected cash is arithmetic, not a guess
- Expected cash is the opening float, plus every float adjustment made during the shift — each one attributed to the person who made it — plus cash in, minus cash out. A bill written by a cashier who has an open shift in that store writes a shift transaction, so the figure the cashier is counted against is fed by the sales that actually went through that drawer.
- Closing records a denomination breakdown
- The cashier enters the counted cash and the notes it is made of. The breakdown is stored with the close, so a short drawer can be re-counted against what was written down rather than argued about from memory.
- Over PKR 100, the shift does not close
- Variance is counted minus expected. The threshold defaults to PKR 100 and you can set it higher or lower. Past it, the shift does not close — it moves to pending review, and only an account holding the shift-review permission can clear it. The cashier cannot resolve their own short drawer.
- Blind count, when you want it
- Each close can be run as a blind count, which hides the expected figure from the cashier until the count is entered. It is an option on the close rather than the default, so you can use it on the terminals where it matters and leave the rest alone.