Skip to content

How to Record Cash In and Cash Out (Pro)

Not every note that moves through a drawer is a sale. Paying a courier, adding change from the safe, taking cash to the bank. Log those and your count at the end of the day still matches.

Expected Drawer Amount on the Statistics screen is built from four things:

  1. The opening amount, if you record one.
  2. Cash sales in.
  3. Change and cash refunds out.
  4. Manual transactions, in and out.

Skip the fourth and the first three still add up perfectly to a figure that is wrong. Pay a $20 delivery out of the drawer and the POS expects $20 more than is there. It will do so every day, until someone gives up and calls it lost stock.

In the terminal, click Statistics in the sidebar.

The POS statistics screen with today’s cash sale, total sale and expected drawer amount

The plus sits above Today’s Transactions, to the right of the search box. It is the only way in.

The plus icon above Today’s Transactions that opens a manual transaction

Step 3: Choose In or Out, then fill in the amount

Section titled “Step 3: Choose In or Out, then fill in the amount”

Manual Transaction opens with Select Transaction Type and In already chosen.

The Manual Transaction popup with Out chosen, an amount and a reason

In adds to the expected drawer amount. Out takes off.

You are doing this Type
Adding change from the safe In
Recording the opening amount by hand In
Paying a courier or a window cleaner Out
Taking cash to the bank mid-shift Out
Moving a starting amount to a second terminal Out here, In there

Get the direction right and nothing else matters much. Get it wrong and the drawer is out by twice the amount, which is the hardest kind of difference to spot.

Enter Amount takes the figure. It has a floor of 0.01, so a zero or a negative is refused.

Never enter a negative to mean “out”. That is what Out is for, and a negative simply will not be accepted.

Enter Reason (Optional) is optional in the software and not optional in practice. It is the only thing on the row that explains itself, and it prints in the Reference column.

Write what a stranger would need: Paid courier COD beats cash out.

Add is disabled until the amount has a value. Press it and the popup closes.

The row is written straight away, with the amount under In or Out, Manual in the Method column and your reason under Reference.

Today’s Transactions on the POS statistics screen, one row per payment

Expected Drawer Amount counts it, so the figure a cashier counts against is right.

The Expected Drawer Amount card on the POS statistics screen

In that shot the four cards and the four rows agree. A $100 opening amount, a $36.30 cash sale, a $20.00 cash-out and a $16.50 refund leave Expected Drawer Amount at $99.80.

That is the shape it settles into. Read the next section before you press Add for real, because the screen does not get there at once.

Nothing appears to happen when you press Add

Section titled “Nothing appears to happen when you press Add”

This one is worth knowing before it worries someone.

In the current version the terminal does not react. The row does not join the list on screen, Expected Drawer Amount does not move, and no confirmation message appears. The screen looks exactly as it did before you pressed Add.

The row is in the database all the same. What you are seeing is a display gap, not a lost transaction:

  • The terminal reads Today’s Transactions from its own browser storage.
  • It asks the server only when it has nothing stored for that day.
  • The row you just created never reaches that storage.

So the figures come right on their own in a session that starts with nothing stored for the day. Until then the terminal is showing you a stale list.

Confirm it landed in the admin list rather than by pressing Add again.

The MultiPOS transactions list showing each payment with its cashier, method and totals

The opening amount behaves differently, and the reason is worth a line. The POS asks for it as the session starts, before anything is stored for the day, so it is read back from the server on the next screen and shows up at once.

A manual transaction cannot be edited or deleted

Section titled “A manual transaction cannot be edited or deleted”

There is no undo. The row is written and it stays.

Fix a mistake by adding the opposite: a $20 Out entered by mistake is corrected with a $20 In whose reason says so. Both rows stay in the record, which is the honest version anyway.

That is a good reason to check the direction before pressing Add.

A manual transaction cannot be created offline. The POS says:

Transaction cannot be generated in offline mode.

Note it on paper and enter it when the connection is back. The date stamp is the moment you enter it, so if the timing matters, say so in the reason.

Go to DevDiggers Plugins → MultiPOS → Transactions. Manual rows sit alongside the sales, with a MANUAL badge in the Transaction Context column, as in the shot above.

Filter by date and by cashier to get one person’s shift.

The From and To date filters above the transactions list

The Order column is empty on a manual row, because there is no order behind it. That is how you tell them apart at a glance.

If Enable Cash Drawer Popup is on, the POS asks for the opening amount as the session starts. It is stored as its own kind of transaction, labelled Open Cash Drawer Amount.

The Open Cash Drawer Amount prompt with an opening float typed in and Add live

Type the figure and press Add. Cancel skips it, and the drawer figure then knows nothing about the money you started with.

Use that rather than a manual In where you can. It is asked for at the right moment, so it does not get forgotten.

Where the popup is off, an In at the start of the shift does the same job.