CASHIER · CASH TRANSFER

Cash Transfer

Move cash denomination-wise from one party to another (e.g. Vault → Cashier for opening).

@if (tellers.length === 1) { From (Teller / Head) } @else { From (Teller / Head) @for (t of tellers; track t.id) { {{ t.name }} } @if (tellers.length === 0) { No tellers configured } } To (Cashier) @for (c of cashiers; track c.id) { {{ c.label }} } @if (fromTellerId && cashiers.length === 0 && !loadingCashiers) { No cashiers for this teller } Date Note
@if (fromTellerId && !loadingVault) { @if (vaultHasBreakdown) {
account_balance Vault available: ₹{{ vaultTotalAvailable | number: '1.2-2' }}
} @else {
warning No denomination breakdown recorded for this vault — per-note availability can't be checked, only the total opening balance.
} }
@if (notes.length) { } @for (d of notes; track d.id) { } @if (coins.length) { } @for (d of coins; track d.id) { } @if (denoms.length === 0) { }
Denomination Available Count Amount
Bank Notes
{{ d.label }} {{ vaultHasBreakdown ? availableFor(d) : '—' }}
₹{{ subtotal(d) | number: '1.2-2' }}
Coins
{{ d.label }} {{ vaultHasBreakdown ? availableFor(d) : '—' }}
₹{{ subtotal(d) | number: '1.2-2' }}
No active denominations. Add some in Cash Denomination.
@if (anyDenomExceedsAvailable) {
One or more notes/coins above are counted higher than the vault currently holds — reduce them before recording the transfer.
} @else if (exceedsVaultTotal) {
Total exceeds what the vault has available (₹{{ vaultTotalAvailable | number: '1.2-2' }}).
}
Total to transfer: ₹{{ total | number: '1.2-2' }}
pending_actions
My transfer requests
Cash leaves the vault only after a manager approves
@if (myRequests.length) { @for (r of myRequests; track r.id) { }
Date To Amount Status Approved by
{{ r.transfer_date || '—' }} {{ r.to_party || '—' }} ₹{{ r.total_amount | number: '1.2-2' }} {{ r.status }} @if (r.rejection_reason) {
{{ r.rejection_reason }}
}
{{ r.checker_name || '—' }}
} @else {
You have not raised any cash transfer request yet.
}