CREDIT · LOAN ORIGINATION · {{ scopeName | uppercase }}

Loan Origination Pipeline

Every sanctioning stage from application intake to disbursement — KYC/OVD, CIC credit check, Field Investigation, Personal Discussion, Credit Committee, Risk & Legal Approval — as on {{ asOnDate }}.

@if (isHeadOffice) { } @else { }
Total Applications {{ totalApplications }} in the active pipeline
In Progress {{ inProgressCount }} moving through the workflow
On Hold {{ onHoldCount }} discrepancy under resolution
Rejected {{ rejectedCount }} declined at Committee/Risk
Disbursed {{ disbursedApplications.length }} ₹{{ disbursedAmount | number: '1.0-0' }} total
@if (activeView === 'pipeline') {
@for (a of paged(filteredApplications); track a.applicationNo) { } @empty { }
Application No Applicant Branch Channel Product Requested Amount Current Stage Progress Status
{{ a.applicationNo }} {{ a.applicantName }} {{ a.branchName }} {{ channelLabels[a.channel] }} {{ a.productName }} ₹{{ a.requestedAmount | number: '1.0-0' }} {{ stageLabel(a.currentStage) }} {{ progress(a) }}% {{ statusLabel(a.overallStatus) }}
No applications match these filters.
@if (filteredApplications.length > pageSize) {
Showing {{ rangeStart(filteredApplications) }}–{{ rangeEnd(filteredApplications) }} of {{ filteredApplications.length }}
Page {{ currentPage }} of {{ pageCount(filteredApplications) }}
}
} @if (activeView === 'new') {
@if (newApp.channel === 'BC') { } @if (newApp.customerType === 'EXISTING') { @if (!newApp.clientId) { } @else { } } @else { }
@if (newApp.customerType === 'EXISTING' && !newApp.clientId) { @if (searchingExistingClient) {

Searching…

} @else if (existingClientSearchText.length >= 2 && existingClientSearchResults.length === 0) {

No clients found.

} @if (existingClientSearchResults.length > 0) {
@for (client of existingClientSearchResults; track client.id) { }
} }
} @if (activeView === 'channel') {
@for (r of channelReport; track r.channel) { }
Channel Applications Requested Amount Disbursed Count Disbursed Amount
{{ r.label }} {{ r.count }} ₹{{ r.requestedAmount | number: '1.0-0' }} {{ r.disbursedCount }} ₹{{ r.disbursedAmount | number: '1.0-0' }}
Total {{ totalApplications }} ₹{{ channelReport[0].requestedAmount + channelReport[1].requestedAmount + channelReport[2].requestedAmount | number: '1.0-0' }} {{ disbursedApplications.length }} ₹{{ disbursedAmount | number: '1.0-0' }}
} @if (activeView === 'bc') {
@for (r of bcReport; track r.bcAgentName) { } @empty { }
BC Agent / Point Applications Requested Amount Disbursed Count Disbursed Amount
{{ r.bcAgentName }} {{ r.count }} ₹{{ r.requestedAmount | number: '1.0-0' }} {{ r.disbursedCount }} ₹{{ r.disbursedAmount | number: '1.0-0' }}
No BC-sourced applications in this branch.
} @if (activeView === 'share') {

A cooperative-bank borrower must hold membership shares in the society before a loan can be sanctioned. {{ shareMemberCount }} of {{ totalApplications }} applicants are already members; the rest need membership allotted before Credit Committee approval — done from the application's own detail screen.

@for (a of paged(nonMemberApplications); track a.applicationNo) { } @empty { }
Application No Applicant Branch Current Stage Status
{{ a.applicationNo }} {{ a.applicantName }} {{ a.branchName }} {{ stageLabel(a.currentStage) }} {{ statusLabel(a.overallStatus) }}
Every active applicant in this branch already holds membership.
@if (nonMemberApplications.length > pageSize) {
Showing {{ rangeStart(nonMemberApplications) }}–{{ rangeEnd(nonMemberApplications) }} of {{ nonMemberApplications.length }}
Page {{ currentPage }} of {{ pageCount(nonMemberApplications) }}
}
} @if (activeView === 'target') {
@for (row of branchTargetRows; track row.branchCode) { }
Branch Target Disbursed (Actual) Achievement % Status
{{ row.branchName }} ₹{{ row.target | number: '1.0-0' }} ₹{{ row.actual | number: '1.0-0' }} {{ row.achievementPct | number: '1.1-1' }}% {{ statusLabelOf(row.status) }}

KCC and Cash Credit (MSME) targets are RBI's actual Priority Sector Lending sub-targets — Agriculture 18% and Micro Enterprises 7.5% of Adjusted Net Bank Credit (shown here against this module's own mix, since RBI sets them against the bank's whole loan book, not one product line). The rest are internal business-plan targets, not RBI-mandated.

@for (row of productTargetRows; track row.code) { }
Product Target Basis Target % Actual % Variance Status
{{ row.label }} {{ row.isRbiMandated ? 'RBI PSL Sub-Target' : 'Internal Target' }} {{ row.targetPct | number: '1.0-1' }}% {{ row.actualPct | number: '1.1-1' }}% {{ row.variancePct > 0 ? '+' : '' }}{{ row.variancePct | number: '1.1-1' }} pp {{ statusLabelOf(row.status) }}
@for (row of channelTargetRows; track row.code) { }
Channel Target % Actual % Variance Status
{{ row.label }} {{ row.targetPct | number: '1.0-1' }}% {{ row.actualPct | number: '1.1-1' }}% {{ row.variancePct > 0 ? '+' : '' }}{{ row.variancePct | number: '1.1-1' }} pp {{ statusLabelOf(row.status) }}
}
{{ toastMsg }}