@if (loading) {
hourglass_empty Loading request…
} @if (!loading && !request) {
error_outline Request not found.
} @if (!loading && request) {
{{ request.voucher_no || '—' }} {{ request.status }}
person {{ request.clerk_name }} ({{ request.clerk_username }}) schedule {{ formatDateTime(request.submitted_at) }} @if (request.actioned_at) { check_circle Actioned: {{ formatDateTime(request.actioned_at) }} }
@if (!isBankTransferMode) {
account_balance {{ isCollectionMode ? 'GL Credit (Target)' : 'GL Debit (Source)' }}
GL Account No {{ request.gl_account_no }}
GL Account Name {{ request.gl_account_name }}
{{ isCollectionMode ? 'CR Amount' : 'DR Amount' }} ₹{{ request.dr_amount | number: '1.2-2' }}
Payment Mode {{ request.payment_type_name || 'Transfer' }}
@if (request.description) {
Description {{ request.description }}
}
} @if (isBankTransferMode) {
swap_horiz Bank Transfer Summary
Total Amount ₹{{ request.dr_amount | number: '1.2-2' }}
DR Accounts {{ drEntries.length }} account{{ drEntries.length !== 1 ? 's' : '' }}
CR Accounts {{ crEntries.length }} account{{ crEntries.length !== 1 ? 's' : '' }}
@if (request.description) {
Description {{ request.description }}
}
} @if (!isBankTransferMode) {
account_balance_wallet @if (isCollectionMode) { Debit Entries ({{ drEntries.length }} account{{ drEntries.length !== 1 ? 's' : '' }} — collect from) } @else { Credit Entries ({{ crEntries.length }} account{{ crEntries.length !== 1 ? 's' : '' }}) }
@for (entry of isCollectionMode ? drEntries : crEntries; track entry.accountNo; let i = $index) { }
# Account No Account Name Type {{ isCollectionMode ? 'Amount (DR)' : 'Amount (CR)' }}
{{ i + 1 }} {{ entry.accountNo }} {{ entry.accountName }} {{ entry.accountType }} ₹{{ entry.amount | number: '1.2-2' }}
{{ isCollectionMode ? 'Total Debit' : 'Total Credit' }} ₹{{ totalCreditAmount() | number: '1.2-2' }}
} @if (isBankTransferMode) {
arrow_upward Debit Entries ({{ drEntries.length }} account{{ drEntries.length !== 1 ? 's' : '' }} — funds out)
@for (entry of drEntries; track entry.accountNo; let i = $index) { }
# Account No Account Name Type Amount (DR)
{{ i + 1 }} {{ entry.accountNo }} {{ entry.accountName }} {{ entry.accountType }} ₹{{ entry.amount | number: '1.2-2' }}
Total Debit ₹{{ totalDebitAmount() | number: '1.2-2' }}
arrow_downward Credit Entries ({{ crEntries.length }} account{{ crEntries.length !== 1 ? 's' : '' }} — funds in)
@for (entry of crEntries; track entry.accountNo; let i = $index) { }
# Account No Account Name Type Amount (CR)
{{ i + 1 }} {{ entry.accountNo }} {{ entry.accountName }} {{ entry.accountType }} ₹{{ entry.amount | number: '1.2-2' }}
Total Credit ₹{{ totalCreditAmount() | number: '1.2-2' }}
} @if (request.status === 'PROCESSING') {
hourglass_top Processing

Transactions are being posted. Please refresh in a few moments.

} @if (request.status === 'REJECTED' && request.rejection_reason) {
cancel Rejection Reason

{{ request.rejection_reason }}

manage_accounts {{ request.manager_name || request.manager_username || '—' }}
} @if (request.status === 'FAILED') {
error Processing Failed — Transactions Reversed

{{ request.error_message || 'An unexpected error occurred during approval.' }}

All partial transactions have been automatically reversed. The request can be re-submitted by the clerk.

@if (request.manager_name || request.manager_username) {
manage_accounts Attempted by: {{ request.manager_name || request.manager_username }}
}
} @if (request.status === 'APPROVED' && request.txn_refs) {
check_circle Transaction References

{{ request.txn_refs }}

manage_accounts Approved by: {{ request.manager_name || request.manager_username || '—' }}
} @if (request.status === 'PENDING') {
@if (!showRejectForm) { } @else {
}
}
}