CashProof
How it works · mobile

Six taps from the drawer
to the bank vault.

A walkthrough of the CashProof shift flow on iOS. The cashier counts on their phone; the server verifies; the owner collects with a PIN; the bank reference closes the loop.

ACT I
Cashier closes the shift. Count the drawer, verify with the server, seal the envelope.
Cashier
01
LOGIN · STORE CODE + PIN
Clock in.

Maria taps in her STORE CODE, name, and 4-digit PIN. No email, no password manager — the login is the shift punch-in.

Cashier · Heraklion · 22:00
02
COUNT · 13 DENOMINATIONS
Enter quantities.

One row per denomination. Plus / minus steppers — no typing. The running total updates live, but server.calc_total() is the only one that counts.

€50 × 5 · €20 × 7 · €10 × 3 · …
03
VERIFY · APPROVAL CODE
Server signs off.

The client total is thrown away. The server recalculates, issues CS-20260418-AB3K, and binds it to the shift. No edits after this point.

reg_ok · 200 · €427.50
ACT II
Envelope moves to the owner, then to the bank. Every handover is signed.
Cashier Owner
04
SEAL · QR RECEIPT + PIN
Receipt prints.

The Bluetooth printer spits a receipt with the QR, the total, and a one-time HANDOVER PIN. Both go into the sealed envelope, into the safe.

PIN 4·7·2·9·0·8 · valid for one handover
05
COLLECT · SCAN + PIN
Owner takes it.

Next morning, Nikos scans the envelope's QR with the owner app and enters the PIN Maria handed him. The envelope flips to collected_by_owner.

Owner · scan + PIN · 08:12
06
BANK · REFERENCE MATCH
Loop closed.

At the bank, Nikos taps the deposit reference into the app. CashProof reconciles — the envelope is now deposit_confirmed, and the accountant can verify via the QR without logging in.

Alpha Bank · 20260418-0031 · 09:41