Cash drawer & day end
Opening the till with a float, taking money in and out during the day, checking where you stand mid-shift, and counting down and closing at the end. Everything lives on one page: Operations → Cash drawer.
tech-pos keeps a drawer session — a record of the float you started with, everything that went through it, and what you counted at the end. It does not open a physical cash drawer: there is no drawer-kick signal in this product. If your drawer opens on a printer pulse, that stays between the printer and the drawer. The "print" buttons on this page open a plain print window and say so.
The page
Four tabs across the top, and a pill next to Session showing Open or Closed at a glance:
| Tab | For |
|---|---|
| Overview | Sessions opened, over and short, and cash in/out by day. |
| Session | Opening the drawer, and closing it with a count. |
| Movements | Cash in, cash out, pickups, tip payouts. |
| Reports | The mid-shift check, the day close, and the history of both. |
When a drawer was opened, when a movement was posted, which day a session belongs to — all of it is shown in the store's own timezone, not in the timezone of whoever is looking. An owner checking a Vancouver drawer from London sees the times the cashier saw. That matters here more than anywhere: a sale that slid into the neighbouring day would be counted against the wrong day's cash. Set the zone in Settings → Store → Timezone; a store with none recorded falls back to UTC rather than to your browser.
Opening a drawer
- Go to Operations → Cash drawer and open the Session tab. It reads Drawer closed.
- Check the Active register is the one you are standing at.
- Count your float into the drawer and type it in Counted opening float.
- Tap Open drawer. The page answers Drawer ready on this register.
Opening is safe to repeat. If a session is already open on that register you simply get it back — you will not end up with two.
Walking straight onto the POS also opens a drawer session for that register, silently, with a float of zero. That keeps the queue moving, but a float of zero is a lie you will have to unpick at close. If your till starts the day with money in it, open the drawer here first and type the real number.
"Open the cash drawer before taking payment"
If the till shows that message at the moment of payment, no drawer session
could be opened for the register. Open one on this page and take the payment
again. The status bar at the top of the POS always shows where you stand:
Drawer: OPEN, CLOSED, or — when it does
not yet know.
Cash in and cash out during the day
Anything that moves notes in or out of the drawer without being a sale needs a movement, or the drawer will not balance at close.
- Open the Movements tab. (If the drawer is closed it says Movements and mid-shift cash checks need an open session. — open one first.)
- Choose a Type.
- Type the Amount.
- Type a Reason. It is required — a movement with no reason is indistinguishable from a mistake when you look at it a week later.
- Tap Post movement. The page confirms with the new expected cash.
| Type | Use it for | Effect on expected cash |
|---|---|---|
| Cash in | Adding float, correcting a shortfall, paying money back in. | Up |
| Cash out | Money leaving for any other reason. | Down |
| Pickup | A mid-day skim to the office or safe. | Down |
| Tip payout | Paying staff their tips out of the till. | Down |
| Petty cash | Buying milk, paying the window cleaner. | Down |
| Drop to safe | A larger transfer to the safe. | Down |
Every movement lands in the Movements ledger underneath, with when, type, amount and reason. Nothing can be edited or deleted — to correct a mistake, post the opposite movement and say so in the reason.
The mid-shift check (X read)
An X read answers "how much should be in this drawer right now?" without ending anything. Use it before a pickup, at a shift handover, or any time the drawer feels wrong.
- Open the Reports tab.
- Tap Mid-shift cash check. The button explains itself: Peek at expected cash now — does not close the drawer.
- Read the numbers it returns: Check #, Expected cash, Paid in, Paid out, Tip payouts, Drawer.
- Print mid-shift stub if you want it on paper.
You can take as many X reads as you like in one session; each gets its own number. The drawer stays open and selling carries on.
Counting down and closing (Z read)
A Z read is the end of the day: count the cash, record what you actually found, and close the session. There is exactly one Z per drawer session — the second attempt is refused. That is what makes it a day close rather than a note to yourself.
- Take the drawer somewhere quiet and count it.
- On the Reports tab, type what you counted into Counted cash.
- If it does not match, write what you think happened in Variance note.
- Tap Close drawer for the day.
- Read the result: Close #, Expected cash, Counted, Variance, Variance note.
- Print close stub if you keep paper.
You can also close from the Session tab with Close drawer — same count, same variance, same result. The Reports tab is the one to use if you want the numbered day-close record.
Over and short
Variance is what you counted minus what was expected. A positive number means the drawer is over; a negative number means it is short. The Session tab shows a running Live variance (declared − expected) as you type, so you can recount before committing.
Expected cash is the float, plus cash sales, plus cash in, minus cash refunds, pickups, payouts, petty cash and drops. Card takings are not in it — they never touched the drawer.
There is no confirmation dialog and no undo. Once closed, the session cannot be reopened and no more movements can be posted against it; a second close is refused with Drawer is already closed. Count twice.
What X and Z each do
| Mid-shift check (X) | Day close (Z) | |
|---|---|---|
| Asks you to count | No | Yes |
| Records a variance | No | Yes |
| Closes the drawer | No | Yes |
| How many per session | As many as you like | Exactly one |
Looking back at old sessions
At the bottom of the Reports tab is Session history: opened, register, status, expected, variance and close number, filtered by From / To or reset with Last 30 days. Each row has Reprint close, which reopens that day's close stub marked as a reprint.
The Overview tab turns the same data into a picture: sessions opened, over and short across closed drawers, and cash in and out by day. For a fuller month-end view see Reports.
Who can do what
| Role | Open / close a drawer | Post movements | Mid-shift check | Day close |
|---|---|---|---|---|
| Cashier | Yes | Yes | No | No |
| Shift supervisor | Yes | Yes | Yes | No |
| Store manager | Yes | Yes | Yes | Yes |
| Owner | Yes | Yes | Yes | Yes |
The Cash drawer item only appears in the sidebar for people who can run a mid-shift check — so a cashier will not find it. A cashier's drawer is opened for them by the till when they start selling, and someone with the rights closes it down at the end of the day. If your shift routine has cashiers cashing themselves off, give them the supervisor role. See Roles & permissions.
What is not built
- No denomination breakdown. You type one counted total, not "six twenties, four tens".
- No blind count. The expected figure is on screen while you type your count. If you want a true blind count, count away from the screen first and write it down.
- No safe-drop or bank-deposit slips. Record those as a Drop to safe movement with a clear reason.
- No variance sign-off step. The note is recorded but nobody is asked to approve it, and a close with an unexplained variance is not blocked.
- No hardware. As above: no drawer kick, no thermal printer driver.