Start with movements, not a guessed total.
The cash workspace separates registers and till sessions. Opening cash, payouts, sales, deposits and other signed movements build the expected cash balance for a session.
Signing an offer and settling a payment are separate states. A signature alone is not evidence that money left the drawer. The settlement record needs to account for the tender used and whether the operation has already completed.
Make a difference reviewable.
Select the actual register.
Work against its open session. More than one open register should not cause the app to choose a different drawer silently.
Count denominations.
Enter what is physically present. The count is compared with the expected balance from movements.
Explain a shortage or overage.
A nonzero variance needs a reason that remains visible with the close.
Have a different manager review it.
The reviewer should see both the difference and the cashier’s explanation. The closer cannot approve their own variance.
Test the tender details.
| Counter example | Behavior to verify |
|---|---|
| A cash sale is paid with a larger note | Tendered cash, sale value and change reconcile to the actual drawer movement. |
| A card payment exceeds the amount due | The workflow does not quietly treat excess card tender as cash change. |
| A payout request is sent twice | The completed payment is not recorded a second time. |
| A close is short by a quarter | The reason is required and a separate manager can review it. |
| Amounts produce fractions of a cent | Payable money is rounded consistently before cash totals are counted. |
These checks are part of the acceptance work. A production rollout still needs your registers, tender policy, permissions and real operating procedures reviewed together.
Finish the sample day.
In the public preview, record a sample purchase, add a cash-in movement, make a deposit and count the drawer. Fill the expected denominations or deliberately create a difference.
The preview illustrates the relationship between a piece and its payout. It does not connect to a cash drawer, card terminal, bank or live till. Try the cash example.