Skip to content
Cash Management

A real cash register, built into the same system as your card sales

Open and close registers per location per day, log every transaction with a staff PIN, hand cash between shifts with receiver confirmation, file expenses with receipts, and reconcile expected vs actual balance at end of day. CSV export for accounting.

1-per-day
Register per location
5
Transaction types
30 days
CSV export window
PIN-audited
Every transaction

One register per location per day — opened, closed, reconciled

Open the register at start of shift with a known opening balance. The system tracks cash in, cash out, expenses, and the expected balance in real time. At end of shift you enter the actual count, the system flags discrepancies, and the register transitions through OPEN → CLOSED → RECONCILED (or DISCREPANCY if the count doesn't match).

  • Unique register per (locationId, date) — no double-counting
  • Opening balance set at open, used as the reconciliation baseline
  • Live totals: cash in, cash out, expenses, expected balance
  • Actual balance entry at close with discrepancy auto-calc
  • Status flow: OPEN → CLOSED → RECONCILED / DISCREPANCY
  • Multi-location, multi-day — every register is separate
One register per location per day — opened, closed, reconciled feature illustration

Five transaction types — every cash movement classified

Every cash movement gets a type so end-of-day reconciliation actually means something. Sales credit the register, change-given debits it, refunds debit it, adjustments correct keying mistakes, and expenses are tracked separately for accounting. Each transaction is tied to a staff member by staffId AND staff PIN.

  • SALE — cash sale at the kiosk
  • CHANGE_GIVEN — change handed back to a customer
  • REFUND — cash refund (refund-policy enforced)
  • ADJUSTMENT — manual correction with reason
  • EXPENSE — cash spent on supplies or operations
  • Indexed by register, staff, and order for fast audits
Five transaction types — every cash movement classified feature illustration

Staff PIN audit trail on every transaction

Every cash transaction stores the staffId of the person who handled it AND the staff PIN they entered. End-of-shift cash audits roll up by staffId, so if there's a discrepancy you can see exactly which staff member's transactions diverge from expected. Cash handovers between shifts require receiver confirmation before the cash is considered transferred.

  • staffId + staffPin recorded on every CashTransaction
  • Per-staff cash audit at end of shift
  • CashHandover model: from-staff, to-staff, amount, denomination, notes
  • Handover requires receiver confirmation (confirmedByReceiver flag)
  • confirmedAt timestamp lets you see how long handovers sit unclaimed
  • Refund linkage by orderId — every cash refund traces to its sale
Staff PIN audit trail on every transaction feature illustration

Expenses with receipts + end-of-day reconciliation + CSV export

Cash expenses (a bag of ice for the kiosk, batteries for a camera) record with reason, staffId, optional approver, and a receipt URL. End-of-day reconciliation at /api/admin/reconciliation rolls cash + card + photographer totals for the date, scoped to your org and allowed locations. CSV export takes 30 days of activity in one click.

  • CashExpense — amount, reason, staffId, approvedBy, receiptUrl
  • Reconciliation endpoint: GET /api/admin/reconciliation?date=YYYY-MM-DD
  • Reconciliation scoped to caller's org + allowed locations (audited)
  • Cash + card + photographer totals rolled per date
  • Per-venue dashboard at /v/[slug]/cash; admin-wide at /admin/cash
  • 30-day CSV export at /api/admin/cash/export?days=30
Expenses with receipts + end-of-day reconciliation + CSV export feature illustration

Everything included

No feature gates. No hidden upgrades. Get the full experience from day one.

One register per location per day

Unique (locationId, date) constraint prevents double-counting.

Opening balance + live totals

Cash in, cash out, expenses, expected balance updated in real time.

End-of-shift actual count

Enter actual balance; system computes discrepancy automatically.

5 transaction types

SALE / CHANGE_GIVEN / REFUND / ADJUSTMENT / EXPENSE.

Staff PIN audit trail

Every transaction tagged with staffId + staffPin for shift audits.

Cash handovers

From-staff → to-staff with denomination, notes, and receiver confirmation.

Receiver-confirmed handovers

confirmedByReceiver flag + timestamp; unconfirmed handovers flagged.

Expense tracking with receipts

CashExpense — amount, reason, staffId, approver, receipt URL.

End-of-day reconciliation

Cash + card + photographer totals rolled per date, scoped to org.

Per-venue + admin dashboards

/v/[slug]/cash for venue CEOs; /admin/cash for HQ.

30-day CSV export

Cash + commission + handover data for accountants.

Refund linkage by orderId

Cash refunds always trace to the original sale.

Who it's for

Hotel kiosk that takes cash

Photographer opens the register at 09:00 with €100 float. Every cash sale, change-given, refund, and expense recorded with their PIN. At 22:00 they close — actual count vs expected balance. Discrepancy flag if they don't match.

Multi-shift water park

Morning shift hands cash to evening shift via CashHandover. Receiver confirms receipt with their PIN. If the handover sits unconfirmed, end-of-day reports flag it. No more 'I gave it to her, ask her' disputes.

Venue ops manager auditing staff

Per-staff cash audit shows every transaction with that staffId across the day. If one staff member's transactions consistently diverge from expected, the audit log tells you immediately — no need to scrub spreadsheets.

Accountant filing monthly reports

30-day CSV export at /api/admin/cash/export gives the accountant cash + commission + handover data for the month, ready to import into their software. End-of-day reconciliation is already done — they're verifying, not reconstructing.

Full feature list

Cash registers per location per day
OPEN / CLOSED / RECONCILED / DISCREPANCY
Opening + actual balance + auto discrepancy
5 cash transaction types
SALE / CHANGE_GIVEN / REFUND / ADJUSTMENT / EXPENSE
Staff PIN on every transaction
Per-staff cash audits
Cash handovers with denominations
Receiver-confirmed handovers
CashExpense with receipts
Approver field for expenses
End-of-day reconciliation API
Org + location-scoped reconciliation
Cash + card + photographer roll-up
Per-venue cash dashboard (/v/[slug]/cash)
Admin-wide cash dashboard (/admin/cash)
30-day CSV export
Refund-orderId linkage

Square handles cash but doesn't tie it to your photo gallery system. Generic POS tools track cash but not commissions or photographer payouts. Fotiqo's cash register is in the same database as the gallery, the order, the commission, and the refund — so end-of-day reconciliation rolls every revenue stream into one report.

Compare plans

“Fotiqo has everything I need in one place. I stopped paying for four separate tools and my workflow is so much simpler now.”

Sarah Chen, Wedding Photographer

Ready to get started?

Free to start. No credit card. No monthly fees on the Starter plan.

See cash management