{{ missedOnly ? 'Missed Close Register' : 'Day Open / Day Close' }}
@if (missedOnly) {
Business days that were opened and never closed. While a day stays open its closing balance never carries
forward, a back-dated entry can still be posted into it, and any cash difference on that date goes unnoticed.
} @else {
The branch's business day, opened each morning and closed each evening. A day left open never carries its
closing balance forward, and any cash difference on that date goes unnoticed — so the ones still hanging are
listed first.
}
@if (canOpenToday && !missedOnly) {
}
@if (errorMsg) {
{{ errorMsg }}
}
@if (successMsg) {
{{ successMsg }}
}
@if (!canOperate && loaded) {
info
You can see the register but not open or close a day — a Clerk, Head Cashier or Bank Manager does that, since a
cashier works inside the day and cannot declare it closed.
lock
This branch has never opened a business day, and its Cash at Vault GL account has no opening balance yet. Count
the vault and open the first business day together from
Migrate Cash Denomination — Open Day here is
locked until that is done, so today's cash tracking never starts out of step with the ledger.
}
@if (missed.length > 0) {
warning{{ missed.length }} business day{{ missed.length === 1 ? '' : 's' }} never closed
No missed closes. Every business day opened for this branch has been closed.
}
@if (!missedOnly && openDay) {
DAY OPEN{{ openDay.businessDate }}
opened {{ timeOnly(openDay.openedAt) }} by {{ openDay.openedByName }} · opening cash ₹{{
openDay.openingCash | number: '1.2-2'
}}
@if (canOperate) {
}
@if (interestPending.length > 0) {
warning
Savings interest posting report is not approved for {{ interestPending.join(', ') }}. Approve it in Reports → Interest Posting Reports before
closing the day.
}
} @else if (loaded && canOperate) {
NO DAY OPENOpen the business day before any cash transaction is accepted.
}
@if (showOpenForm) {
Open business day
@if (hasAutoFilledOpenCounts) {
Auto-filled below from yesterday's own closing count (₹{{ carriedForwardTotal | number: '1.2-2' }}) — correct
only the rows where today's physical count differs before opening.
} @else {
Left blank with no notes/coins counted below, yesterday's closing figure carries forward automatically — which
is what keeps the opening balance from drifting. Counting the drawer below is what actually records the
note/coin stock the branch can check a vault handout against later.
}
Vault activity today — moves cash within the branch, not counted in the total above: ₹{{
preview.vaultIn | number: '1.2-2'
}}
handed to a cashier, ₹{{ preview.settledOut | number: '1.2-2' }} settled back to the vault.
}
}
@if (preview?.fdInterestDue?.length) {
savingsFixed deposit interest due today
@for (d of preview.fdInterestDue; track d.productId) {
The day cannot be closed yet. Fixed deposit interest is not approved for:
{{ preview.fdInterestPending.join(', ') }}. Approve it under Reports → FD Interest Posting Reports, then
close the day. The user who generated a report cannot approve it.
The day cannot be closed yet. Fixed deposit maturities are not approved for:
{{ preview.fdMaturityPending.join(', ') }}. Approve it under Reports → FD Maturity Reports, then close the
day. The user who generated a report cannot approve it.
}
@if (preview?.savingsInterestPending?.length) {
warning
The day cannot be closed yet. Savings interest is not approved for:
{{ preview.savingsInterestPending.join(', ') }}. Approve it under Reports → Interest Posting Reports, then
close the day.
}
@if (eodLoading) {
Fetching vault and cashier positions…
}
@if (branchTotalSummary; as bt) {
account_balance_walletBranch Total (Vault + All Cashiers)
@if (hasAutoFilledCounts) {
Auto-filled below from the vault and every cashier's position shown above — correct only the rows where the
physical count differs, note by note.
} @else {
Pre-filled with what the books expect — change it only if the drawer counted something different, and that
difference is then recorded against the day. Counting the denominations below overrides the typed figure with
what was actually counted, note by note.
}
The figure above is stored against the record, so a difference stays readable later even if a transaction is
reversed afterwards.
@if (hasUnreconciledOrUnsettledCashiers) {
{{ blocksSameDayClose ? 'block' : 'warning' }}
@if (blocksSameDayClose) {
Cannot close today — cashiers still holding cash have not been reconciled or settled.
} @else {
This day's cash was never reconciled or settled.
}
@for (detail of unreconciledOrUnsettledCashierDetails; track detail.name) {
{{ detail.name }} —
@if (detail.notReconciled && detail.notSettled) {
Not Reconciled, Not Settled
} @else if (detail.notReconciled) {
Not Reconciled
} @else {
Not Settled
}
}
@if (blocksSameDayClose) {
Each cashier must count their drawer, reconcile it, and settle the cash back to the vault. Then this
day can be closed.
} @else {
The cash cannot be counted for a date that has passed. Record why above — their names are kept
against the record.
}