@if (previousDayUnsettled) {
TRANSACTIONS BLOCKED — Previous day cash settlement is pending @if (unsettledSince) { (since {{ unsettledSince }}) } . Complete Cash Settlement before processing any transactions.
} @if (!morningTransferReceived && !previousDayUnsettled) {
NO CASH ALLOCATED — Morning transfer not received. Request a morning transfer from the vault before processing cash transactions.
} @if (!accountDetails && !loadingAccount) {
Transaction Entry
Eff. Date
@for (row of rows; track $index; let i = $index) {
{{ i + 1 }}
Classification
Account
Payment instrument
₹
Narration
}
} @if (loadingAccount) {
Loading account details…
} @if (accountError && !loadingAccount) {
{{ accountError }}
} @if (accountDetails && !loadingAccount) {
Personal Information
Branch{{ officeName }}
A/c No.{{ accountDetails.accountNo }}
Name{{ clientName }}
S/D/W/H/O{{ guardianName }}
Address{{ clientAddress }}
Email{{ clientEmail }}
Last Txn{{ lastTransactionDate }}
Type{{ accountDetails.depositType?.value ?? selectedRow?.acTyp ?? '—' }}
Opening Dt{{ openingDate }}
Status{{ accountDetails.status?.value ?? '—' }}
CIF No.{{ cifNumber }}
@if (isNonIndividual) {
Constitution {{ nonPersonDetails?.constitution?.name ?? nonPersonDetails?.constitutionType?.name ?? '—' }}
Incorp. No. {{ nonPersonDetails?.incorpNo ?? nonPersonDetails?.incorporationNo ?? '—' }}
Main Business {{ nonPersonDetails?.mainBusinessLine?.name ?? nonPersonDetails?.mainBusinessLineType?.name ?? '—' }}
}
Joint A/c Holders @if (accountDetails?.modeOfOperation) { {{ modeOfOperationLabel }} }
@if (jointHolders.length === 0) { No joint holders } @for (jh of jointHolders; track jh.id ?? $index; let i = $index) {
{{ jh.displayName }} {{ jh.role ?? (jh.isPrimary || jh.primary ? 'Primary' : 'Co-Holder') }} @if (jh.sharePercentage) { {{ jh.sharePercentage }}% } @if (jh.signingAuthority) { {{ jh.signingAuthority }} }
} @if (withdrawalRule) {
{{ withdrawalRule.icon }} {{ withdrawalRule.msg }}
}
@if (!isNonIndividual) {
Nominees
@if (nominees.length === 0) { No nominees } @for (n of nominees; track n.id ?? $index) {
{{ n.nomineeDisplayName ?? '—' }} {{ n.relationshipName ?? '—' }} @if (n.percentageShare) { {{ n.percentageShare }}% } @if (n.nomineeIsMinor) { Minor }
}
} @if (isNonIndividual) {
Non-Individual Account Details @if (accountDetails?.modeOfOperation) { {{ modeOfOperationLabel }} }
@if (!accountDetails?.partners?.length) { No partners / members linked } @for (p of accountDetails?.partners ?? []; track p.id; let i = $index) {
{{ p.clientName ?? '—' }} {{ p.clientCif ?? '' }} @if (p.sharePercentage) { {{ p.sharePercentage }}% } @if (p.isMandatory) { Mandatory } @else { Optional }
} @if (withdrawalRule && isNonIndividual) {
{{ withdrawalRule.icon }} {{ withdrawalRule.msg }}
}
}
Other Information
Phone No.{{ clientPhone }}
Client ID{{ accountDetails.clientId }}
PAN{{ panNumber }}
KYC Status {{ kycStatus }}
CKYC No.{{ ckycNumber }}
Aadhaar{{ aadhaarNumber }}
Product {{ accountDetails.savingsProductName || accountDetails.depositProductName || accountDetails.productName || '—' }}
Account Information
1.Current Balance {{ currencySymbol }}{{ currentBalance | number: '1.2-2' }}
2.Today's Clg. Amount {{ currencySymbol }}{{ todayClgAmount | number: '1.2-2' }}
3.Clear Balance (2-3) {{ currencySymbol }}{{ clearBalance | number: '1.2-2' }}
4.Freeze Amount {{ currencySymbol }}{{ freezeAmount | number: '1.2-2' }}
5.Withdrawable Amt. {{ currencySymbol }}{{ withdrawableAmount | number: '1.2-2' }}
@if (accountAlerts.length > 0) {
@for (alert of accountAlerts; track $index) {
@if (alert.type === 'danger') { } @if (alert.type === 'warning') { } @if (alert.type === 'info') { } {{ alert.message }}
}
}
Client Photo
@if (clientPhotoUrl) { Client Photo } @else {
No Photo
}
Signature
@if (signatureUrl) { Signature } @else {
No Signature
}
Account Facilities
@for (f of facilities; track f.label) { {{ f.label }} }
@if (accountDetails?.withHoldTax) {
TDS: {{ accountDetails.taxGroupData?.name ?? 'Applicable' }}
} @if (accountDetails?.subStatus?.value && accountDetails.subStatus.value !== 'None') {
{{ accountDetails.subStatus.value }}
}
Today's Activity @if (todayTransactions.length > 0) { {{ todayTransactions.length }} txn }
Today's NEFT/RTGS ₹{{ sameDayNeftRtgs | number: '1.2-2' }}
Cheque In Clearing ₹{{ sameDayChequeClearing | number: '1.2-2' }}
@if (todayTransactions.length === 0) { No transactions today }
@for (t of todayTransactions; track t.id) {
{{ t.transactionType?.value ?? '—' }} {{ t.transactionType?.deposit ? '+' : '−' }}₹{{ t.amount | number: '1.2-2' }}
}
Linked Accounts
@if (!linkedAccounts) { Loading… } @if (linkedAccounts) { @if ((linkedAccounts.savingsAccounts?.length ?? 0) > 0) {
Savings
@for (a of linkedAccounts.savingsAccounts; track a.id) {
{{ a.accountNo }} {{ a.productName }} {{ a.status?.value }}
} } @if ((linkedAccounts.fixedDepositAccounts?.length ?? 0) > 0) {
Fixed Deposits
@for (a of linkedAccounts.fixedDepositAccounts; track a.id) {
{{ a.accountNo }} {{ a.productName }} {{ a.status?.value }}
} } @if ((linkedAccounts.recurringDepositAccounts?.length ?? 0) > 0) {
Recurring Deposits
@for (a of linkedAccounts.recurringDepositAccounts; track a.id) {
{{ a.accountNo }} {{ a.productName }} {{ a.status?.value }}
} } @if ((linkedAccounts.loanAccounts?.length ?? 0) > 0) {
Loans
@for (a of linkedAccounts.loanAccounts; track a.id) {
{{ a.accountNo }} {{ a.productName }} {{ a.status?.value }}
} } @if ( (linkedAccounts.savingsAccounts?.length ?? 0) === 0 && (linkedAccounts.fixedDepositAccounts?.length ?? 0) === 0 && (linkedAccounts.recurringDepositAccounts?.length ?? 0) === 0 && (linkedAccounts.loanAccounts?.length ?? 0) === 0 ) { No linked accounts } }
Standing Instructions @if (standingInstructions.length > 0) { {{ standingInstructions.length }} }
@if (standingInstructions.length === 0) { No standing instructions } @for (si of standingInstructions; track si.id) {
{{ si.name }}
₹{{ si.amount | number: '1.2-2' }} {{ si.status?.value }}
}
Net Balance {{ currencySymbol }}{{ clearBalance | number: '1.2-2' }} CR
A/c Type {{ accountDetails.depositType?.value || (selectedRow?.acTyp === 'CA' ? 'Current Account' : selectedRow?.acTyp === 'SD' ? 'Savings Deposit' : selectedRow?.acTyp === 'FD' ? 'Fixed Deposit' : selectedRow?.acTyp === 'RD' ? 'Recurring Deposit' : selectedRow?.acTyp) || '—' }}
Interest Rate {{ accountDetails.nominalAnnualInterestRate ?? 0 | number: '1.2-2' }}%
Currency {{ accountDetails.currency?.code ?? 'INR' }}
Basic Information
Opening Balance{{ currencySymbol }}{{ currentBalance | number: '1.2-2' }}
Cash Hold0.00
Transfer Hold0.00
Clearing Hold0.00
Bal. After This Trans. {{ currencySymbol }}{{ clearBalance | number: '1.2-2' }}
Opening Position — {{ today }}
@if (!openingLoaded) { Loading… } @if (openingLoaded && openingDenoms.length === 0) { No opening position found } @if (openingLoaded && openingDenoms.length > 0) { @for (d of sortedOpeningDenoms; track d.denominationId) { @if (d.count > 0) { } }
Denomination Opening Count Amount
₹{{ d.denominationValue }} {{ d.count }} ₹{{ d.count * d.denominationValue | number: '1.2-2' }}
Total ₹{{ openingTotal | number: '1.2-2' }}
}
Denomination Entry @if (denominationTotal > 0) { ₹{{ denominationTotal | number: '1.2-2' }} } @if (isCashPayment && denominationTotal <= 0) { ⚠ Required for Cash }
@for (d of allDenominations; track d.id) { }
Denomination Count Amount
{{ d.label }}
{{ subtotalFor(d) > 0 ? (subtotalFor(d) | number: '1.2-2') : '—' }}
Total ₹{{ denominationTotal | number: '1.2-2' }}
@if (denominationTotal > 0) {
}
Closing Position (Preview) @if (selectedRow?.dbCr === 'Dr' && hasWithdrawalDenomOverdraft) { ⚠ Stock Overdraft }
@if (selectedRow?.dbCr === 'Dr' && hasWithdrawalDenomOverdraft) {
Insufficient Denomination Stock — Cannot Proceed
@for (o of denominationOverdrafts; track o.label) { }
Denomination Requested Available Short
{{ o.label }} {{ o.requested }} {{ o.available }} −{{ o.shortfall }}
Adjust denomination or request vault replenishment.
} @if (closingDenoms.length === 0) { Enter denomination to see closing position } @if (closingDenoms.length > 0) { @for (d of sortedClosingDenoms; track d.denominationValue + d.kind) { }
Denomination Opening {{ selectedRow?.dbCr === 'Cr' ? '+Deposit' : '-Withdrawal' }} Closing
₹{{ d.denominationValue }} {{ d.openCount }} {{ selectedRow?.dbCr === 'Cr' ? '+' : '-' }}{{ d.entered }} {{ d.closingCount }}
Total ₹{{ openingTotal | number: '1.2-2' }} {{ selectedRow?.dbCr === 'Cr' ? '+' : '-' }}₹{{ denominationTotal | number: '1.2-2' }} ₹{{ closingTotal | number: '1.2-2' }}
}
Transaction Entry
Eff. Date
@for (row of rows; track $index; let i = $index) {
{{ i + 1 }}
Classification
Account
Payment instrument
₹
Narration
}
}
@if (showConfirmDialog && confirmData) {
{{ confirmData.type === 'DEPOSIT' ? '⬇' : '⬆' }} Confirm {{ confirmData.type }}
Account{{ confirmData.accountNo }}
Customer{{ confirmData.clientName }}
Payment Type{{ confirmData.paymentType }}
@if (confirmData.chequeNo) {
Cheque No.{{ confirmData.chequeNo }}
}
Current Balance{{ confirmData.symbol }}{{ confirmData.currentBalance | number: '1.2-2' }}
{{ confirmData.type === 'DEPOSIT' ? 'Deposit' : 'Withdrawal' }} Amount {{ confirmData.type === 'DEPOSIT' ? '+' : '−' }}{{ confirmData.symbol }}{{ confirmData.amount | number: '1.2-2' }}
Balance After {{ confirmData.symbol }}{{ confirmData.balanceAfter | number: '1.2-2' }}
} @if (alertModal) {
@if (alertModal.type === 'error') { } @if (alertModal.type === 'warning') { } @if (alertModal.type === 'info') { } @if (alertModal.type === 'success') { }
{{ alertModal.type === 'error' ? 'ERROR' : alertModal.type === 'warning' ? 'WARN' : alertModal.type === 'success' ? 'OK' : 'INFO' }}

{{ alertModal.title }}

@for (line of alertModal.lines; track $index) { @if ($index === 0) {

{{ line }}

} @else if (line.includes(':') && $index < alertModal.lines.length - 1) {
{{ line.split(':')[0].trim() }} {{ line.split(':').slice(1).join(':').trim() }}
} @else {

{{ line }}

} }
@if (alertModal.onConfirm) { } @else { }
}