Cash Over and Short
How the over/short figure is calculated, the cash movements that explain it, and how to investigate a variance.
6 min read · Updated 10 Sep 2026
On this page
Over or short is the gap between the cash Kassly expected in the drawer and the cash you counted. It is one subtraction, and every argument about it comes down to whether the movements behind it were recorded honestly.
Needs the Cash Drawer & Expenses add-on (₱300 per branch each month), or any bundle that includes it. See Plans and add-ons.
The calculation
Expected in Drawer is built up from the movements of the shift:
| Line | |
|---|---|
| Opening float | |
| plus | Cash sales |
| plus | AR cash collected |
| plus | Cash In |
| minus | Cash Out |
| minus | Cash refunds |
| equals | Expected in Drawer |
Over or short is then what you counted, less that figure. A positive result is an Over, a negative one a Short — Kassly labels it either way rather than leaving you a minus sign to interpret.
A worked example
| Line | Amount |
|---|---|
| Opening float | ₱1,000.00 |
| Cash sales | ₱8,450.00 |
| AR collected in cash | ₱300.00 |
| Cash In — top-up from the safe | ₱500.00 |
| Cash Out — supplies | (₱1,200.00) |
| Cash refund on a return | (₱150.00) |
| Expected in Drawer | ₱8,900.00 |
| Counted and declared | ₱8,850.00 |
| Short | ₱50.00 |
What does not move the figure
This is where most reported "shortages" come from — money that was never supposed to be in the drawer in the first place.
| Not in expected cash | Why |
|---|---|
| A sale paid on credit | Nothing was collected yet; it is a receivable |
| GCash, Maya, card, bank transfer | The money went to an account, not your till |
| A post-dated cheque that clears | A bank event, deliberately kept out of drawer readings |
| Non-cash refunds and store credit | No cash left the drawer |
A credit sale for ₱5,000 rung up at 3pm changes your sales, your receivables and your VAT. It does not change what should be in the drawer at 9pm.
The movements behind the figure
A variance is only useful if you can see what moved. Three places show it:
On the shift itself — in the back office, Sales → Shifts, open a shift. It shows Opening, Closing, Expected, Difference, the payment breakdown, and the full Cash Movements list with each movement's category or classification.
On the shift's Z reading — the Cash Accountability section spells the calculation out line by line: Beginning Balance, Cash Sales, AR Collected, Cash In, Cash Out, then Expected in Drawer, Ending Balance, and Over or Short.
Over a date range — Reports → Z-Reading / End-of-Day lists every sealed Z reading for a period, with Cash In and Cash Out sitting immediately before Over / Short so the three read as one group: what went in, what came out, what was missing. It exports to CSV with the same columns. This is what answers "we were ₱500 short last week" — you can see whether it was one bad count or a ₱500 payout somebody logged.
The two cash columns only appear when cash actually moved in or out during the range. A period of plain selling does not get two columns of zeroes.
Every figure in that report is read from the sealed reading, never recalculated. What you export always matches the Z reading that was printed at the close. That also means a reading sealed before a figure existed shows a dash rather than a zero — Kassly will not assert "no cash moved" on a shift where it cannot know, and the totals skip those rows instead of understating the period.
Two lines that are easy to miss
- AR cash appears as AR Collected, not as Cash In. A customer paying down utang in cash is on its own line, because it inflates the drawer without being a sale. If Expected looks too high, check that line before assuming an error.
- Cash refunds reduce Expected in Drawer but have no line of their own on the reconciliation. They show up in the sales summary as returns and refunds. If the accountability lines look like they add up to slightly more than Expected, a cash refund is the usual reason. The same is true of the Cash In and Cash Out columns in the range report: they cover Cash In and Cash Out movements only, not AR collections and not cash refunds.
Not counted is not balanced
A shift closed automatically after 24 hours has no over/short — not zero. Nobody counted that drawer, so the variance is unknown.
| Shown as | Means |
|---|---|
| A number | A real count, and a real variance |
| Not counted / NOT COUNTED | The drawer was never counted |
| ₱0.00 | Counted, and it matched exactly |
A counted-and-empty drawer is a legitimate ₱0.00. It is a different fact from a drawer nobody opened, and Kassly keeps them apart everywhere — on the screen, on the printed reading, in the export, and in your books. Range totals sum only the shifts that were actually counted, so a week of auto-closed shifts never adds up to a confident zero.
What it does to your books
A counted variance posts to Cash Over/Short (account 5300), an expense account:
| Variance | Entry |
|---|---|
| Short | Debit Cash Over/Short, credit Cash on Hand |
| Over | Debit Cash on Hand, credit Cash Over/Short |
So shortages read as a cost and overages reduce that cost — the standard treatment. An uncounted drawer posts nothing at all. See Chart of accounts.
Investigating a variance
Work down the list. Most variances are found in the first three steps.
- Was the opening float declared correctly? A float counted from memory makes every figure after it wrong.
- Was anything paid out without a Cash Out? Buying supplies out of the till and forgetting to log it is the single most common shortage.
- Was a drop to the safe recorded? Money moved out and not logged looks exactly like missing money.
- Did a customer pay utang in cash? That shows as AR Collected and raises Expected; if the cash was pocketed for a payout, you get a shortage.
- Was a return refunded in cash on someone else's shift? The refund lands on the drawer of whoever processed it.
- Compare against the payment breakdown. If cash sales look too high for the day, a card or GCash payment may have been rung up as cash — which produces a shortage of exactly that amount.
- Check the whole week in the range report. A recurring variance of the same size is a process problem, not a counting problem.
If the variance is real, close the shift with the true count and explain it in the notes. A recorded shortage with an explanation is worth far more than a shift that was made to balance.