Check cash gaps and the history of register sessions

Essential7 minChecked on 10/30/2026

What you will have: You can explain a register session's gap, approve it or have it recounted, and track the accuracy of your registers over time.

Every gap between the money counted and the money expected is visible, justified and validated by a manager, instead of being discovered weeks later.

Before you start

Signed in to Genuka, this list ticks what your account already has.

Screens shown for:

Why it matters

A register that does not balance one evening is a signal; a register that is off every week is a problem. Genuka calculates what should have been in the drawer, compares it with the cashier's count and keeps a trace of every gap, its reason and who validated it. The manager knows where to look, and the cashier knows their count is taken seriously.

Summary

When a session is closed, Genuka compares the Counted Balance with the Expected Balance. A small gap is accepted automatically; beyond that, the session waits for a manager's decision, who approves it or rejects it to have it recounted. The Cash Register Sessions page gives the history of all sessions and four accuracy indicators. Opening and closing themselves are described in "Open and close a register session".

Prerequisites

  • Cash control enabled (Settings › Company › General settings, Cash Control tab). When disabled, the sessions page sends you back to the dashboard.
  • cash_registers.view to view sessions, cash_registers.close to close, cash_registers.approve_difference to approve or reject a gap.

How Genuka calculates the expected balance

The Expected Balance starts from the Opening Balance (the float counted at opening), adds the payments received on this register during the session and subtracts the payments paid out of this register during the session (an expense paid in cash, a refund).

Only movements recorded on the register's treasury account, while the session is open, enter the calculation. The Difference is the counted amount minus the expected amount: positive, it is a surplus; negative, a shortage.

Steps: read the history

  1. Settings › Accounting & Finance › Cash Register Sessions ("Cash Register Sessions" page).
  2. At the top, four indicators, calculated on the sessions opened during the chosen period (click the period label to change it):
    • Total Sessions;
    • Accurate Sessions, with the accuracy percentage: the sessions whose difference is exactly zero;
    • Total Difference: the sum of the differences of all sessions;
    • Average Difference, per session.
  3. The table lists every session: Status, Opening Balance, Expected Balance, Difference (green if zero, purple if surplus, red if shortage), Opened At, Opened By.
  4. Filter by Status (All, Open, Pending, Closed), by Period (From / To) or by Opened By to follow one cashier.

The action column changes with the session: Close Session if it is open, Review Difference if it awaits a decision, View details otherwise.

Steps: understand a gap

  1. Open the session (View details).
  2. The cards at the top give the Opening Balance, the Expected Balance, the Counted Balance and the Difference.
  3. Session Details: who opened it and when, the closing, the Difference Status, the Reason for Difference and, where relevant, Approved By.
  4. Transactions tab: every payment in or out during the session. Click a row to open the Transaction Details: the payment, its author, the document settled and View Full Document to open the order or the expense.
  5. History tab: opening, closing, approval or rejection, with the person and the time.

Compare the transactions with the slips in the drawer: a cash payment taken but entered under another payment method, or a sale taken in cash without being recorded, explains most gaps.

What happens to the gap at closing

Gap (FCFA)Difference status (code shown)Session
NoneNo gap (none)Closed
Up to 50Automatically accepted (accepted)Closed
More than 50To review (pending_review)Waiting for approval
From 5,000Under investigation (under_investigation)Waiting for approval

In euros or dollars, the thresholds are 0.50 and 50. For a register that handles a lot of money, they rise with the expected balance (0.05% of the expected amount for acceptance, 5% for investigation).

If the cashier does not choose a reason, Genuka sets one: Rounding for a gap up to 50, Cash found for a surplus, System error for a shortage. The closing window only asks for a reason and notes beyond 50.

Steps: decide on a gap

  1. On a session Waiting for approval, click Review Difference, in the list or on the session page.
  2. The Approve Difference window recalls the Expected Balance, the Counted Balance and the Difference.
  3. Choose:
    • Approve, with Approval Notes (optional): the session becomes Closed and the gap is accepted;
    • Reject, with a required Rejection Reason: the closing is cancelled and the session becomes open again, for a new count and a new closing.

A gap under investigation is handled the same way: it is a signal to investigate before deciding, not a block.

Edge cases and common mistakes

  • The Total Difference can hide gaps. It adds up surpluses and shortages: a shortage of 2,000 F and a surplus of 2,000 F give zero. Look at Accurate Sessions and the filtered list.
  • A pending session no longer records anything. While it waits for a decision, cash payments on this register are refused ("The cash session is not open for this register…"). Get a decision quickly, or open a new session to keep selling. If you then reject the old one, two sessions are open on the same register and new payments go to the most recent one.
  • A payment edited afterwards does not correct the session. It stays in the session with its original amount.
  • Technical labels. On a session page, the status and the reason for the difference, the type of transactions and the history actions show as English codes (pending_approval, under_investigation, change_mistake, payment_inbound, approved…). The "Waiting for approval" badge in the list also shows pending_approval.
  • Rejection reason not found in the history. The history shows who rejected and when, but not the reason entered.
  • "This Month" indicator. The mention under Total Sessions stays "This Month" even if you chose another period; the figure itself follows the chosen period.
  • No manual cash in or out. You cannot record adding change or a cash withdrawal during the session: they will show up as a gap at the count.

FAQ

Who can approve a gap? A member whose role has the cash_registers.approve_difference right. Nothing prevents the cashier from approving their own gap if they have this right: reserve it for managers.

What happens if I reject a closing? The session reopens. The cashier recounts and closes again; Genuka recalculates the gap.

How do I know which cashier makes the most mistakes? Filter the list by Opened By and by period, then compare the differences and the accuracy shown.

Why does the expected balance not match my sales of the day? It only counts payments recorded on this register during the session: sales paid by Mobile Money or card, or collected on another account, are not in it.

See also

  • Open and close a register session (ouvrir-session-caisse)
  • Sell from the register (utiliser-caisse-pos)
  • Payment methods (moyens-de-paiement)
  • Treasury accounts (comptes-tresorerie)

Sign in to keep track of the lessons you have done.

Open in Genuka
A question about this lesson?Ask the assistantIt answers from the lessons and shows you where to look.