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.

What "drawer" means here

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:

TabFor
OverviewSessions opened, over and short, and cash in/out by day.
SessionOpening the drawer, and closing it with a count.
MovementsCash in, cash out, pickups, tip payouts.
ReportsThe mid-shift check, the day close, and the history of both.
Screenshot to come: the Cash drawer page on the Session tab with an open drawer, showing opening float, expected cash, declared and live variance
The Session tab while a drawer is open. Expected cash moves as sales and movements are posted.
Every time on this page is the store's time

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

  1. Go to Operations → Cash drawer and open the Session tab. It reads Drawer closed.
  2. Check the Active register is the one you are standing at.
  3. Count your float into the drawer and type it in Counted opening float.
  4. 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.

The till opens one for you

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.

  1. Open the Movements tab. (If the drawer is closed it says Movements and mid-shift cash checks need an open session. — open one first.)
  2. Choose a Type.
  3. Type the Amount.
  4. Type a Reason. It is required — a movement with no reason is indistinguishable from a mistake when you look at it a week later.
  5. Tap Post movement. The page confirms with the new expected cash.
TypeUse it forEffect on expected cash
Cash inAdding float, correcting a shortfall, paying money back in.Up
Cash outMoney leaving for any other reason.Down
PickupA mid-day skim to the office or safe.Down
Tip payoutPaying staff their tips out of the till.Down
Petty cashBuying milk, paying the window cleaner.Down
Drop to safeA 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.

  1. Open the Reports tab.
  2. Tap Mid-shift cash check. The button explains itself: Peek at expected cash now — does not close the drawer.
  3. Read the numbers it returns: Check #, Expected cash, Paid in, Paid out, Tip payouts, Drawer.
  4. 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.

  1. Take the drawer somewhere quiet and count it.
  2. On the Reports tab, type what you counted into Counted cash.
  3. If it does not match, write what you think happened in Variance note.
  4. Tap Close drawer for the day.
  5. Read the result: Close #, Expected cash, Counted, Variance, Variance note.
  6. 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.

Closing is final

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 countNoYes
Records a varianceNoYes
Closes the drawerNoYes
How many per sessionAs many as you likeExactly 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

RoleOpen / close a drawerPost movementsMid-shift checkDay close
Cashier YesYesNoNo
Shift supervisor YesYesYesNo
Store manager YesYesYesYes
Owner YesYesYesYes
Cashiers cannot see this page

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