NEFT / RTGS — Outward Remittance

{{ entryForm?.get('transactionType')?.value }} window · {{ isRtgs ? 'Real-time gross settlement' : 'Half-hourly NEFT batches · 24×7' }}
@if (isRtgs) { RTGS Floor ≥ ₹{{ RTGS_MIN | number: '1.0-0' }} } @else { NEFT Cap ≤ ₹{{ NEFT_MAX | number: '1.0-0' }} }
@if (isDialog) { }
@if (entryForm) {
Transaction Setup
Transaction Type NEFT — National EFT RTGS — Real-Time Gross @if (entryForm.get('transactionType')?.hasError('required')) { Transaction Type is required } Value Date @if (entryForm.get('valueDate')?.hasError('required')) { Value Date is required } Sender Account No. @for (a of filteredSenderAccounts | async; track a.accountNo) {
{{ a.accountNo }} {{ a.holderName }} · {{ a.productName }} Avail ₹{{ a.availableBalance | number: '1.0-0' }}
} @if (!(filteredSenderAccounts | async)?.length) { No matching account — check the number you've typed. }
@if (entryForm.get('senderAccount')?.hasError('required')) { Sender Account is required } @if ( entryForm.get('senderAccount')?.hasError('pattern') && !entryForm.get('senderAccount')?.hasError('required') ) { Use 6–20 alphanumeric chars }
@if (currentSender) {
{{ currentSender.holderName }} {{ currentSender.productName }} · {{ currentSender.accountNo }}
Available Balance ₹{{ currentSender.availableBalance | number: '1.2-2' }} @if (insufficientBalance) { Below total debit ₹{{ totalDebit | number: '1.2-2' }} }
} Amount (₹) ₹  @if (isRtgs) { RTGS ≥ ₹{{ RTGS_MIN | number: '1.0-0' }} } @else { NEFT ≤ ₹{{ NEFT_MAX | number: '1.0-0' }} — switch to RTGS for higher } @if (entryForm.get('amount')?.hasError('required')) { Amount is required } @if (entryForm.get('amount')?.hasError('min') && !entryForm.get('amount')?.hasError('required')) { @if (rtgsUnderMin) { RTGS min ₹{{ RTGS_MIN | number: '1.0-0' }} — use NEFT for smaller amounts } @else { Amount must be > 0 } } @if (entryForm.get('amount')?.hasError('max') && !entryForm.get('amount')?.hasError('required')) { NEFT max ₹{{ NEFT_MAX | number: '1.0-0' }} — switch to RTGS for higher amounts }
Beneficiary Details @if (banlVerified) { Verified } @else { Verification Required }
Beneficiary Account @if (entryForm.get('beneficiaryAccount')?.hasError('required')) { Beneficiary Account is required } @if ( entryForm.get('beneficiaryAccount')?.hasError('pattern') && !entryForm.get('beneficiaryAccount')?.hasError('required') ) { Use 6–20 alphanumeric chars } IFSC Code @if (entryForm.get('ifscCode')?.hasError('required')) { IFSC Code is required } @if (entryForm.get('ifscCode')?.hasError('pattern') && !entryForm.get('ifscCode')?.hasError('required')) { Invalid IFSC — 11 chars (e.g. HDFC0001234) } Beneficiary Name (auto-filled by BANL) @if (banlVerified) { } @else { }
@if (banlMatch) {
{{ banlMatch.beneficiaryName }} · {{ banlMatch.beneficiaryAccount }} · {{ banlMatch.ifscCode }} · {{ banlMatch.bankName }}, {{ banlMatch.branchName }} · {{ banlMatch.status }}
} @if (banlError) {
{{ banlError }}
}
Purpose & Notes @if (purposeMandatory) { Mandatory · {{ isRtgs ? 'RTGS' : 'High-Value NEFT' }} }
Purpose of Remittance @if (purposeMandatory) { * } @for (p of purposeOptions; track p.code) { {{ p.label }} } @if (entryForm.get('purposeOfRemittance')?.hasError('required')) { Purpose required for {{ isRtgs ? 'RTGS' : 'high-value NEFT' }} } Remarks (optional)
Charges & GST {{ isRtgs ? 'RTGS' : 'NEFT' }} schedule · 18% GST on charge
Transfer Amount ₹{{ amount || 0 | number: '1.2-2' }}
Service Charge ({{ isRtgs ? 'RTGS' : 'NEFT' }}) @if (chargesWaived) { ₹{{ scheduledCharge | number: '1.2-2' }} Waived } @else { ₹{{ serviceCharge | number: '1.2-2' }} }
GST (18% on charge) ₹{{ gstOnCharge | number: '1.2-2' }}
Total Debit ₹{{ totalDebit | number: '1.2-2' }}
@if (!banlVerified) { BANL Look-up required to enable Initiate }
}