Skip to main content

The safe audit

At the end of the day the store manager checks the safe in a safe audit. Cash Management already knows how much cash came into the safe from the tills that day. The manager counts the rest of the safe by hand, Cash Management compares that count with what it expected, books the difference, and the extra cash goes to the bank.

A safe audit is made per safe and currency. In Hii InStore it is the Safe Audit screen.

What the manager sees​

The Safe Audit screen in Hii InStore for NOK. Cash from till audits shows 1 630 with deviation 0. Cash in safe is entered by the manager as 8 995, with deviation minus 5. Total balance shows 10 625 and Max amount in safe 8 000. Bank drop is entered as 2 625, with bag reference BAG-1042. The three fields the manager fills in are marked.

Line on the screenWhat it isWhere it comes from
Cash from till auditsthe cash counted into the safe from the drawers, with the drawers' total deviationReconciliation's completed till audits and recounts for the period (reconciledAmount, reconciledDeviationAmount)
Cash from cash changerthe same for the cash changers. Shown only when the store has them.Reconciliation's cash-changer till audits (cashChangerAmount, cashChangerDeviationAmount)
Cash in safethe rest of the safe, counted by the manager, and its deviation from what was expectedentered (actualAmount)
the store's own fieldsamounts the tenant has defined, such as sealed coin rollsentered, see Customer-defined fields
Total balanceeverything above added up: what the safe holds after the audit, before the bank dropcalculated. Hidden when cmm.show-total-balance-in-safe-audit.v1 is false.
Max amount in safethe most cash the safe may holdthe tender limits. Hidden when cmm.show-max-allowed-amount-in-safe-audit.v1 is false.
Bank dropthe cash that goes to the bankentered, or suggested by Hii InStore
Bag referencethe number on the bank bagentered (referenceId)

🛑 "Cash in safe" excludes the day's cash from the tills. The till cash has already been counted once, in Reconciliation, and is shown on its own line. The manager counts everything else in the safe. Counting the whole safe into Cash in safe makes the till cash appear twice, and the audit shows it as a surplus.

The arithmetic​

Worked numbers for one safe audit in NOK. The safe's balance is 10 630. Cash from till audits is 1 630, so Cash Management expects the rest of the safe to hold 10 630 minus 1 630 = 9 000. The manager counts 8 995, a deviation of minus 5, which is booked as a Correction out of the safe. Total balance is 8 995 + 1 630 = 10 625. The safe may hold 8 000, so 2 625 goes to the bank as a BankDeposit. The safe ends at 8 000.

For each currency:

ValueCalculationExample (NOK)
the safe's balancethe sum of everything booked10 630
Cash from till auditsthe cash counted into the safe from drawers in the period1 630
Cash from cash changerthe same for cash changers—
expected Cash in safebalance − cash from till audits − cash from cash changer9 000
Cash in safecounted8 995
deviationcounted − expected−5
Total balancecash in safe + cash from till audits + cash from cash changer + the store's own fields10 625
Bank droptotal balance − max amount in safe, but at least the smallest bank drop. Hii InStore suggests it; the manager can change it.2 625
the safe after the audittotal balance − bank drop8 000

The example is the store from What moves the safe: till 1's counted 1 620 and the recount's 10 make up the 1 630 from the tills, with no deviation left after the recount.

Rules Hii InStore applies:

  • A deviation larger than the allowed deviation, short or over, needs a comment. The allowed deviation is the tender's maxAllowedDeviationAmount, and it applies to the size of the deviation in either direction. The comment is stored on the audit and published with it.
  • The safe may not be left holding more than its maximum. When the total balance is above Max amount in safe, Hii InStore asks for a bank drop and suggests the amount above the maximum, or the smallest bank drop (minAmountBankDeposit) if that is more. The manager can change the amount.

What the audit books​

When the audit is submitted, Cash Management books, for each currency:

WhenEvent typeThe safe
the deviation is not zeroCorrection+ a surplus, − a shortfall
a bank drop is enteredBankDeposit− the bank drop
a customer-defined field has a valuethe field's id+ or − the value

A currency with no deviation and no bank drop books nothing. All of the audit's transactions carry the safe audit's id as eventId, and the audit itself is published as a safe audit event. See Receiving the events.

Which period an audit covers​

Three days in one safe. Sunday is audited. Monday brings 1 200 of till cash and is not audited. Tuesday brings 1 630. With the default, Tuesday's audit shows 1 630 under Cash from till audits, and Monday's 1 200 is expected in Cash in safe. With cmm.do-reset-safe-audit-when-submitted.v1 set to true, Tuesday's audit covers everything since Sunday's audit and shows 2 830 under Cash from till audits.

  • By default, Cash from till audits is the till cash of the current business date. A day without an audit is simply not audited; its till cash is still in the safe's balance, and the next audit expects it in Cash in safe.
  • With cmm.do-reset-safe-audit-when-submitted.v1 set to true, the period starts at the previous safe audit for that currency. A store that skips a day, or audits twice a day, gets every till audit exactly once. With no earlier audit, the period is the last month.

Customer-defined fields​

A tenant can add its own amount fields to the safe audit in cmm.safe-audits-dynamic-properties.v1: for example Sealed coin rolls or Change ordered from the bank. Each field has an id, a name shown on the screen, and optionally isNegativeSignByDefault, meaning the amount entered is taken as negative, and sortOrderKey, the order on the screen.

A field's value is part of the total balance, and is booked into or out of the safe as its own transaction, with the field's id as event type: a positive value into the safe, a negative value out of it. Choose ids that read well in an accounting system, because they appear in the published events. See Configuration.

When the numbers change under you​

Between opening the safe audit and submitting it, another till audit can be completed. Cash Management recalculates the expected values when the audit is submitted, and refuses it with 400 if Cash from till audits, Cash from cash changer or the expected amount has changed. Hii InStore then reloads the audit, and the manager checks the count again.

Through the API​

ToCall
get the values to show, and the screen settingsGET /api/v2/business-units/{businessUnitId}/repositories/{repositoryId}/audits/audit
submit the auditPOST /api/v2/business-units/{businessUnitId}/repositories/{repositoryId}/audits
find earlier auditsPOST /api/v1/business-units/{businessUnitId}/repositories/audits:search

The GET returns one entry per currency with reconciledAmount, reconciledDeviationAmount, cashChangerAmount, cashChangerDeviationAmount, expectedAmount, repositoryMaxAmount, bankDepositMinAmount and maxAllowedDeviationAmount, plus the store's screen settings and customer-defined fields. The POST sends those values back unchanged for each currency, with the manager's actualAmount, bankDepositAmount, referenceId, comment and field values. See The Cash Management API.