CASHIER · HISTORY

Cash Movement History

All transfers, settlements, inter-cashier movements and cash exchanges.

@if (loading) {
Loading…
}
@if (rows.length === 0 && !loading) {
No records.
} @if (rows.length > 0) {
@for (r of rows; track r.id) { }
# Date From To Amount Note By Status Action
{{ r.id }} {{ r.date }} {{ r.fromParty }} {{ r.toParty }} ₹{{ r.amount | number: '1.2-2' }} {{ r.note || '—' }} {{ r.performedByUsername || '—' }} {{ r.isReversed ? 'Reversed' : 'Active' }}
}
@if (detail) {
{{ detail.row.type === 'settlement' ? 'account_balance_wallet' : detail.row.type === 'exchange' ? 'currency_exchange' : 'swap_horiz' }}
{{ typeLabel(detail.row.type) }} #{{ detail.row.id }}
From {{ detail.row.fromParty || '—' }}
To {{ detail.row.toParty || '—' }}
Date {{ detail.row.date }}
@if (detail.row.type === 'exchange') {
Customer PAN {{ detail.row.panNumber || '—' }}
}
Total Amount ₹{{ detail.row.amount | number: '1.2-2' }}
Performed By {{ detail.row.performedByUsername || '—' }}
Created At {{ detail.row.createdAt || '—' }}
Note {{ detail.row.note || '—' }}
Status {{ detail.row.isReversed ? 'Reversed' : 'Active' }}
@if (detail.row.isReversed) {
undo
Reversed @if (detail.row.reversedAt) { on {{ detail.row.reversedAt }} } @if (detail.row.reverseReason) { — {{ detail.row.reverseReason }} }
} @if (detail.row.type === 'settlement' && detail.morningTotal > 0) {
wb_sunny
Morning Received ₹{{ detail.morningTotal | number: '1.2-2' }}
arrow_forward
account_balance_wallet
This Settlement ₹{{ detail.row.amount | number: '1.2-2' }}
{{ detail.row.amount === detail.morningTotal ? 'check_circle' : detail.row.amount > detail.morningTotal ? 'trending_up' : 'trending_down' }} {{ detail.row.amount === detail.morningTotal ? 'Fully Settled' : (detail.row.amount - detail.morningTotal >= 0 ? '+' : '') + '₹' + (detail.row.amount - detail.morningTotal | number: '1.2-2') }}
}
payments Denomination Breakdown
@if (detail.loading) {
Loading denomination details…
} @else if ( detail.row.type === 'exchange' && detail.receivedDenominations.length === 0 && detail.givenDenominations.length === 0 ) {
No denomination data recorded.
} @else if (detail.row.type !== 'exchange' && detail.denominations.length === 0) {
No denomination data recorded.
} @else if (detail.row.type === 'exchange') {
south Received from Customer
@if (notes(detail.receivedDenominations).length > 0) {
Notes
@for (d of notes(detail.receivedDenominations); track d.denominationValue) { }
Denomination Count Total
₹{{ d.denominationValue }} {{ d.count }} ₹{{ d.totalAmount | number: '1.2-2' }}
Subtotal {{ totalCount(notes(detail.receivedDenominations)) }} ₹{{ subtotal(notes(detail.receivedDenominations)) | number: '1.2-2' }}
} @if (coins(detail.receivedDenominations).length > 0) {
Coins
@for (d of coins(detail.receivedDenominations); track d.denominationValue) { }
Denomination Count Total
₹{{ d.denominationValue }} {{ d.count }} ₹{{ d.totalAmount | number: '1.2-2' }}
Subtotal {{ totalCount(coins(detail.receivedDenominations)) }} ₹{{ subtotal(coins(detail.receivedDenominations)) | number: '1.2-2' }}
}
north Given to Customer
@if (notes(detail.givenDenominations).length > 0) {
Notes
@for (d of notes(detail.givenDenominations); track d.denominationValue) { }
Denomination Count Total
₹{{ d.denominationValue }} {{ d.count }} ₹{{ d.totalAmount | number: '1.2-2' }}
Subtotal {{ totalCount(notes(detail.givenDenominations)) }} ₹{{ subtotal(notes(detail.givenDenominations)) | number: '1.2-2' }}
} @if (coins(detail.givenDenominations).length > 0) {
Coins
@for (d of coins(detail.givenDenominations); track d.denominationValue) { }
Denomination Count Total
₹{{ d.denominationValue }} {{ d.count }} ₹{{ d.totalAmount | number: '1.2-2' }}
Subtotal {{ totalCount(coins(detail.givenDenominations)) }} ₹{{ subtotal(coins(detail.givenDenominations)) | number: '1.2-2' }}
}
Grand Total {{ totalCount(detail.receivedDenominations) }} notes/coins ₹{{ detail.row.amount | number: '1.2-2' }}
} @else { @if (notes(detail.denominations).length > 0) {
Notes
@if (detail.row.type === 'settlement' && detail.morningTotal > 0) { } @for (d of notes(detail.denominations); track d.denominationValue) { @if (detail.row.type === 'settlement' && detail.morningTotal > 0) { } } @if (detail.row.type === 'settlement' && detail.morningTotal > 0) { }
DenominationMorning{{ detail.row.type === 'settlement' ? 'Settled' : 'Count' }} Total
₹{{ d.denominationValue }} {{ d.morningCount || '—' }}{{ d.count }} ₹{{ d.totalAmount | number: '1.2-2' }}
Subtotal {{ totalCount(notes(detail.denominations)) }} ₹{{ subtotal(notes(detail.denominations)) | number: '1.2-2' }}
} @if (coins(detail.denominations).length > 0) {
Coins
@if (detail.row.type === 'settlement' && detail.morningTotal > 0) { } @for (d of coins(detail.denominations); track d.denominationValue) { @if (detail.row.type === 'settlement' && detail.morningTotal > 0) { } } @if (detail.row.type === 'settlement' && detail.morningTotal > 0) { }
DenominationMorning{{ detail.row.type === 'settlement' ? 'Settled' : 'Count' }} Total
₹{{ d.denominationValue }} {{ d.morningCount || '—' }}{{ d.count }} ₹{{ d.totalAmount | number: '1.2-2' }}
Subtotal {{ totalCount(coins(detail.denominations)) }} ₹{{ subtotal(coins(detail.denominations)) | number: '1.2-2' }}
}
Grand Total {{ totalCount(detail.denominations) }} notes/coins ₹{{ detail.row.amount | number: '1.2-2' }}
}
}