CASHIER · DAY BOOK

Day Book

Every voucher raised on the selected date — cash deposits, withdrawals, disbursements, collections and bank transfers, with credit and debit totals.

@if (errorMsg) {
{{ errorMsg }}
} @if (!loading && exceptionRows.length > 0) {
warning {{ exceptionRows.length }} voucher{{ exceptionRows.length === 1 ? '' : 's' }} awaiting investigation @if (resolvedExceptionCount > 0) { ({{ resolvedExceptionCount }} already closed) }
@for (e of exceptionRows; track e.voucherNo) {
{{ e.voucherNo }} System ₹{{ e.amount | number: '1.2-2' }} @if (e.slipAmount != null && e.slipAmount !== e.amount) { · Slip ₹{{ e.slipAmount | number: '1.2-2' }} (diff ₹{{ e.slipAmount - (e.amount ?? 0) | number: '1.2-2' }}) } {{ e.verifyRemarks }} — {{ e.verifiedByName }}, {{ timeOf(e.verifiedAt) }}
}
} @if (loading) {
Loading…
} @if (!loading && loaded && rows.length === 0) {
receipt_long

No vouchers were raised on {{ date }}.

} @if (!loading && filteredRows.length > 0) {
Credit · CR (money in) ₹{{ shownCredit | number: '1.2-2' }}
−
Debit · DR (money out) ₹{{ shownDebit | number: '1.2-2' }}
=
Net ₹{{ shownCredit - shownDebit | number: '1.2-2' }}

Totals count approved vouchers only — pending and rejected rows are listed but never move the money.

@for (r of filteredRows; track r.voucherNo ?? r.submittedAt) { @if (r.verifyStatus === 'EXCEPTION' && verifyRow !== r) { } @if (verifyRow === r) { } @if (attachRow === r) { } }
Voucher No Dr/Cr Type Account Party Amount Payment Status By Approved By Slip Check Time
{{ r.voucherNo ?? '—' }} {{ r.side }} {{ r.kind }} {{ r.accountNo ?? '—' }} @if (r.accountType) { · {{ r.accountType }} } {{ r.party ?? '—' }} ₹{{ r.amount | number: '1.2-2' }} {{ r.paymentTypeName ?? '—' }} {{ r.status }} {{ r.handledBy ?? '—' }} {{ r.approvedBy ?? '—' }} @if (r.approvedBy && r.actionedAt) { · {{ timeOf(r.actionedAt) }} } @if (r.verifyStatus === 'VERIFIED') { ✓ MATCHED } @else if (r.verifyStatus === 'EXCEPTION' && r.resolutionStatus) { ✓ RESOLVED } @else if (r.verifyStatus === 'EXCEPTION') { ⚠ EXCEPTION } @else { Not checked } {{ timeOf(r.submittedAt) }}
{{ r.resolutionStatus ? 'task_alt' : 'warning' }} Exception @if (r.slipAmount != null && r.slipAmount !== r.amount) { — slip ₹{{ r.slipAmount | number: '1.2-2' }} vs system ₹{{ r.amount | number: '1.2-2' }} (difference ₹{{ r.slipAmount - (r.amount ?? 0) | number: '1.2-2' }}) } — {{ r.verifyRemarks }} · raised by {{ r.verifiedByName }} at {{ timeOf(r.verifiedAt) }} @if (r.resolutionStatus) {
Closed — {{ resolutionLabel(r.resolutionStatus) }}: {{ r.resolutionNotes }} · by {{ r.resolvedByName }} at {{ timeOf(r.resolvedAt) }}
}
Slip check — {{ r.voucherNo }}
System recorded ₹{{ r.amount | number: '1.2-2' }}
@if (verifySlipBlank) {
Difference —
} @else if (verifyMismatch) {
Difference ₹{{ verifyDifference | number: '1.2-2' }}
} @else {
Match Amounts agree
}
@if (verifyMismatch) {

Saving this marks the voucher as an exception for investigation — it does not change the posted amount.

}
@if (!verifyMismatch) { }
Attachments — {{ r.voucherNo }}
@if (attachUploading) {

Uploading…

} @if (attachLoading) {

Loading…

} @if (!attachLoading && attachments.length === 0) {

Nothing attached to this voucher yet.

} @for (a of attachments; track a.id) {
description {{ a.fileName }} {{ a.fileSize }} bytes · {{ a.uploadedByName }}
}
Showing {{ filteredRows.length }} of {{ rows.length }} voucher(s) ₹{{ shownCredit - shownDebit | number: '1.2-2' }}
} @if (!loading && loaded && rows.length > 0 && filteredRows.length === 0) {
No voucher matches “{{ search }}”.
}