Skip to content

Cash Add / Withdraw

Cash adjustments are the mid-shift cash-in / cash-out flow. The owner pulled $200 to pay a supplier in cash. The cashier topped up the change fund from a bank withdrawal. The till had too many small bills and someone walked half the float to the bank. Every one of these moves cash physically without ringing a sale or paying a bill — and every one of them needs a row in the ledger.

Updated 4 May 2026·For v1.6.100·4 min read
cash drawer · cash adjustment dialog · type / amount / reason / note

When to use cash-in

  • Bank deposit returned — the change-fund slip the cashier picked up from the bank. Cash-in to the till’s sub-account; offsetting credit lands on the owner-equity / change-fund tracking account.
  • Owner contribution — the owner topping up the float. Cash-in; offsetting credit on 3010 Owner’s Equity.
  • Customer overpayment correction — a customer left an extra $20 by mistake; the cashier didn’t ring it as a sale because it wasn’t sales income. Cash-in; offsetting credit on 2100 Customer Credits (so the customer can use the $20 next visit) — but most stores skip this and just ring it as store credit on the customer page.

When to use cash-out

  • Owner pulled cash — for personal use. Cash-out from the sub-account; offsetting debit on 3010 Owner’s Equity (it’s a draw against equity, not an expense).
  • Bank deposit going out — the cashier walked $500 to the bank for safekeeping. The receiving end is the bank account (1020) — but if the deposit is between cash sub-accounts (one drawer to another), use a cash transfer instead, not a cash-out.
  • Float reduced for security — close-of-day move where part of the till’s cash is locked in a safe and only the next-day float is left in the drawer.

How to post one

1

Open the cash drawer card

From the POS or the Shifts page, the active shift’s cash drawer card has a row of action buttons: Cash In, Cash Out, Transfer.

2

Pick Cash In or Cash Out

The dialog opens with the type pre-selected from the button you clicked. You can flip between them inside the dialog if you change your mind — the form is the same.

3

Fill in amount + reason

  • Amount — positive number, the dialog handles the sign.
  • Reason — required free-text field. Be specific: “owner pulled $200 for supplier X invoice 4892” beats “withdraw” by a mile when reading the shift detail next month.
  • Counterparty account (optional) — defaults to 3010 Owner’s Equity for cash-out and 3010 for cash-in. Override to 1020 Bank when the move is a bank-deposit leg, or to 6099 Other Expenses when the cash-out is paying a non-categorised expense in cash and you don’t want to make a full expense entry.
4

Confirm

The dialog writes a cash_drawer_transactions row (type='cash_in' or type='cash_out'), updates the shift’s expected balance, and posts a balanced JE. The cash_drawer_transaction source type lets the General Ledger and User Activity report drill back to this exact action.

What posts to the books

The JE for a cash-in or cash-out is two lines, dated to the shift’s business day:

Cash-in (e.g. owner contribution)

  • DR 1010-xxx cash sub-account — the amount
  • CR 3010 Owner’s Equity — the same amount

Cash-out (e.g. owner draw)

  • DR 3010 Owner’s Equity — the amount
  • CR 1010-xxx cash sub-account — the same amount

The shift’s Expected balance recomputes immediately:

expected = openingBalance
+ Σ sale.amount + Σ cash_in.amount
− Σ refund.amount − Σ expense.amount − Σ cash_out.amount

So a cash-in raises expected; a cash-out lowers it. The till should still match expected at close.

Reading the audit trail

Every cash adjustment surfaces:

  • In the shift detail panel — under the transactions list, with type, amount, reason, timestamp.
  • In the Cash Drawer Report — counted in the Adjustments column on the per-shift breakdown.
  • In the General Ledger — filterable by source type cash_drawer_transaction.
  • In the User Activity report — under “Stock Adjustment / Cash” (depending on app version) attributed to the user who confirmed the dialog.