Close a session and handle the variance

Count the drawer, explain any difference, and have a second person approve a large one.

Required permission: pos.session.close, pos.variance.approve

Before you begin

  • You have an open session and pos.session.close.
  • All bills for the session are recorded (if you worked offline, they are still queued and will arrive later).
  • Count the drawer. Do not look for the expected figure first.

Steps: close the session

  1. On the sell screen press Close session.
  2. Count the cash. Fill the denomination table (face value x count) or type Counted cash. When you use the table, it overrides the typed total.
  3. If the profile uses blind close, the Expected cash is hidden. Otherwise it is shown for information.
  4. If your count differs from what the system expects by more than the tolerance (5.00 AED in RETAIL), type a Reason (up to 300 characters).
  5. Press Close session.

The till shows a message such as 'closed - variance -2.50'.

How the system works out expected cash

Expected cash = opening float + cash sales (cash received less change) + cash in - cash out - safe drops. Card, QR, gift card, voucher and store credit tenders add nothing.

With a blind close, the expected cash, cash sales and cash movements are hidden in the system's answer as well, not only on the screen. They show once the session is closed.

What happens next: three outcomes

Variance (counted - expected)Result
Within tolerance (up to 5.00)Session closed. No reason needed. Posted to Finance once.
Above tolerance, up to the approval limit (50.00)Session closed with your reason. Posted to Finance.
Above the approval limitSession approval pending. The register shows close pending approval and cannot open a new session. Nothing is posted yet.

Worked example

Float 500.00, cash sales 1,250.50, cash in 100.00, cash out 50.00, safe drop 700.00. Expected 1,100.50.

  • Count 1,098.00: variance -2.50. Within tolerance. Closed.
  • Count 1,090.00: variance -10.50. A reason is needed. Without one: 'The count is -10.50 against what was expected. Give a reason before closing.' With Short change, it closes with variance -10.50.
  • Count 1,040.00: variance -60.50. Above 50.00. The session waits for a second person.

The second person approves

Someone with pos.variance.approve who did not count the drawer decides the close.

  • Approve: the session closes, the approver and time are recorded, and the session posts to Finance.
  • Refuse, with a reason (for example Recount): the session goes back to variance review and the register to closing. The cashier counts again with Close session and a new figure.

You cannot approve your own count: 'A close is approved by somebody other than the person who counted it.' A session not waiting says 'This session is not waiting for approval.'

Permission:

Approving or refusing a close is not available on a screen yet. Your administrator does it through the system's integration interface. The decision is still limited to someone with pos.variance.approve.

Posting to Finance

When a session closes, one balanced journal posts: debits to cash drawer and card clearing for each tender, credits to revenue and output VAT. Closing again changes nothing.

Example: cash 30.24 and card 36.00 (total 66.24) are debited. Revenue 63.09 and output VAT 3.15 are credited.

Good to know

  • Counted cash cannot be negative: 'Counted cash cannot be negative.' A typed total different from the table gives 'The count comes to 1098.00, not 1100.00.'
  • You can close while offline. The session shows closed pending sync and the closing is sent with your other items.
  • A bill taken offline that arrives after the session was posted is accepted into the closed session, and an extra journal posts for it. The expected cash of the closed session does not change.
  • The sessions list is under Point of Sale > Operations > Register sessions: Session, Register, Business date, State, Float, Counted, Variance (newest 200).