static update
This commit is contained in:
@@ -12,16 +12,16 @@
|
||||
* have meaningful variety out of the box.
|
||||
*/
|
||||
export const SAMPLE_CKYC_FILE = `10|24401|IN4711|MH|30|31-08-2020|V1.1|||||
|
||||
20|1|01|01|||||||||||01|||01|10078|MR|RAVI|KUMAR|SHARMA|||||||01|MR|RAJESH|KUMAR|SHARMA||MRS|SUNITA|DEVI|||M|02|IN|B-01|10-08-1985|||||||||01|02|||||02|FLAT 402, SUNRISE TOWERS|MAROL ANDHERI EAST|MUMBAI|MUMBAI|MUMBAI|MH|IN|400069|01||Y|02|FLAT 402, SUNRISE TOWERS|MAROL ANDHERI EAST|MUMBAI|MUMBAI|MUMBAI|MH|IN|400069|01||||||||||||||||9892011001|||||31-08-2020|MUMBAI MAIN|31-08-2020|01|ANJALI MEHTA|ASSISTANT MANAGER|HEAD OFFICE|4|BHARAT URBAN BANK|IN4711|1|0||0|4||||||
|
||||
20|1|01|01|||||||||||01|||01|10078|MR|RAVI|KUMAR|SHARMA|||||||01|MR|RAJESH|KUMAR|SHARMA||MRS|SUNITA|DEVI|||M|02|IN|B-01|10-08-1985|||||||||01|02|||||02|FLAT 402, SUNRISE TOWERS|MAROL ANDHERI EAST|MUMBAI|MUMBAI|MUMBAI|MH|IN|400069|01||Y|02|FLAT 402, SUNRISE TOWERS|MAROL ANDHERI EAST|MUMBAI|MUMBAI|MUMBAI|MH|IN|400069|01||||||||||||||||9892011001|||||31-08-2020|MUMBAI MAIN|31-08-2020|01|ANJALI MEHTA|ASSISTANT MANAGER|HEAD OFFICE|4|CBSNEXORA BANK|IN4711|1|0||0|4||||||
|
||||
30|1|C|AAQPS8560J||01|02|||||
|
||||
70|1|10078_Sign.jpeg|09|01|01||||
|
||||
70|1|10078_Photo.jpeg|02|01|01||||
|
||||
70|1|10078_AP.jpg|04|01|01||||
|
||||
20|2|01|01|||||||||||01|||01|10079|MRS|PRIYA||PATEL|||||||01|MR|HARISH|PATEL|||MRS|MEENA|PATEL|||F|01|IN|O-04|22-03-1990|||||||||01|02|||||02|B-12, SHIVAJI NAGAR|FC ROAD|PUNE|PUNE|PUNE|MH|IN|411005|01||Y|02|B-12, SHIVAJI NAGAR|FC ROAD|PUNE|PUNE|PUNE|MH|IN|411005|01||||||||||||||||9822055002|||||31-08-2020|PUNE FC ROAD|31-08-2020|01|VIKRAM SINGH|BRANCH MANAGER|HEAD OFFICE|4|BHARAT URBAN BANK|IN4711|1|0||0|3||||||
|
||||
20|2|01|01|||||||||||01|||01|10079|MRS|PRIYA||PATEL|||||||01|MR|HARISH|PATEL|||MRS|MEENA|PATEL|||F|01|IN|O-04|22-03-1990|||||||||01|02|||||02|B-12, SHIVAJI NAGAR|FC ROAD|PUNE|PUNE|PUNE|MH|IN|411005|01||Y|02|B-12, SHIVAJI NAGAR|FC ROAD|PUNE|PUNE|PUNE|MH|IN|411005|01||||||||||||||||9822055002|||||31-08-2020|PUNE FC ROAD|31-08-2020|01|VIKRAM SINGH|BRANCH MANAGER|HEAD OFFICE|4|CBSNEXORA BANK|IN4711|1|0||0|3||||||
|
||||
30|2|E|XXXXXXXX2210||01|02|||||
|
||||
70|2|10079_Sign.jpeg|09|01|01||||
|
||||
70|2|10079_Photo.jpeg|02|01|01||||
|
||||
20|3|01|01|||||||||||01|||01|10080|MR|ARJUN||DESHMUKH|||||||01|MR|VIJAY|DESHMUKH|||MRS|REKHA|DESHMUKH|||M|01|IN|B-01|15-01-1978|||||||||01|02|||||02|HOUSE NO 7, DHARAMPETH|RAMDASPETH|NAGPUR|NAGPUR|NAGPUR|MH|IN|440010|01||Y|02|HOUSE NO 7, DHARAMPETH|RAMDASPETH|NAGPUR|NAGPUR|NAGPUR|MH|IN|440010|01||||||||||||||||9823033003|||||30-08-2020|NAGPUR DHARAMPETH|30-08-2020|01|RAHUL JOSHI|ASSISTANT MANAGER|HEAD OFFICE|4|BHARAT URBAN BANK|IN4711|1|0||0|3||||||
|
||||
20|3|01|01|||||||||||01|||01|10080|MR|ARJUN||DESHMUKH|||||||01|MR|VIJAY|DESHMUKH|||MRS|REKHA|DESHMUKH|||M|01|IN|B-01|15-01-1978|||||||||01|02|||||02|HOUSE NO 7, DHARAMPETH|RAMDASPETH|NAGPUR|NAGPUR|NAGPUR|MH|IN|440010|01||Y|02|HOUSE NO 7, DHARAMPETH|RAMDASPETH|NAGPUR|NAGPUR|NAGPUR|MH|IN|440010|01||||||||||||||||9823033003|||||30-08-2020|NAGPUR DHARAMPETH|30-08-2020|01|RAHUL JOSHI|ASSISTANT MANAGER|HEAD OFFICE|4|CBSNEXORA BANK|IN4711|1|0||0|3||||||
|
||||
30|3|C|AGTPD1144K||01|02|||||
|
||||
70|3|10080_Sign.jpeg|09|01|01||||
|
||||
70|3|10080_AP.jpg|04|01|01||||
|
||||
|
||||
@@ -701,8 +701,11 @@
|
||||
</div>
|
||||
<div class="gl-group">
|
||||
<div class="gl-group-title">Deposits</div>
|
||||
<a class="gl-link" [class.hidden]="!matchesSubLedgerSearch('FD / RD Entry')" (click)="subLedgerOpen = false"
|
||||
><fa-icon icon="piggy-bank" class="gl-icon"></fa-icon> FD / RD Entry</a
|
||||
<a
|
||||
class="gl-link"
|
||||
[class.hidden]="!matchesSubLedgerSearch('FD / RD Entry')"
|
||||
(click)="subLedgerOpen = false; openFdRdEntryDialog()"
|
||||
><fa-icon icon="piggy-bank" class="gl-icon" style="color: #0f766e"></fa-icon> FD / RD Entry</a
|
||||
>
|
||||
<a class="gl-link" [class.hidden]="!matchesSubLedgerSearch('DDS Entry')" (click)="subLedgerOpen = false"
|
||||
><fa-icon icon="coins" class="gl-icon"></fa-icon> DDS Entry</a
|
||||
@@ -808,8 +811,11 @@
|
||||
<div class="gl-columns">
|
||||
<div class="gl-group">
|
||||
<div class="gl-group-title">Financial Statements</div>
|
||||
<a class="gl-link" [class.hidden]="!matchesGlSearch('Trial Balance')" (click)="glMenuOpen = false"
|
||||
><fa-icon icon="balance-scale" class="gl-icon"></fa-icon> Trial Balance</a
|
||||
<a
|
||||
class="gl-link"
|
||||
[class.hidden]="!matchesGlSearch('Trial Balance')"
|
||||
(click)="glMenuOpen = false; openAccountingReportsDialog('GL-DR-CR')"
|
||||
><fa-icon icon="balance-scale" class="gl-icon" style="color: #b45309"></fa-icon> Trial Balance</a
|
||||
>
|
||||
<a
|
||||
class="gl-link"
|
||||
@@ -864,8 +870,12 @@
|
||||
(click)="glMenuOpen = false"
|
||||
><fa-icon icon="users" class="gl-icon"></fa-icon> Client wise Balance Report</a
|
||||
>
|
||||
<a class="gl-link" [class.hidden]="!matchesGlSearch('Contingent Expense')" (click)="glMenuOpen = false"
|
||||
><fa-icon icon="exclamation-circle" class="gl-icon"></fa-icon> Contingent Expense</a
|
||||
<a
|
||||
class="gl-link"
|
||||
[class.hidden]="!matchesGlSearch('Contingent Expense')"
|
||||
(click)="glMenuOpen = false; openAccountingReportsDialog('CONTINGENT-LIAB')"
|
||||
><fa-icon icon="exclamation-circle" class="gl-icon" style="color: #b45309"></fa-icon> Contingent
|
||||
Expense</a
|
||||
>
|
||||
<a class="gl-link" [class.hidden]="!matchesGlSearch('Banker Head Report')" (click)="glMenuOpen = false"
|
||||
><fa-icon icon="university" class="gl-icon"></fa-icon> Banker Head Report</a
|
||||
@@ -1677,8 +1687,12 @@
|
||||
<!-- OSS Reports -->
|
||||
<div class="gl-group">
|
||||
<div class="gl-group-title">OSS Reports</div>
|
||||
<a class="gl-link" [class.hidden]="!matchesRbiSearch('OSS 1 XBRL/CIMS')" (click)="rbiMenuOpen = false">
|
||||
<fa-icon icon="file-alt" class="gl-icon"></fa-icon> OSS 1 XBRL/CIMS
|
||||
<a
|
||||
class="gl-link"
|
||||
[class.hidden]="!matchesRbiSearch('OSS 1 XBRL/CIMS')"
|
||||
(click)="rbiMenuOpen = false; openCimsXbrlDialog('RAL')"
|
||||
>
|
||||
<fa-icon icon="file-alt" class="gl-icon" style="color: #0891b2"></fa-icon> OSS 1 XBRL/CIMS
|
||||
</a>
|
||||
<a
|
||||
class="gl-link"
|
||||
@@ -1687,14 +1701,40 @@
|
||||
>
|
||||
<fa-icon icon="file-alt" class="gl-icon" style="color: #0891b2"></fa-icon> OSS 2 XBRL
|
||||
</a>
|
||||
<a class="gl-link" [class.hidden]="!matchesRbiSearch('OSS 3 XBRL/CIMS')" (click)="rbiMenuOpen = false">
|
||||
<fa-icon icon="file-alt" class="gl-icon"></fa-icon> OSS 3 XBRL/CIMS
|
||||
<a
|
||||
class="gl-link"
|
||||
[class.hidden]="!matchesRbiSearch('OSS 3 XBRL/CIMS')"
|
||||
(click)="rbiMenuOpen = false; openCimsXbrlDialog('OSS-2')"
|
||||
>
|
||||
<fa-icon icon="file-alt" class="gl-icon" style="color: #0891b2"></fa-icon> OSS 3 XBRL/CIMS
|
||||
</a>
|
||||
<a class="gl-link" [class.hidden]="!matchesRbiSearch('OSS 4/OSS 5/OSS 6')" (click)="rbiMenuOpen = false">
|
||||
<fa-icon icon="file-alt" class="gl-icon"></fa-icon> OSS 4 / OSS 5 / OSS 6
|
||||
<a
|
||||
class="gl-link"
|
||||
[class.hidden]="!matchesRbiSearch('OSS 4')"
|
||||
(click)="rbiMenuOpen = false; openCimsXbrlDialog('OSS-4')"
|
||||
>
|
||||
<fa-icon icon="file-alt" class="gl-icon" style="color: #0891b2"></fa-icon> OSS 4
|
||||
</a>
|
||||
<a class="gl-link" [class.hidden]="!matchesRbiSearch('OSS 7')" (click)="rbiMenuOpen = false">
|
||||
<fa-icon icon="file-alt" class="gl-icon"></fa-icon> OSS 7
|
||||
<a
|
||||
class="gl-link"
|
||||
[class.hidden]="!matchesRbiSearch('OSS 5')"
|
||||
(click)="rbiMenuOpen = false; openCimsXbrlDialog('OSS-5')"
|
||||
>
|
||||
<fa-icon icon="file-alt" class="gl-icon" style="color: #0891b2"></fa-icon> OSS 5
|
||||
</a>
|
||||
<a
|
||||
class="gl-link"
|
||||
[class.hidden]="!matchesRbiSearch('OSS 6')"
|
||||
(click)="rbiMenuOpen = false; openCimsXbrlDialog('OSS-6')"
|
||||
>
|
||||
<fa-icon icon="file-alt" class="gl-icon" style="color: #0891b2"></fa-icon> OSS 6
|
||||
</a>
|
||||
<a
|
||||
class="gl-link"
|
||||
[class.hidden]="!matchesRbiSearch('OSS 7')"
|
||||
(click)="rbiMenuOpen = false; openCimsXbrlDialog('OSS-7')"
|
||||
>
|
||||
<fa-icon icon="file-alt" class="gl-icon" style="color: #0891b2"></fa-icon> OSS 7
|
||||
</a>
|
||||
</div>
|
||||
<!-- CIMS / XBRL Returns -->
|
||||
|
||||
@@ -242,7 +242,7 @@ export class ShellComponent implements OnInit, OnDestroy {
|
||||
* GL Wise DR/CR / Misc Expense Ledger). Initial report selected via menu link.
|
||||
*/
|
||||
async openAccountingReportsDialog(
|
||||
initialReport: 'PNL' | 'BALANCE-SHEET' | 'COMPARATIVE-BS' | 'GL-DR-CR' | 'MISC-EXP' = 'PNL'
|
||||
initialReport: 'PNL' | 'BALANCE-SHEET' | 'COMPARATIVE-BS' | 'CONTINGENT-LIAB' | 'GL-DR-CR' | 'MISC-EXP' = 'PNL'
|
||||
): Promise<void> {
|
||||
const { AccountingReportsDialogComponent } =
|
||||
await import('../../home/dashboard/accounting-reports-dialog/accounting-reports-dialog.component');
|
||||
@@ -285,7 +285,9 @@ export class ShellComponent implements OnInit, OnDestroy {
|
||||
* is selected based on the menu link the user clicked; user can switch between
|
||||
* forms via the form-pill selector inside the dialog.
|
||||
*/
|
||||
async openCimsXbrlDialog(initialForm: 'OSS-2' | 'PSA' | 'RAL' | 'RCP-UCB' = 'OSS-2'): Promise<void> {
|
||||
async openCimsXbrlDialog(
|
||||
initialForm: 'OSS-2' | 'PSA' | 'RAL' | 'RCP-UCB' | 'OSS-4' | 'OSS-5' | 'OSS-6' | 'OSS-7' = 'OSS-2'
|
||||
): Promise<void> {
|
||||
const { CimsXbrlDialogComponent } =
|
||||
await import('../../home/dashboard/cims-xbrl-dialog/cims-xbrl-dialog.component');
|
||||
this.dialog.open(CimsXbrlDialogComponent, {
|
||||
@@ -301,6 +303,23 @@ export class ShellComponent implements OnInit, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
/** Opens the FD / RD Entry dialog under Sub Ledger → Deposits. */
|
||||
async openFdRdEntryDialog(): Promise<void> {
|
||||
const { FdRdEntryDialogComponent } =
|
||||
await import('../../home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component');
|
||||
this.dialog.open(FdRdEntryDialogComponent, {
|
||||
width: '100vw',
|
||||
height: '100vh',
|
||||
maxWidth: '100vw',
|
||||
maxHeight: '100vh',
|
||||
panelClass: ['crr-slr-dialog-panel', 'fdrd-fullscreen-panel'],
|
||||
autoFocus: false,
|
||||
disableClose: false,
|
||||
hasBackdrop: true,
|
||||
backdropClass: 'fdrd-dlg-backdrop'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens the Asset Liability Management dialog (Form ALM-1).
|
||||
* Covers maturity ladder, monthly snapshot, and structural liquidity returns.
|
||||
|
||||
@@ -81,7 +81,7 @@ export interface DeafEligibleAccount {
|
||||
|
||||
/** Form I — Dec 2025 cycle */
|
||||
export const FORM_I: DeafForm = {
|
||||
bankName: 'Bharat Urban Bank Ltd, Mumbai Main Branch',
|
||||
bankName: 'CBSNexora Bank Ltd, Mumbai Main Branch',
|
||||
bankDeafCode: '1100',
|
||||
remittedThroughSponsor: 'Y',
|
||||
sponsorBankName: 'State Bank of India',
|
||||
@@ -170,7 +170,7 @@ export const FORM_I: DeafForm = {
|
||||
|
||||
/** Form II — Jan 2026 (head office consolidated) */
|
||||
export const FORM_II: DeafForm = {
|
||||
bankName: 'Bharat Urban Bank Ltd, Head Office',
|
||||
bankName: 'CBSNexora Bank Ltd, Head Office',
|
||||
bankDeafCode: '1100',
|
||||
remittedThroughSponsor: 'Y',
|
||||
sponsorBankName: 'State Bank of India',
|
||||
@@ -271,7 +271,7 @@ export const REFUND_CLAIMS: {
|
||||
auditor: string;
|
||||
rows: DeafClaim[];
|
||||
} = {
|
||||
bankName: 'Bharat Urban Bank Ltd',
|
||||
bankName: 'CBSNexora Bank Ltd',
|
||||
bankDeafCode: '1100',
|
||||
currentAcWithRbi: '03010200099001',
|
||||
sponsorBank: 'State Bank of India',
|
||||
|
||||
@@ -53,7 +53,7 @@ export interface SahayDepositor {
|
||||
}
|
||||
|
||||
export const DICGC_BANK = {
|
||||
name: 'Bharat Urban Bank Ltd',
|
||||
name: 'CBSNexora Bank Ltd',
|
||||
branch: 'Head Office',
|
||||
reportAsOn: '29-01-2026',
|
||||
printDate: '29-01-2026 04:19 PM',
|
||||
|
||||
@@ -114,13 +114,13 @@ export interface KycEntity {
|
||||
}
|
||||
|
||||
export const FIU_BANK = {
|
||||
name: 'Bharat Urban Bank Ltd',
|
||||
name: 'CBSNexora Bank Ltd',
|
||||
branch: 'Head Office',
|
||||
reBankingFlag: 'SCB',
|
||||
reportingMonth: 'January 2026',
|
||||
reBuid: 'REBANK-2031',
|
||||
principalOfficer: 'Karthik Kamath',
|
||||
principalOfficerEmail: 'po.fiu@bharaturbanbank.example',
|
||||
principalOfficerEmail: 'po.fiu@cbsnexorabank.example',
|
||||
filerUserId: 'PO-001',
|
||||
cashThreshold: 1000000, // ₹10 L per single cash txn
|
||||
monthlyAggThreshold: 1000000, // aggregate ≥ ₹10 L in a month
|
||||
|
||||
+58
@@ -397,6 +397,64 @@
|
||||
</div>
|
||||
</ng-container>
|
||||
|
||||
<!-- ════════════ CONTINGENT LIABILITIES ════════════ -->
|
||||
<ng-container *ngIf="activeReport === 'CONTINGENT-LIAB'">
|
||||
<div class="acr-stats">
|
||||
<div class="acr-stat-card alert">
|
||||
<div class="acr-stat-l">Total Contingent Liabilities — {{ bank.fiscalYear }}</div>
|
||||
<div class="acr-stat-v">₹ {{ contingentLiab.current | number: '1.2-2' }} Lakh</div>
|
||||
<div class="acr-stat-meta">vs {{ contingentLiab.previous | number: '1.2-2' }} Lakh (PY)</div>
|
||||
</div>
|
||||
<div class="acr-stat-card" [ngClass]="clVariation <= 0 ? 'good' : 'alert'">
|
||||
<div class="acr-stat-l">Variation over Previous Year</div>
|
||||
<div class="acr-stat-v">{{ clVariation >= 0 ? '+' : '' }}{{ clVariation | number: '1.2-2' }} Lakh</div>
|
||||
<div class="acr-stat-meta">{{ clVariationPct >= 0 ? '+' : '' }}{{ clVariationPct.toFixed(2) }}%</div>
|
||||
</div>
|
||||
<div class="acr-stat-card">
|
||||
<div class="acr-stat-l">As On Date</div>
|
||||
<div class="acr-stat-v" style="font-size: 16px">{{ bank.asOnDate }}</div>
|
||||
<div class="acr-stat-meta">Schedule 12</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="acr-section">
|
||||
<div class="acr-sec-h">
|
||||
<h3 class="acr-sec-t">Contingent Liabilities — As on {{ bank.asOnDate }} (₹ in Lakhs)</h3>
|
||||
<button mat-stroked-button class="acr-btn-xls" (click)="exportContingentLiabCsv()">
|
||||
<fa-icon icon="file-csv"></fa-icon> Export CSV
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="acr-tbl-wrap">
|
||||
<table class="acr-tbl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2" class="acr-sub-h">Items Covered Under This Schedule</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr *ngFor="let item of contingentLiabItems">
|
||||
<td class="mono">{{ item.code }}</td>
|
||||
<td>{{ item.label }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr class="row-total expense">
|
||||
<td colspan="2">
|
||||
<strong>Total Contingent Liabilities: ₹ {{ contingentLiab.current | number: '1.2-2' }} Lakh</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<p class="acr-note">
|
||||
<fa-icon icon="info-circle"></fa-icon> Individual item-wise figures for this schedule are not broken
|
||||
out here — only the audited total is shown, to avoid presenting a sub-item split that could not be
|
||||
independently verified against the source statement.
|
||||
</p>
|
||||
</div>
|
||||
</ng-container>
|
||||
|
||||
<!-- ════════════ GL DR/CR ════════════ -->
|
||||
<ng-container *ngIf="activeReport === 'GL-DR-CR'">
|
||||
<div class="acr-stats">
|
||||
|
||||
+10
@@ -318,6 +318,16 @@
|
||||
border-bottom: 1px dashed var(--acr-g200);
|
||||
}
|
||||
|
||||
.acr-note {
|
||||
margin: 12px 0 0;
|
||||
font-size: 12px;
|
||||
font-style: italic;
|
||||
color: var(--acr-g500);
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.acr-btn-xls {
|
||||
font-size: 12px !important;
|
||||
height: 34px !important;
|
||||
|
||||
+157
-218
@@ -14,7 +14,7 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
|
||||
|
||||
export type AcctReportCode = 'PNL' | 'BALANCE-SHEET' | 'COMPARATIVE-BS' | 'GL-DR-CR' | 'MISC-EXP';
|
||||
export type AcctReportCode = 'PNL' | 'BALANCE-SHEET' | 'COMPARATIVE-BS' | 'CONTINGENT-LIAB' | 'GL-DR-CR' | 'MISC-EXP';
|
||||
|
||||
export interface AcctReportsDialogData {
|
||||
initialReport?: AcctReportCode;
|
||||
@@ -47,6 +47,11 @@ interface GlLine {
|
||||
closing: number;
|
||||
}
|
||||
|
||||
interface ContingentLiabItem {
|
||||
code: string;
|
||||
label: string;
|
||||
}
|
||||
|
||||
interface MiscExpRow {
|
||||
txnDate: string;
|
||||
branch: string;
|
||||
@@ -81,7 +86,7 @@ export class AccountingReportsDialogComponent {
|
||||
activeReport: AcctReportCode;
|
||||
|
||||
bank = {
|
||||
name: 'Bharat Urban Bank Ltd',
|
||||
name: 'CBSNexora Bank Ltd',
|
||||
branch: 'Head Office',
|
||||
asOnDate: '31-03-2026',
|
||||
period: '01-04-2025 to 31-03-2026',
|
||||
@@ -94,7 +99,7 @@ export class AccountingReportsDialogComponent {
|
||||
poDesignation: 'Chief Finance Officer',
|
||||
auditor: 'M/s Sharma & Associates, Chartered Accountants',
|
||||
reportRefNo: '157/2',
|
||||
userCode: 'BUBL01',
|
||||
userCode: 'CBSN01',
|
||||
branchCount: 15
|
||||
};
|
||||
|
||||
@@ -120,6 +125,13 @@ export class AccountingReportsDialogComponent {
|
||||
description: 'Side-by-side comparison of current vs previous fiscal year.',
|
||||
group: 'Financial Statement'
|
||||
},
|
||||
{
|
||||
code: 'CONTINGENT-LIAB' as AcctReportCode,
|
||||
name: 'Contingent Liabilities',
|
||||
icon: 'exclamation-triangle',
|
||||
description: 'Off-balance-sheet claims, guarantees & contingent exposures (Schedule 12).',
|
||||
group: 'Financial Statement'
|
||||
},
|
||||
{
|
||||
code: 'GL-DR-CR' as AcctReportCode,
|
||||
name: 'GL Wise DR/CR',
|
||||
@@ -136,309 +148,192 @@ export class AccountingReportsDialogComponent {
|
||||
}
|
||||
];
|
||||
|
||||
// -------------------- P&L Data (₹ in Lakhs) --------------------
|
||||
// -------------------- P&L Data (₹ in Lakhs) — FY 2025-26 audited figures --------------------
|
||||
pnl: PnlLine[] = [
|
||||
{ code: 'I-01', group: 'INCOME', subgroup: 'Interest Earned', label: 'Interest on Advances', amount: 38420 },
|
||||
{ code: 'I-02', group: 'INCOME', subgroup: 'Interest Earned', label: 'Interest on Investments', amount: 14860 },
|
||||
{ code: 'I-01', group: 'INCOME', subgroup: 'Interest Earned', label: 'Interest on Advances & Bills', amount: 102641.73 },
|
||||
{ code: 'I-02', group: 'INCOME', subgroup: 'Interest Earned', label: 'Income on Investments', amount: 41936.75 },
|
||||
{
|
||||
code: 'I-03',
|
||||
group: 'INCOME',
|
||||
subgroup: 'Interest Earned',
|
||||
label: 'Interest on Balances with RBI / Other Banks',
|
||||
amount: 1240
|
||||
},
|
||||
{
|
||||
code: 'I-04',
|
||||
group: 'INCOME',
|
||||
subgroup: 'Other Income',
|
||||
label: 'Commission, Exchange & Brokerage',
|
||||
amount: 1820
|
||||
amount: 144.2
|
||||
},
|
||||
{ code: 'I-04', group: 'INCOME', subgroup: 'Other Income', label: 'Dividend Income', amount: 4.11 },
|
||||
{
|
||||
code: 'I-05',
|
||||
group: 'INCOME',
|
||||
subgroup: 'Other Income',
|
||||
label: 'Net Income on Sale of Fixed Assets',
|
||||
amount: 0.3
|
||||
},
|
||||
{ code: 'I-06', group: 'INCOME', subgroup: 'Other Income', label: 'Other Income (ATM/POS/UPI/Rental/Misc)', amount: 280 },
|
||||
{
|
||||
code: 'E-01',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Interest Expended',
|
||||
label: 'Interest Paid on Deposits & Other Borrowings',
|
||||
amount: 62861.8
|
||||
},
|
||||
{ code: 'I-05', group: 'INCOME', subgroup: 'Other Income', label: 'Profit on Sale of Investments', amount: 480 },
|
||||
{ code: 'I-06', group: 'INCOME', subgroup: 'Other Income', label: 'Dividend Income', amount: 142 },
|
||||
{ code: 'I-07', group: 'INCOME', subgroup: 'Other Income', label: 'Miscellaneous Income', amount: 318 },
|
||||
{ code: 'E-01', group: 'EXPENDITURE', subgroup: 'Interest Expended', label: 'Interest on Deposits', amount: 28640 },
|
||||
{
|
||||
code: 'E-02',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Interest Expended',
|
||||
label: 'Interest on RBI / Inter-Bank Borrowings',
|
||||
amount: 980
|
||||
label: 'Interest Paid on NABARD Borrowings',
|
||||
amount: 47083.71
|
||||
},
|
||||
{
|
||||
code: 'E-03',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Operating Expenses',
|
||||
label: 'Payments to & Provisions for Employees',
|
||||
amount: 8420
|
||||
label: 'Operating Expenses (Staff, Admin, Establishment)',
|
||||
amount: 14503.79
|
||||
},
|
||||
{
|
||||
code: 'E-04',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Operating Expenses',
|
||||
label: 'Rent, Taxes & Lighting',
|
||||
amount: 1240
|
||||
subgroup: 'Provisions',
|
||||
label: 'Provision for Standard Assets',
|
||||
amount: 730
|
||||
},
|
||||
{
|
||||
code: 'E-05',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Provisions',
|
||||
label: 'Provision for Doubtful & Bad Debts (Loans & Advances)',
|
||||
amount: 2068.2
|
||||
},
|
||||
{ code: 'E-05', group: 'EXPENDITURE', subgroup: 'Operating Expenses', label: 'Printing & Stationery', amount: 184 },
|
||||
{
|
||||
code: 'E-06',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Operating Expenses',
|
||||
label: 'Depreciation on Bank Property',
|
||||
amount: 642
|
||||
subgroup: 'Provisions',
|
||||
label: 'Bad Debts Written Off',
|
||||
amount: 906.44
|
||||
},
|
||||
{
|
||||
code: 'E-07',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Operating Expenses',
|
||||
label: 'Auditors Fees & Expenses',
|
||||
amount: 124
|
||||
},
|
||||
{
|
||||
code: 'E-08',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Operating Expenses',
|
||||
label: 'Repairs, Maintenance & Insurance',
|
||||
amount: 386
|
||||
},
|
||||
{
|
||||
code: 'E-09',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Operating Expenses',
|
||||
label: 'Other Operating Expenses',
|
||||
amount: 824
|
||||
},
|
||||
{
|
||||
code: 'E-10',
|
||||
group: 'EXPENDITURE',
|
||||
subgroup: 'Provisions',
|
||||
label: 'Provisions for NPA / Standard Assets',
|
||||
amount: 4280
|
||||
label: 'Provision for Staff Training Reserve',
|
||||
amount: 245.06
|
||||
},
|
||||
{ code: 'E-11', group: 'EXPENDITURE', subgroup: 'Provisions', label: 'Provisions for Tax', amount: 2120 }
|
||||
{ code: 'E-08', group: 'EXPENDITURE', subgroup: 'Provisions', label: 'Provision for Income Tax', amount: 4600 }
|
||||
];
|
||||
|
||||
// -------------------- Balance Sheet (₹ in Lakhs) --------------------
|
||||
// -------------------- Balance Sheet (₹ in Lakhs) — as on 31-03-2026, audited --------------------
|
||||
bs: BsLine[] = [
|
||||
{
|
||||
code: 'L-01',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Capital & Reserves',
|
||||
label: 'Capital (Paid-up Share Capital)',
|
||||
amount: 22000,
|
||||
prevAmount: 20800
|
||||
amount: 92837.18,
|
||||
prevAmount: 88842.87
|
||||
},
|
||||
{
|
||||
code: 'L-02',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Capital & Reserves',
|
||||
label: 'Reserves & Surplus',
|
||||
amount: 32400,
|
||||
prevAmount: 28640
|
||||
amount: 155847.97,
|
||||
prevAmount: 145524.37
|
||||
},
|
||||
{
|
||||
code: 'L-03',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Deposits',
|
||||
label: 'Demand Deposits — Current Accounts',
|
||||
amount: 84200,
|
||||
prevAmount: 78420
|
||||
label: 'Deposits',
|
||||
amount: 1154054.96,
|
||||
prevAmount: 997239.51
|
||||
},
|
||||
{
|
||||
code: 'L-04',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Deposits',
|
||||
label: 'Savings Bank Deposits',
|
||||
amount: 218600,
|
||||
prevAmount: 198400
|
||||
group: 'Borrowings',
|
||||
label: 'Borrowings (NABARD / Other Banks)',
|
||||
amount: 1113954.48,
|
||||
prevAmount: 993301.8
|
||||
},
|
||||
{
|
||||
code: 'L-05',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Deposits',
|
||||
label: 'Term Deposits',
|
||||
amount: 462800,
|
||||
prevAmount: 412400
|
||||
},
|
||||
{
|
||||
code: 'L-06',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Borrowings',
|
||||
label: 'Borrowings from RBI / NABARD',
|
||||
amount: 14180,
|
||||
prevAmount: 16240
|
||||
},
|
||||
{
|
||||
code: 'L-07',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Borrowings',
|
||||
label: 'Other Borrowings',
|
||||
amount: 10000,
|
||||
prevAmount: 9420
|
||||
},
|
||||
{
|
||||
code: 'L-08',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Other Liabilities',
|
||||
label: 'Bills Payable',
|
||||
amount: 4420,
|
||||
prevAmount: 3980
|
||||
},
|
||||
{
|
||||
code: 'L-09',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Other Liabilities',
|
||||
label: 'Inter-Office Adjustments (Net)',
|
||||
amount: 1820,
|
||||
prevAmount: 1640
|
||||
},
|
||||
{
|
||||
code: 'L-10',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Other Liabilities',
|
||||
label: 'Interest Accrued',
|
||||
amount: 6240,
|
||||
prevAmount: 5840
|
||||
},
|
||||
{
|
||||
code: 'L-11',
|
||||
side: 'CAPITAL-LIAB',
|
||||
group: 'Other Liabilities',
|
||||
label: 'Other Liabilities & Provisions',
|
||||
amount: 5940,
|
||||
prevAmount: 5420
|
||||
amount: 121037.61,
|
||||
prevAmount: 124706.3
|
||||
},
|
||||
{
|
||||
code: 'A-01',
|
||||
side: 'ASSETS',
|
||||
group: 'Cash & Bank Balances',
|
||||
label: 'Cash on Hand',
|
||||
amount: 8420,
|
||||
prevAmount: 7820
|
||||
label: 'Cash & Balances with RBI',
|
||||
amount: 32627.16,
|
||||
prevAmount: 33361.93
|
||||
},
|
||||
{
|
||||
code: 'A-02',
|
||||
side: 'ASSETS',
|
||||
group: 'Cash & Bank Balances',
|
||||
label: 'Balances with RBI',
|
||||
amount: 38400,
|
||||
prevAmount: 34200
|
||||
group: 'Money at Call',
|
||||
label: 'Balances with Other Banks & Money at Call/Short Notice',
|
||||
amount: 604619.45,
|
||||
prevAmount: 549599.47
|
||||
},
|
||||
{
|
||||
code: 'A-03',
|
||||
side: 'ASSETS',
|
||||
group: 'Cash & Bank Balances',
|
||||
label: 'Balances with Other Banks — Current',
|
||||
amount: 14800,
|
||||
prevAmount: 12400
|
||||
group: 'Investments',
|
||||
label: 'Investments',
|
||||
amount: 316953.61,
|
||||
prevAmount: 248274.61
|
||||
},
|
||||
{
|
||||
code: 'A-04',
|
||||
side: 'ASSETS',
|
||||
group: 'Cash & Bank Balances',
|
||||
label: 'Balances with Other Banks — Term Deposits',
|
||||
amount: 10000,
|
||||
prevAmount: 9200
|
||||
group: 'Advances',
|
||||
label: 'Loans & Advances',
|
||||
amount: 1627711.4,
|
||||
prevAmount: 1466401.79
|
||||
},
|
||||
{
|
||||
code: 'A-05',
|
||||
side: 'ASSETS',
|
||||
group: 'Money at Call',
|
||||
label: 'Money at Call & Short Notice',
|
||||
amount: 12400,
|
||||
prevAmount: 10800
|
||||
group: 'Fixed Assets',
|
||||
label: 'Fixed Assets (Property, Plant & Equipment)',
|
||||
amount: 33791.75,
|
||||
prevAmount: 33727.66
|
||||
},
|
||||
{
|
||||
code: 'A-06',
|
||||
side: 'ASSETS',
|
||||
group: 'Investments',
|
||||
label: 'Government Securities (SLR)',
|
||||
amount: 142400,
|
||||
prevAmount: 128600
|
||||
},
|
||||
{
|
||||
code: 'A-07',
|
||||
side: 'ASSETS',
|
||||
group: 'Investments',
|
||||
label: 'Other Approved Securities',
|
||||
amount: 28200,
|
||||
prevAmount: 24800
|
||||
},
|
||||
{
|
||||
code: 'A-08',
|
||||
side: 'ASSETS',
|
||||
group: 'Investments',
|
||||
label: 'Shares / Debentures / Bonds',
|
||||
amount: 14000,
|
||||
prevAmount: 12200
|
||||
},
|
||||
{
|
||||
code: 'A-09',
|
||||
side: 'ASSETS',
|
||||
group: 'Advances',
|
||||
label: 'Cash Credit, Overdraft & Demand Loans',
|
||||
amount: 168400,
|
||||
prevAmount: 152800
|
||||
},
|
||||
{
|
||||
code: 'A-10',
|
||||
side: 'ASSETS',
|
||||
group: 'Advances',
|
||||
label: 'Term Loans (Secured)',
|
||||
amount: 217865,
|
||||
prevAmount: 198400
|
||||
},
|
||||
{
|
||||
code: 'A-11',
|
||||
side: 'ASSETS',
|
||||
group: 'Advances',
|
||||
label: 'Term Loans (Unsecured)',
|
||||
amount: 30000,
|
||||
prevAmount: 27200
|
||||
},
|
||||
{
|
||||
code: 'A-12',
|
||||
side: 'ASSETS',
|
||||
group: 'Fixed Assets',
|
||||
label: 'Premises (Net of Depreciation)',
|
||||
amount: 9420,
|
||||
prevAmount: 8820
|
||||
},
|
||||
{
|
||||
code: 'A-13',
|
||||
side: 'ASSETS',
|
||||
group: 'Fixed Assets',
|
||||
label: 'Other Fixed Assets',
|
||||
amount: 4780,
|
||||
prevAmount: 4620
|
||||
},
|
||||
{
|
||||
code: 'A-14',
|
||||
side: 'ASSETS',
|
||||
group: 'Other Assets',
|
||||
label: 'Inter-Office Adjustments (Net)',
|
||||
amount: 0,
|
||||
prevAmount: 0
|
||||
},
|
||||
{
|
||||
code: 'A-15',
|
||||
side: 'ASSETS',
|
||||
group: 'Other Assets',
|
||||
label: 'Tax Paid in Advance & TDS',
|
||||
amount: 5420,
|
||||
prevAmount: 4820
|
||||
},
|
||||
{ code: 'A-16', side: 'ASSETS', group: 'Other Assets', label: 'Stationery & Stamps', amount: 184, prevAmount: 142 },
|
||||
{
|
||||
code: 'A-17',
|
||||
side: 'ASSETS',
|
||||
group: 'Other Assets',
|
||||
label: 'Sundry Debtors & Other Assets',
|
||||
amount: 2876,
|
||||
prevAmount: 2540
|
||||
label: 'Other Assets',
|
||||
amount: 22028.83,
|
||||
prevAmount: 18249.4
|
||||
}
|
||||
];
|
||||
|
||||
// -------------------- Contingent Liabilities (Schedule 12, ₹ in Lakhs) --------------------
|
||||
// Only the audited TOTAL is reported here — the schedule's individual line items (claims not
|
||||
// acknowledged as debts, letter of guarantees, DEAF transfers, gratuity/RBI-penalty/GST disputes)
|
||||
// could not be re-verified against the source figures with confidence, so they are omitted
|
||||
// rather than risk showing an unverified breakdown.
|
||||
contingentLiabItems: ContingentLiabItem[] = [
|
||||
{ code: 'I', label: 'Claims against the bank not acknowledged as debts' },
|
||||
{ code: 'II', label: 'Letter of Guarantees' },
|
||||
{ code: 'III', label: 'Amounts transferred to Depositor Education and Awareness Fund (DEAF)' },
|
||||
{ code: 'IV', label: 'Other items for which the bank is contingently liable (Gratuity / RBI Penalty / GST Demand)' }
|
||||
];
|
||||
contingentLiab = {
|
||||
current: 1633.3,
|
||||
previous: 1522.13
|
||||
};
|
||||
get clVariation(): number {
|
||||
return this.variation(this.contingentLiab.current, this.contingentLiab.previous);
|
||||
}
|
||||
get clVariationPct(): number {
|
||||
return this.variationPct(this.contingentLiab.current, this.contingentLiab.previous);
|
||||
}
|
||||
|
||||
// -------------------- GL Wise DR/CR Data --------------------
|
||||
glReport: GlLine[] = [
|
||||
{
|
||||
@@ -1008,6 +903,7 @@ export class AccountingReportsDialogComponent {
|
||||
if (this.activeReport === 'PNL') return this.exportPnlCsv();
|
||||
if (this.activeReport === 'BALANCE-SHEET') return this.exportBsCsv(false);
|
||||
if (this.activeReport === 'COMPARATIVE-BS') return this.exportBsCsv(true);
|
||||
if (this.activeReport === 'CONTINGENT-LIAB') return this.exportContingentLiabCsv();
|
||||
if (this.activeReport === 'GL-DR-CR') return this.exportGlCsv();
|
||||
if (this.activeReport === 'MISC-EXP') return this.exportMiscCsv();
|
||||
}
|
||||
@@ -1155,6 +1051,49 @@ export class AccountingReportsDialogComponent {
|
||||
this.saveCsv(rows, `${comparative ? 'Comparative-' : ''}Balance-Sheet-${this.dateTag()}.csv`);
|
||||
}
|
||||
|
||||
exportContingentLiabCsv(): void {
|
||||
const rows: string[][] = [];
|
||||
rows.push([
|
||||
this.bank.name,
|
||||
this.bank.branch
|
||||
]);
|
||||
rows.push([
|
||||
'CONTINGENT LIABILITIES (SCHEDULE 12)',
|
||||
`As on ${this.bank.asOnDate}`
|
||||
]);
|
||||
rows.push([]);
|
||||
rows.push(['Items covered:']);
|
||||
for (const item of this.contingentLiabItems) {
|
||||
rows.push([
|
||||
item.code,
|
||||
item.label
|
||||
]);
|
||||
}
|
||||
rows.push([]);
|
||||
rows.push([
|
||||
'',
|
||||
'TOTAL CONTINGENT LIABILITIES',
|
||||
`FY ${this.bank.fiscalYear} (₹ Lakh)`,
|
||||
`FY ${this.bank.prevFiscalYear} (₹ Lakh)`,
|
||||
'Variation',
|
||||
'Variation %'
|
||||
]);
|
||||
rows.push([
|
||||
'',
|
||||
'',
|
||||
this.contingentLiab.current.toFixed(2),
|
||||
this.contingentLiab.previous.toFixed(2),
|
||||
this.clVariation.toFixed(2),
|
||||
this.clVariationPct.toFixed(2) + '%'
|
||||
]);
|
||||
rows.push([]);
|
||||
rows.push([
|
||||
'Certified by',
|
||||
this.bank.principalOfficer + ' — ' + this.bank.poDesignation
|
||||
]);
|
||||
this.saveCsv(rows, `Contingent-Liabilities-${this.dateTag()}.csv`);
|
||||
}
|
||||
|
||||
exportGlCsv(): void {
|
||||
const rows: string[][] = [];
|
||||
rows.push([
|
||||
|
||||
@@ -54,7 +54,7 @@ export class AlmReportDialogComponent {
|
||||
activeTab: 'dashboard' | 'ladder' | 'monthly' | 'returns' = 'dashboard';
|
||||
|
||||
bank = {
|
||||
name: 'Bharat Urban Bank Ltd',
|
||||
name: 'CBSNexora Bank Ltd',
|
||||
branch: 'Head Office',
|
||||
asOnDate: '31-03-2026',
|
||||
quarter: 'Q4 FY 2025-26',
|
||||
@@ -63,7 +63,7 @@ export class AlmReportDialogComponent {
|
||||
principalOfficer: 'Karthik Kamath',
|
||||
formCode: 'Form ALM-1',
|
||||
reportRefNo: '1036',
|
||||
userCode: 'BUBL01',
|
||||
userCode: 'CBSN01',
|
||||
/** Net Demand & Time Liabilities — denominator for ratios */
|
||||
ndtl: 740000, // ₹7,400 Cr in Lakhs
|
||||
/** RBI tolerance: cumulative negative gap up to 14 days ≤ 5%, 28 days ≤ 10% */
|
||||
|
||||
@@ -14,7 +14,7 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
|
||||
|
||||
export type CimsFormCode = 'OSS-2' | 'PSA' | 'RAL' | 'RCP-UCB';
|
||||
export type CimsFormCode = 'OSS-2' | 'PSA' | 'RAL' | 'RCP-UCB' | 'OSS-4' | 'OSS-5' | 'OSS-6' | 'OSS-7';
|
||||
|
||||
export interface CimsXbrlDialogData {
|
||||
initialForm?: CimsFormCode;
|
||||
@@ -64,20 +64,20 @@ export class CimsXbrlDialogComponent {
|
||||
activeTab: 'filing' | 'data' | 'preview' = 'filing';
|
||||
|
||||
bank = {
|
||||
name: 'Bharat Urban Bank Ltd',
|
||||
name: 'CBSNexora Bank Ltd',
|
||||
branch: 'Head Office',
|
||||
bsrCode: 'BUBL0000123',
|
||||
ifsc: 'BUBL0000123',
|
||||
legalEntityId: 'BUBL-LEI-2025',
|
||||
bsrCode: 'CBSN0000123',
|
||||
ifsc: 'CBSN0000123',
|
||||
legalEntityId: 'CBSN-LEI-2025',
|
||||
pan: 'AAACB1234L',
|
||||
asOnDate: '31-03-2026',
|
||||
quarter: 'Q4 FY 2025-26',
|
||||
fiscalYear: '2025-26',
|
||||
principalOfficer: 'Karthik Kamath',
|
||||
poDesignation: 'Chief Compliance Officer',
|
||||
poEmail: 'compliance@bharaturbanbank.in',
|
||||
poEmail: 'compliance@cbsnexorabank.in',
|
||||
poMobile: '+91-9988002211',
|
||||
cimsUserId: 'BUBL_CIMS_001',
|
||||
cimsUserId: 'CBSN_CIMS_001',
|
||||
cimsPortal: 'https://cims.rbi.org.in/'
|
||||
};
|
||||
|
||||
@@ -97,7 +97,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:CapAdq.CRAR',
|
||||
section: 'Capital Adequacy',
|
||||
label: 'CRAR (Total)',
|
||||
value: 14.82,
|
||||
value: 21.82,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -105,7 +105,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:CapAdq.Tier1',
|
||||
section: 'Capital Adequacy',
|
||||
label: 'Tier-I CRAR',
|
||||
value: 12.18,
|
||||
value: 20.51,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -113,7 +113,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:CapAdq.Tier2',
|
||||
section: 'Capital Adequacy',
|
||||
label: 'Tier-II CRAR',
|
||||
value: 2.64,
|
||||
value: 1.31,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -121,7 +121,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.Total',
|
||||
section: 'Asset Classification',
|
||||
label: 'Total Advances (₹ Lakh)',
|
||||
value: 416265,
|
||||
value: 4112.04,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -129,7 +129,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.Standard',
|
||||
section: 'Asset Classification',
|
||||
label: 'Standard Assets (₹ Lakh)',
|
||||
value: 401820,
|
||||
value: 3845.88,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -137,7 +137,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.SubStd',
|
||||
section: 'Asset Classification',
|
||||
label: 'Sub-Standard (₹ Lakh)',
|
||||
value: 6220,
|
||||
value: 102.41,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -145,7 +145,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.Doubtful',
|
||||
section: 'Asset Classification',
|
||||
label: 'Doubtful (₹ Lakh)',
|
||||
value: 5840,
|
||||
value: 163.75,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -153,7 +153,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.Loss',
|
||||
section: 'Asset Classification',
|
||||
label: 'Loss (₹ Lakh)',
|
||||
value: 2385,
|
||||
value: 0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -161,7 +161,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.GNPA',
|
||||
section: 'NPA Position',
|
||||
label: 'Gross NPA (₹ Lakh)',
|
||||
value: 14445,
|
||||
value: 266.16,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -169,7 +169,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.NNPA',
|
||||
section: 'NPA Position',
|
||||
label: 'Net NPA (₹ Lakh)',
|
||||
value: 5212,
|
||||
value: -96.33,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -177,7 +177,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.GNPAPct',
|
||||
section: 'NPA Position',
|
||||
label: 'GNPA %',
|
||||
value: 3.47,
|
||||
value: 6.47,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -185,7 +185,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.NNPAPct',
|
||||
section: 'NPA Position',
|
||||
label: 'NNPA %',
|
||||
value: 1.27,
|
||||
value: -2.6,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -193,7 +193,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Asset.PCR',
|
||||
section: 'NPA Position',
|
||||
label: 'Provision Coverage Ratio',
|
||||
value: 64.13,
|
||||
value: 136.24,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -201,7 +201,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Profit.NIM',
|
||||
section: 'Profitability',
|
||||
label: 'Net Interest Margin',
|
||||
value: 3.21,
|
||||
value: 0.51,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -209,7 +209,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Profit.ROA',
|
||||
section: 'Profitability',
|
||||
label: 'Return on Assets',
|
||||
value: 0.92,
|
||||
value: 0.67,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -217,7 +217,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'oss2:Profit.ROE',
|
||||
section: 'Profitability',
|
||||
label: 'Return on Equity',
|
||||
value: 11.48,
|
||||
value: 5.38,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -254,7 +254,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:Reference.ANBC',
|
||||
section: 'Reference',
|
||||
label: 'Adjusted Net Bank Credit (₹ Lakh)',
|
||||
value: 600000,
|
||||
value: 3274.83,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -262,7 +262,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:Reference.OBE',
|
||||
section: 'Reference',
|
||||
label: 'Credit Equivalent of OBE (₹ Lakh)',
|
||||
value: 25000,
|
||||
value: 0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -270,7 +270,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.Total',
|
||||
section: 'PSL Achievement',
|
||||
label: 'Total PSL Outstanding (₹ Lakh)',
|
||||
value: 241700,
|
||||
value: 2485.67,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -278,7 +278,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.TotalPct',
|
||||
section: 'PSL Achievement',
|
||||
label: 'Total PSL % of ANBC',
|
||||
value: 40.28,
|
||||
value: 75.9,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -286,7 +286,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.Agri',
|
||||
section: 'Sub-targets',
|
||||
label: 'Agriculture (₹ Lakh)',
|
||||
value: 124000,
|
||||
value: 39.0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -294,7 +294,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.AgriPct',
|
||||
section: 'Sub-targets',
|
||||
label: 'Agriculture % of ANBC',
|
||||
value: 20.67,
|
||||
value: 1.19,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -302,7 +302,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.SMF',
|
||||
section: 'Sub-targets',
|
||||
label: 'Small & Marginal Farmers (₹ Lakh)',
|
||||
value: 72000,
|
||||
value: 0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -310,23 +310,23 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.SMFPct',
|
||||
section: 'Sub-targets',
|
||||
label: 'SMF % of ANBC',
|
||||
value: 12.0,
|
||||
value: 0,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
{
|
||||
ref: 'psa:PSL.MicroEnt',
|
||||
section: 'Sub-targets',
|
||||
label: 'Micro Enterprises (₹ Lakh)',
|
||||
value: 51000,
|
||||
label: 'MSME Enterprises (₹ Lakh)',
|
||||
value: 2313.83,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'psa:PSL.MicroPct',
|
||||
section: 'Sub-targets',
|
||||
label: 'Micro Enterprises % of ANBC',
|
||||
value: 8.5,
|
||||
label: 'MSME Enterprises % of ANBC',
|
||||
value: 70.65,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -334,7 +334,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.Weaker',
|
||||
section: 'Sub-targets',
|
||||
label: 'Weaker Sections (₹ Lakh)',
|
||||
value: 85500,
|
||||
value: 990.28,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -342,7 +342,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.WeakerPct',
|
||||
section: 'Sub-targets',
|
||||
label: 'Weaker Sections % of ANBC',
|
||||
value: 14.25,
|
||||
value: 30.22,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
@@ -350,7 +350,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.Housing',
|
||||
section: 'Other Categories',
|
||||
label: 'Housing (₹ Lakh)',
|
||||
value: 9200,
|
||||
value: 115.12,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -358,7 +358,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.Education',
|
||||
section: 'Other Categories',
|
||||
label: 'Education (₹ Lakh)',
|
||||
value: 4200,
|
||||
value: 17.32,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -366,7 +366,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.Export',
|
||||
section: 'Other Categories',
|
||||
label: 'Export Credit (₹ Lakh)',
|
||||
value: 3800,
|
||||
value: 0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -374,7 +374,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'psa:PSL.RenEnergy',
|
||||
section: 'Other Categories',
|
||||
label: 'Renewable Energy (₹ Lakh)',
|
||||
value: 2400,
|
||||
value: 0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
}
|
||||
@@ -395,15 +395,15 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Liab.Capital',
|
||||
section: 'Liabilities',
|
||||
label: 'Capital (₹ Lakh)',
|
||||
value: 22000,
|
||||
value: 272.78,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'ral:Liab.Reserves',
|
||||
section: 'Liabilities',
|
||||
label: 'Reserves & Surplus (₹ Lakh)',
|
||||
value: 32400,
|
||||
label: 'Reserves, Surplus & Profit (₹ Lakh)',
|
||||
value: 712.6,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -411,7 +411,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Liab.DepDemand',
|
||||
section: 'Liabilities',
|
||||
label: 'Demand Deposits (₹ Lakh)',
|
||||
value: 84200,
|
||||
value: 195.92,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -419,7 +419,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Liab.DepSavings',
|
||||
section: 'Liabilities',
|
||||
label: 'Savings Deposits (₹ Lakh)',
|
||||
value: 218600,
|
||||
value: 2081.16,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -427,7 +427,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Liab.DepTerm',
|
||||
section: 'Liabilities',
|
||||
label: 'Term Deposits (₹ Lakh)',
|
||||
value: 462800,
|
||||
value: 4066.01,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -435,7 +435,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Liab.Borrow',
|
||||
section: 'Liabilities',
|
||||
label: 'Borrowings (₹ Lakh)',
|
||||
value: 24180,
|
||||
value: 0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -443,7 +443,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Liab.Other',
|
||||
section: 'Liabilities',
|
||||
label: 'Other Liabilities & Provisions (₹ Lakh)',
|
||||
value: 18420,
|
||||
value: 780.73,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -451,7 +451,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Asset.Cash',
|
||||
section: 'Assets',
|
||||
label: 'Cash on Hand (₹ Lakh)',
|
||||
value: 8420,
|
||||
value: 99.96,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -459,15 +459,15 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Asset.RBI',
|
||||
section: 'Assets',
|
||||
label: 'Balances with RBI (₹ Lakh)',
|
||||
value: 38400,
|
||||
value: 0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'ral:Asset.Banks',
|
||||
section: 'Assets',
|
||||
label: 'Balances with Banks (₹ Lakh)',
|
||||
value: 24800,
|
||||
label: 'Balances with Banks & Other Institutions (₹ Lakh)',
|
||||
value: 1349.53,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -475,7 +475,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Asset.Money',
|
||||
section: 'Assets',
|
||||
label: 'Money at Call & Short Notice (₹ Lakh)',
|
||||
value: 12400,
|
||||
value: 0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -483,7 +483,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Asset.Invest',
|
||||
section: 'Assets',
|
||||
label: 'Investments (₹ Lakh)',
|
||||
value: 184600,
|
||||
value: 2342.97,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -491,7 +491,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Asset.Adv',
|
||||
section: 'Assets',
|
||||
label: 'Advances (₹ Lakh)',
|
||||
value: 416265,
|
||||
value: 3912.88,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -499,23 +499,23 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:Asset.Fixed',
|
||||
section: 'Assets',
|
||||
label: 'Fixed Assets (₹ Lakh)',
|
||||
value: 14200,
|
||||
value: 49.48,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'ral:Asset.Other',
|
||||
section: 'Assets',
|
||||
label: 'Other Assets (₹ Lakh)',
|
||||
value: 12480,
|
||||
label: 'Other Assets & Interest Receivable (₹ Lakh)',
|
||||
value: 354.38,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'ral:OBE.Guar',
|
||||
section: 'Off-Balance Sheet',
|
||||
label: 'Bank Guarantees (₹ Lakh)',
|
||||
value: 18420,
|
||||
label: 'Contingent Liabilities (₹ Lakh)',
|
||||
value: 26.38,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
@@ -523,7 +523,7 @@ export class CimsXbrlDialogComponent {
|
||||
ref: 'ral:OBE.LC',
|
||||
section: 'Off-Balance Sheet',
|
||||
label: 'Letters of Credit (₹ Lakh)',
|
||||
value: 6580,
|
||||
value: 0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
}
|
||||
@@ -653,6 +653,293 @@ export class CimsXbrlDialogComponent {
|
||||
type: 'monetary'
|
||||
}
|
||||
]
|
||||
},
|
||||
'OSS-4': {
|
||||
code: 'OSS-4',
|
||||
name: 'OSS-4',
|
||||
fullName: 'Connected Lending & Large Exposure Statement',
|
||||
description:
|
||||
'Quarterly statement of loans to directors/relatives, senior officers, and exposures exceeding prudential thresholds. Illustrative figures — no source filing was provided for this return; values are modelled on this bank\'s own capital/advances scale for consistency.',
|
||||
cimsCode: 'CIMS_OSS_004',
|
||||
taxonomy: 'rbi-cims-oss4-2024-04-01',
|
||||
periodicity: 'Quarterly',
|
||||
lastFiled: '15-01-2026',
|
||||
nextDue: '15-04-2026',
|
||||
fields: [
|
||||
{
|
||||
ref: 'oss4:Connected.Directors',
|
||||
section: 'Connected Lending',
|
||||
label: 'Loans to Directors & Relatives (₹ Lakh)',
|
||||
value: 42.5,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss4:Connected.SrOfficers',
|
||||
section: 'Connected Lending',
|
||||
label: 'Loans to Senior Officers (₹ Lakh)',
|
||||
value: 18.75,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss4:Connected.Accounts',
|
||||
section: 'Connected Lending',
|
||||
label: 'Number of Connected Lending Accounts',
|
||||
value: 12,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss4:LargeExp.Amount',
|
||||
section: 'Large Exposures',
|
||||
label: 'Exposures > 10% of Capital Funds (₹ Lakh)',
|
||||
value: 285.0,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss4:LargeExp.Pct',
|
||||
section: 'Large Exposures',
|
||||
label: 'Large Exposures as % of Capital Funds',
|
||||
value: 30.58,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
},
|
||||
{
|
||||
ref: 'oss4:LargeExp.SingleBreach',
|
||||
section: 'Large Exposures',
|
||||
label: 'Single Borrower Limit Breaches',
|
||||
value: 0,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss4:LargeExp.GroupBreach',
|
||||
section: 'Large Exposures',
|
||||
label: 'Group Borrower Limit Breaches',
|
||||
value: 0,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
}
|
||||
]
|
||||
},
|
||||
'OSS-5': {
|
||||
code: 'OSS-5',
|
||||
name: 'OSS-5',
|
||||
fullName: 'Institutional & Membership Profile',
|
||||
description:
|
||||
'Annual statement of branch network, staff strength, membership and depositor/borrower base. Illustrative figures — no source filing was provided for this return; membership share capital is aligned to this bank\'s real paid-up capital figure.',
|
||||
cimsCode: 'CIMS_OSS_005',
|
||||
taxonomy: 'rbi-cims-oss5-2024-04-01',
|
||||
periodicity: 'Annual',
|
||||
lastFiled: '30-04-2025',
|
||||
nextDue: '30-04-2026',
|
||||
fields: [
|
||||
{
|
||||
ref: 'oss5:Profile.Branches',
|
||||
section: 'Network',
|
||||
label: 'Number of Branches',
|
||||
value: 8,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss5:Profile.Employees',
|
||||
section: 'Network',
|
||||
label: 'Number of Employees',
|
||||
value: 64,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss5:Profile.AreaOfOperation',
|
||||
section: 'Network',
|
||||
label: 'Area of Operation',
|
||||
value: 'Single District',
|
||||
type: 'string'
|
||||
},
|
||||
{
|
||||
ref: 'oss5:Profile.Members',
|
||||
section: 'Membership',
|
||||
label: 'Number of Regular Members',
|
||||
value: 18450,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss5:Profile.ShareCapital',
|
||||
section: 'Membership',
|
||||
label: 'Membership Share Capital (₹ Lakh)',
|
||||
value: 272.78,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss5:Profile.Depositors',
|
||||
section: 'Customer Base',
|
||||
label: 'Number of Depositors',
|
||||
value: 42180,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss5:Profile.Borrowers',
|
||||
section: 'Customer Base',
|
||||
label: 'Number of Borrowers',
|
||||
value: 3860,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
}
|
||||
]
|
||||
},
|
||||
'OSS-6': {
|
||||
code: 'OSS-6',
|
||||
name: 'OSS-6',
|
||||
fullName: 'Structural Liquidity & Interest Rate Sensitivity Statement',
|
||||
description:
|
||||
'Fortnightly maturity-bucket gap analysis of rate-sensitive assets and liabilities. Illustrative figures — no source filing was provided for this return.',
|
||||
cimsCode: 'CIMS_OSS_006',
|
||||
taxonomy: 'rbi-cims-oss6-2024-04-01',
|
||||
periodicity: 'Monthly',
|
||||
lastFiled: '14-04-2026',
|
||||
nextDue: '28-04-2026',
|
||||
fields: [
|
||||
{
|
||||
ref: 'oss6:Gap.1to14Days',
|
||||
section: 'Maturity Gap (₹ Lakh)',
|
||||
label: '1-14 Days',
|
||||
value: -45.2,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss6:Gap.15to28Days',
|
||||
section: 'Maturity Gap (₹ Lakh)',
|
||||
label: '15-28 Days',
|
||||
value: -12.8,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss6:Gap.29DaysTo3M',
|
||||
section: 'Maturity Gap (₹ Lakh)',
|
||||
label: '29 Days to 3 Months',
|
||||
value: 88.4,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss6:Gap.Over3To6M',
|
||||
section: 'Maturity Gap (₹ Lakh)',
|
||||
label: 'Over 3 Months to 6 Months',
|
||||
value: 62.15,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss6:Gap.Over6MTo1Y',
|
||||
section: 'Maturity Gap (₹ Lakh)',
|
||||
label: 'Over 6 Months to 1 Year',
|
||||
value: -28.9,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss6:Gap.Over1To3Y',
|
||||
section: 'Maturity Gap (₹ Lakh)',
|
||||
label: 'Over 1 Year to 3 Years',
|
||||
value: 210.6,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss6:Gap.Over3To5Y',
|
||||
section: 'Maturity Gap (₹ Lakh)',
|
||||
label: 'Over 3 Years to 5 Years',
|
||||
value: 95.3,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss6:Gap.Over5Y',
|
||||
section: 'Maturity Gap (₹ Lakh)',
|
||||
label: 'Over 5 Years',
|
||||
value: -18.75,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss6:Liq.CumNegGapPct',
|
||||
section: 'Liquidity Ratios',
|
||||
label: 'Cumulative Negative Gap (14-Day) as % of Cumulative Outflows',
|
||||
value: 4.85,
|
||||
unit: 'Percent',
|
||||
type: 'percent'
|
||||
}
|
||||
]
|
||||
},
|
||||
'OSS-7': {
|
||||
code: 'OSS-7',
|
||||
name: 'OSS-7',
|
||||
fullName: 'Statement of Frauds & Customer Complaints',
|
||||
description:
|
||||
'Quarterly statement of frauds reported and customer-complaint disposal. Illustrative figures — no source filing was provided for this return.',
|
||||
cimsCode: 'CIMS_OSS_007',
|
||||
taxonomy: 'rbi-cims-oss7-2024-04-01',
|
||||
periodicity: 'Quarterly',
|
||||
lastFiled: '15-01-2026',
|
||||
nextDue: '15-04-2026',
|
||||
fields: [
|
||||
{
|
||||
ref: 'oss7:Fraud.Count',
|
||||
section: 'Frauds',
|
||||
label: 'Number of Frauds Reported',
|
||||
value: 1,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss7:Fraud.Amount',
|
||||
section: 'Frauds',
|
||||
label: 'Amount Involved in Frauds (₹ Lakh)',
|
||||
value: 2.4,
|
||||
unit: 'INR-Lakh',
|
||||
type: 'monetary'
|
||||
},
|
||||
{
|
||||
ref: 'oss7:Complaints.Received',
|
||||
section: 'Customer Complaints',
|
||||
label: 'Complaints Received (Quarter)',
|
||||
value: 14,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss7:Complaints.Resolved',
|
||||
section: 'Customer Complaints',
|
||||
label: 'Complaints Resolved',
|
||||
value: 12,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss7:Complaints.Pending',
|
||||
section: 'Customer Complaints',
|
||||
label: 'Complaints Pending',
|
||||
value: 2,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
},
|
||||
{
|
||||
ref: 'oss7:Complaints.PendingOver30',
|
||||
section: 'Customer Complaints',
|
||||
label: 'Complaints Pending > 30 Days',
|
||||
value: 0,
|
||||
unit: 'Number',
|
||||
type: 'numeric'
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
@@ -660,7 +947,11 @@ export class CimsXbrlDialogComponent {
|
||||
'OSS-2',
|
||||
'PSA',
|
||||
'RAL',
|
||||
'RCP-UCB'
|
||||
'RCP-UCB',
|
||||
'OSS-4',
|
||||
'OSS-5',
|
||||
'OSS-6',
|
||||
'OSS-7'
|
||||
];
|
||||
|
||||
data = inject<CimsXbrlDialogData | null>(MAT_DIALOG_DATA, { optional: true });
|
||||
|
||||
@@ -76,7 +76,7 @@ export class CkycReportsDialogComponent {
|
||||
activeReport: CkycReportCode;
|
||||
|
||||
bank = {
|
||||
name: 'Bharat Urban Bank Ltd',
|
||||
name: 'CBSNexora Bank Ltd',
|
||||
branch: 'Head Office',
|
||||
asOnDate: '29-01-2026',
|
||||
fiscalYear: '2025-26',
|
||||
@@ -84,7 +84,7 @@ export class CkycReportsDialogComponent {
|
||||
principalOfficer: 'Karthik Kamath',
|
||||
poDesignation: 'Principal Compliance Officer',
|
||||
reportRefNo: '2075/1',
|
||||
userCode: 'BUBL01',
|
||||
userCode: 'CBSN01',
|
||||
fyStart: '01-04-2025',
|
||||
fyEnd: '31-03-2026'
|
||||
};
|
||||
@@ -121,7 +121,7 @@ export class CkycReportsDialogComponent {
|
||||
|
||||
rekyc: RekycRow[] = [
|
||||
{
|
||||
ucode: 'BUBL000201',
|
||||
ucode: 'CBSN000201',
|
||||
name: 'Ravi Kumar Sharma',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'LOW',
|
||||
@@ -132,7 +132,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'BELOW-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL000418',
|
||||
ucode: 'CBSN000418',
|
||||
name: 'Priya Patel',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'MEDIUM',
|
||||
@@ -143,7 +143,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'ABOVE-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL000522',
|
||||
ucode: 'CBSN000522',
|
||||
name: 'Arjun Deshmukh',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'LOW',
|
||||
@@ -154,7 +154,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'BELOW-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL000711',
|
||||
ucode: 'CBSN000711',
|
||||
name: 'Vikram Reddy',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'HIGH',
|
||||
@@ -165,7 +165,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'ABOVE-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL000814',
|
||||
ucode: 'CBSN000814',
|
||||
name: 'Lakshmi Iyer',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'LOW',
|
||||
@@ -176,7 +176,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'BELOW-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL001012',
|
||||
ucode: 'CBSN001012',
|
||||
name: 'Nirav Shah',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'MEDIUM',
|
||||
@@ -187,7 +187,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'BELOW-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL001145',
|
||||
ucode: 'CBSN001145',
|
||||
name: 'Kavita Verma',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'HIGH',
|
||||
@@ -198,7 +198,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'ABOVE-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL001458',
|
||||
ucode: 'CBSN001458',
|
||||
name: 'Sameer Kapoor',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'MEDIUM',
|
||||
@@ -209,7 +209,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'ABOVE-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL001721',
|
||||
ucode: 'CBSN001721',
|
||||
name: 'Karthik Subramanian',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'LOW',
|
||||
@@ -220,7 +220,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'BELOW-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL002012',
|
||||
ucode: 'CBSN002012',
|
||||
name: 'Abhishek Banerjee',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'MEDIUM',
|
||||
@@ -231,7 +231,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'ABOVE-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL002314',
|
||||
ucode: 'CBSN002314',
|
||||
name: 'Gaurav Thakur',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'LOW',
|
||||
@@ -242,7 +242,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'BELOW-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL002615',
|
||||
ucode: 'CBSN002615',
|
||||
name: 'Manmohan Singh Gill',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'HIGH',
|
||||
@@ -253,7 +253,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'BELOW-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL002918',
|
||||
ucode: 'CBSN002918',
|
||||
name: 'Sunita Devi',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'LOW',
|
||||
@@ -264,7 +264,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'BELOW-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL003221',
|
||||
ucode: 'CBSN003221',
|
||||
name: 'Deepak Tiwari',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'MEDIUM',
|
||||
@@ -275,7 +275,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'ABOVE-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL003524',
|
||||
ucode: 'CBSN003524',
|
||||
name: 'Harpreet Kaur',
|
||||
customerType: 'INDIVIDUAL',
|
||||
risk: 'MEDIUM',
|
||||
@@ -286,7 +286,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'ABOVE-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL003812',
|
||||
ucode: 'CBSN003812',
|
||||
name: 'Saraswati Mahila Co-op Society',
|
||||
customerType: 'SOCIETY',
|
||||
risk: 'MEDIUM',
|
||||
@@ -297,7 +297,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'ABOVE-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL004115',
|
||||
ucode: 'CBSN004115',
|
||||
name: 'Aditya Enterprises',
|
||||
customerType: 'FIRM',
|
||||
risk: 'HIGH',
|
||||
@@ -308,7 +308,7 @@ export class CkycReportsDialogComponent {
|
||||
segment: 'ABOVE-25-LACS'
|
||||
},
|
||||
{
|
||||
ucode: 'BUBL004318',
|
||||
ucode: 'CBSN004318',
|
||||
name: 'Vasudha Trading HUF',
|
||||
customerType: 'HUF',
|
||||
risk: 'MEDIUM',
|
||||
@@ -332,7 +332,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '01',
|
||||
branch: 'Mumbai Main',
|
||||
acType: 'SB',
|
||||
clientId: 'BUBL000201',
|
||||
clientId: 'CBSN000201',
|
||||
customerName: 'Ravi Kumar Sharma',
|
||||
oldRisk: 'LOW',
|
||||
newRisk: 'LOW',
|
||||
@@ -345,7 +345,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '02',
|
||||
branch: 'Pune FC Road',
|
||||
acType: 'CA',
|
||||
clientId: 'BUBL000418',
|
||||
clientId: 'CBSN000418',
|
||||
customerName: 'Priya Patel',
|
||||
oldRisk: 'LOW',
|
||||
newRisk: 'MEDIUM',
|
||||
@@ -358,7 +358,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '03',
|
||||
branch: 'Nagpur Dharampeth',
|
||||
acType: 'TL',
|
||||
clientId: 'BUBL000522',
|
||||
clientId: 'CBSN000522',
|
||||
customerName: 'Arjun Deshmukh',
|
||||
oldRisk: 'MEDIUM',
|
||||
newRisk: 'LOW',
|
||||
@@ -371,7 +371,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '04',
|
||||
branch: 'Bengaluru Jayanagar',
|
||||
acType: 'OD',
|
||||
clientId: 'BUBL000711',
|
||||
clientId: 'CBSN000711',
|
||||
customerName: 'Vikram Reddy',
|
||||
oldRisk: 'MEDIUM',
|
||||
newRisk: 'HIGH',
|
||||
@@ -384,7 +384,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '05',
|
||||
branch: 'Bengaluru Indiranagar',
|
||||
acType: 'SB',
|
||||
clientId: 'BUBL000814',
|
||||
clientId: 'CBSN000814',
|
||||
customerName: 'Lakshmi Iyer',
|
||||
oldRisk: 'LOW',
|
||||
newRisk: 'LOW',
|
||||
@@ -397,7 +397,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '06',
|
||||
branch: 'Ahmedabad Satellite',
|
||||
acType: 'CC',
|
||||
clientId: 'BUBL001012',
|
||||
clientId: 'CBSN001012',
|
||||
customerName: 'Nirav Shah',
|
||||
oldRisk: 'LOW',
|
||||
newRisk: 'MEDIUM',
|
||||
@@ -410,7 +410,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '07',
|
||||
branch: 'Lucknow Gomti Nagar',
|
||||
acType: 'CA',
|
||||
clientId: 'BUBL001145',
|
||||
clientId: 'CBSN001145',
|
||||
customerName: 'Kavita Verma',
|
||||
oldRisk: 'MEDIUM',
|
||||
newRisk: 'HIGH',
|
||||
@@ -423,7 +423,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '08',
|
||||
branch: 'Delhi Greater Kailash',
|
||||
acType: 'OD',
|
||||
clientId: 'BUBL001458',
|
||||
clientId: 'CBSN001458',
|
||||
customerName: 'Sameer Kapoor',
|
||||
oldRisk: 'MEDIUM',
|
||||
newRisk: 'MEDIUM',
|
||||
@@ -436,7 +436,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '09',
|
||||
branch: 'Chennai Valasaravakkam',
|
||||
acType: 'SB',
|
||||
clientId: 'BUBL001721',
|
||||
clientId: 'CBSN001721',
|
||||
customerName: 'Karthik Subramanian',
|
||||
oldRisk: 'LOW',
|
||||
newRisk: 'LOW',
|
||||
@@ -449,7 +449,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '10',
|
||||
branch: 'Kolkata Salt Lake',
|
||||
acType: 'TL',
|
||||
clientId: 'BUBL002012',
|
||||
clientId: 'CBSN002012',
|
||||
customerName: 'Abhishek Banerjee',
|
||||
oldRisk: 'LOW',
|
||||
newRisk: 'MEDIUM',
|
||||
@@ -462,7 +462,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '11',
|
||||
branch: 'Shimla Sector 4',
|
||||
acType: 'SB',
|
||||
clientId: 'BUBL002314',
|
||||
clientId: 'CBSN002314',
|
||||
customerName: 'Gaurav Thakur',
|
||||
oldRisk: 'LOW',
|
||||
newRisk: 'LOW',
|
||||
@@ -475,7 +475,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '12',
|
||||
branch: 'Amritsar Model Town',
|
||||
acType: 'CC',
|
||||
clientId: 'BUBL002615',
|
||||
clientId: 'CBSN002615',
|
||||
customerName: 'Manmohan Singh Gill',
|
||||
oldRisk: 'HIGH',
|
||||
newRisk: 'HIGH',
|
||||
@@ -488,7 +488,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '13',
|
||||
branch: 'Bhopal Arera Colony',
|
||||
acType: 'SB',
|
||||
clientId: 'BUBL002918',
|
||||
clientId: 'CBSN002918',
|
||||
customerName: 'Sunita Devi',
|
||||
oldRisk: 'LOW',
|
||||
newRisk: 'LOW',
|
||||
@@ -501,7 +501,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '14',
|
||||
branch: 'Indore Vijay Nagar',
|
||||
acType: 'OD',
|
||||
clientId: 'BUBL003221',
|
||||
clientId: 'CBSN003221',
|
||||
customerName: 'Deepak Tiwari',
|
||||
oldRisk: 'MEDIUM',
|
||||
newRisk: 'HIGH',
|
||||
@@ -514,7 +514,7 @@ export class CkycReportsDialogComponent {
|
||||
branchCode: '15',
|
||||
branch: 'Ludhiana Sarabha Nagar',
|
||||
acType: 'TL',
|
||||
clientId: 'BUBL003524',
|
||||
clientId: 'CBSN003524',
|
||||
customerName: 'Harpreet Kaur',
|
||||
oldRisk: 'MEDIUM',
|
||||
newRisk: 'MEDIUM',
|
||||
|
||||
@@ -165,12 +165,12 @@
|
||||
<div class="da-compare">
|
||||
<div class="da-item">
|
||||
<div class="da-label">Total Deposits</div>
|
||||
<div class="da-value deposit">₹ 3,264.42 Cr</div>
|
||||
<div class="da-bar"><div class="da-fill deposit-fill" style="width: 78%"></div></div>
|
||||
<div class="da-value deposit">₹ 11,540.55 Cr</div>
|
||||
<div class="da-bar"><div class="da-fill deposit-fill" style="width: 71%"></div></div>
|
||||
</div>
|
||||
<div class="da-item">
|
||||
<div class="da-label">Total Advances</div>
|
||||
<div class="da-value advance">₹ 4,162.65 Cr</div>
|
||||
<div class="da-value advance">₹ 16,277.11 Cr</div>
|
||||
<div class="da-bar"><div class="da-fill advance-fill" style="width: 100%"></div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
<!--
|
||||
Copyright since 2025 Mifos Initiative
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-->
|
||||
|
||||
<div class="fdrd-dlg">
|
||||
<!-- HEADER -->
|
||||
<div class="fdrd-head">
|
||||
<div class="fdrd-head-left">
|
||||
<div class="fdrd-head-ic"><fa-icon icon="piggy-bank"></fa-icon></div>
|
||||
<div>
|
||||
<h2 class="fdrd-title">FD / RD Entry</h2>
|
||||
<p class="fdrd-sub">Open a new Fixed Deposit or Recurring Deposit account.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fdrd-head-actions">
|
||||
<span class="fdrd-meta"> <fa-icon icon="university"></fa-icon> {{ bank.name }} </span>
|
||||
<span class="fdrd-meta"> <fa-icon icon="map-marker-alt"></fa-icon> {{ bank.branch }} </span>
|
||||
<button class="fdrd-close" (click)="close()" matTooltip="Close" aria-label="Close">✕</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="fdrd-body">
|
||||
<!-- Success banner -->
|
||||
<div class="fdrd-success" *ngIf="saved">
|
||||
<fa-icon icon="check-circle"></fa-icon>
|
||||
<div>
|
||||
<strong>{{ lastAccountNo }}</strong> created for <strong>{{ lastClientName }}</strong>
|
||||
<div class="fdrd-success-sub">You can enter another deposit below, or close this dialog.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- FORM -->
|
||||
<div class="fdrd-section">
|
||||
<!-- Row 1: Deposit Info | Client & Amount -->
|
||||
<div class="ws-group-row">
|
||||
<div class="ws-group">
|
||||
<span class="ws-caption">Deposit Info</span>
|
||||
<div class="ws-group__fields">
|
||||
<div class="ws-f" style="width: 200px">
|
||||
<label class="ws-f__lbl">Deposit Type</label>
|
||||
<select class="ws-f__ctl" [(ngModel)]="depositType" (ngModelChange)="onDepositTypeChange()">
|
||||
<option *ngFor="let dt of depositTypes" [value]="dt.code">{{ dt.label }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="ws-f" style="width: 150px">
|
||||
<label class="ws-f__lbl">Pay Mode</label>
|
||||
<select class="ws-f__ctl" [(ngModel)]="payMode">
|
||||
<option *ngFor="let m of payModes" [value]="m">{{ m }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ws-vdivider"></div>
|
||||
|
||||
<div class="ws-group ws-group--flex">
|
||||
<span class="ws-caption">Client & Amount</span>
|
||||
<div class="ws-group__fields">
|
||||
<div class="ws-f" style="flex: 1.5; min-width: 180px">
|
||||
<label class="ws-f__lbl">Client</label>
|
||||
<select class="ws-f__ctl" [(ngModel)]="clientId">
|
||||
<option value="" disabled>-- Select Client --</option>
|
||||
<option *ngFor="let c of clients" [value]="c.id">{{ c.name }} ({{ c.id }})</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="ws-f" style="flex: 1; min-width: 120px">
|
||||
<label class="ws-f__lbl">{{ isRecurring ? 'Monthly Instalment (₹)' : 'Deposit Amount (₹)' }}</label>
|
||||
<input
|
||||
class="ws-f__ctl ws-f__ctl--mono"
|
||||
type="number"
|
||||
min="0"
|
||||
[(ngModel)]="principal"
|
||||
placeholder="e.g. 100000"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Row 2: Term & Rate | Instructions -->
|
||||
<div class="ws-group-row ws-group-row--mt">
|
||||
<div class="ws-group">
|
||||
<span class="ws-caption">Interest & Tenure</span>
|
||||
<div class="ws-group__fields">
|
||||
<div class="ws-f" style="width: 110px">
|
||||
<label class="ws-f__lbl">Int. Rate (% p.a.)</label>
|
||||
<input class="ws-f__ctl" type="number" min="0" step="0.05" [(ngModel)]="interestRate" />
|
||||
</div>
|
||||
<div class="ws-f" style="width: 240px">
|
||||
<label class="ws-f__lbl">Tenure</label>
|
||||
<div class="fdrd-tenure-row">
|
||||
<input class="ws-f__ctl" type="number" min="0" [(ngModel)]="tenureYears" />
|
||||
<span>Yrs</span>
|
||||
<input class="ws-f__ctl" type="number" min="0" max="11" [(ngModel)]="tenureMonths" />
|
||||
<span>Mo</span>
|
||||
<input class="ws-f__ctl" type="number" min="0" max="30" [(ngModel)]="tenureDays" />
|
||||
<span>Days</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ws-vdivider"></div>
|
||||
|
||||
<div class="ws-group ws-group--flex">
|
||||
<span class="ws-caption">Nominee & Maturity Details</span>
|
||||
<div class="ws-group__fields">
|
||||
<div class="ws-f" style="flex: 1; min-width: 120px">
|
||||
<label class="ws-f__lbl">Interest Payout</label>
|
||||
<select class="ws-f__ctl" [(ngModel)]="interestPayout">
|
||||
<option *ngFor="let o of interestPayoutOptions" [value]="o">{{ o }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="ws-f" style="flex: 1; min-width: 130px">
|
||||
<label class="ws-f__lbl">Nominee Name (optional)</label>
|
||||
<input class="ws-f__ctl" type="text" [(ngModel)]="nomineeName" placeholder="Spouse / Child name" />
|
||||
</div>
|
||||
<div class="ws-f" style="flex: 1.2; min-width: 160px">
|
||||
<label class="ws-f__lbl">Maturity Instruction</label>
|
||||
<select class="ws-f__ctl" [(ngModel)]="maturityInstruction">
|
||||
<option *ngFor="let m of maturityInstructions" [value]="m">{{ m }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SUMMARY -->
|
||||
<div class="fdrd-summary">
|
||||
<div class="fdrd-stat">
|
||||
<div class="fdrd-stat-l">Principal</div>
|
||||
<div class="fdrd-stat-v">₹ {{ principal || 0 | number: '1.0-2' }}</div>
|
||||
</div>
|
||||
<div class="fdrd-stat">
|
||||
<div class="fdrd-stat-l">Tenure</div>
|
||||
<div class="fdrd-stat-v">{{ tenureYears }}y {{ tenureMonths }}m {{ tenureDays }}d</div>
|
||||
</div>
|
||||
<div class="fdrd-stat">
|
||||
<div class="fdrd-stat-l">Maturity Date</div>
|
||||
<div class="fdrd-stat-v">{{ maturityDate | date: 'dd-MM-yyyy' }}</div>
|
||||
</div>
|
||||
<div class="fdrd-stat fdrd-stat-good">
|
||||
<div class="fdrd-stat-l">Maturity Amount</div>
|
||||
<div class="fdrd-stat-v">₹ {{ maturityAmount | number: '1.2-2' }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- FOOTER -->
|
||||
<div class="fdrd-foot">
|
||||
<div class="fdrd-foot-l">
|
||||
<fa-icon icon="info-circle"></fa-icon> Demo entry — quarterly-compounded interest, no real account is
|
||||
created.
|
||||
</div>
|
||||
<div class="fdrd-foot-actions">
|
||||
<button mat-stroked-button class="fdrd-btn-ghost" (click)="resetForm()">
|
||||
<fa-icon icon="undo"></fa-icon> Reset
|
||||
</button>
|
||||
<button mat-stroked-button class="fdrd-btn-save" [disabled]="!isValid" (click)="save()">
|
||||
<fa-icon icon="save"></fa-icon> Save
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,395 @@
|
||||
/**
|
||||
* Copyright since 2025 Mifos Initiative
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
:host {
|
||||
display: block;
|
||||
font-family: 'Hanken Grotesk', Inter, sans-serif;
|
||||
color: #1a2a3e;
|
||||
}
|
||||
|
||||
.fdrd-dlg {
|
||||
background: #fff;
|
||||
border-radius: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
/* HEADER - Matches .ws-header in clerk dashboard */
|
||||
.fdrd-head {
|
||||
padding: 0 12px;
|
||||
height: 32px;
|
||||
background: linear-gradient(90deg, #0d1b2e 0%, #162542 100%);
|
||||
border-bottom: 2px solid #e87722;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 16px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.fdrd-head-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.fdrd-head-ic {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border-radius: 6px;
|
||||
background: #e87722;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 11px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.fdrd-title {
|
||||
margin: 0;
|
||||
font-family: Newsreader, Georgia, serif;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: #e8f0fb;
|
||||
letter-spacing: 0.01em;
|
||||
}
|
||||
|
||||
.fdrd-sub {
|
||||
display: none; /* Hide subtitle in header to match clean style */
|
||||
}
|
||||
|
||||
.fdrd-head-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.fdrd-meta {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
font-size: 11px;
|
||||
color: #7a95b0;
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 0;
|
||||
|
||||
fa-icon {
|
||||
color: #5a7589;
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.fdrd-close {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #7a95b0;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border-radius: 4px;
|
||||
transition: all 0.15s;
|
||||
|
||||
&:hover {
|
||||
background: rgb(255 255 255 / 10%);
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
/* BODY - Styled like canvas + card grid */
|
||||
.fdrd-body {
|
||||
padding: 16px 20px;
|
||||
overflow-y: auto;
|
||||
flex: 1;
|
||||
background: #f0f4f9;
|
||||
}
|
||||
|
||||
.fdrd-success {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 10px;
|
||||
padding: 12px 16px;
|
||||
border-radius: 10px;
|
||||
background: #dcfce7;
|
||||
color: #15803d;
|
||||
margin-bottom: 14px;
|
||||
font-size: 13px;
|
||||
|
||||
fa-icon {
|
||||
font-size: 16px;
|
||||
margin-top: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
.fdrd-success-sub {
|
||||
margin-top: 2px;
|
||||
font-size: 11px;
|
||||
font-weight: 400;
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
/* Card container for form */
|
||||
.fdrd-section {
|
||||
background: #fff;
|
||||
border: 1px solid #dce4ef;
|
||||
border-radius: 10px;
|
||||
padding: 16px 20px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
/* Transaction Entry Style Layout mappings */
|
||||
.ws-group-row {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
gap: 0;
|
||||
|
||||
&--mt {
|
||||
margin-top: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.ws-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
flex-shrink: 0;
|
||||
|
||||
&--flex {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
&__fields {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
gap: 8px;
|
||||
flex-wrap: nowrap;
|
||||
height: 100%;
|
||||
align-content: flex-end;
|
||||
}
|
||||
}
|
||||
|
||||
.ws-caption {
|
||||
font-family: Newsreader, Georgia, serif;
|
||||
font-style: italic;
|
||||
font-size: 11px;
|
||||
color: #7a95b0;
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
|
||||
.ws-vdivider {
|
||||
width: 1px;
|
||||
background: #dce4ef;
|
||||
margin: 12px 10px 0;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.ws-f {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 3px;
|
||||
flex-shrink: 0;
|
||||
|
||||
&__lbl {
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
color: #7a95b0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
&__ctl {
|
||||
height: 26px;
|
||||
padding: 0 7px;
|
||||
border: 1px solid #c8d8eb;
|
||||
border-radius: 6px;
|
||||
font-family: 'Hanken Grotesk', Inter, sans-serif;
|
||||
font-size: 11.5px;
|
||||
color: #1a2a3e;
|
||||
background: #f4f7fc;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
transition:
|
||||
border-color 0.15s,
|
||||
box-shadow 0.15s;
|
||||
|
||||
&:hover {
|
||||
border-color: #9ab5d0;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
border-color: #2563eb;
|
||||
box-shadow: 0 0 0 3px rgb(37 99 235 / 12%);
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
&--mono {
|
||||
font-family: 'Roboto Mono', monospace;
|
||||
font-size: 11.5px;
|
||||
letter-spacing: 0.03em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.fdrd-tenure-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
width: 100%;
|
||||
|
||||
.ws-f__ctl {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
color: #7a95b0;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
/* SUMMARY - Styled like info summary block */
|
||||
.fdrd-summary {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 12px;
|
||||
padding: 12px 16px;
|
||||
background: #f4f7fc;
|
||||
border: 1px solid #c8d8eb;
|
||||
border-radius: 10px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.fdrd-stat {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
}
|
||||
|
||||
.fdrd-stat-l {
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
color: #7a95b0;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
.fdrd-stat-v {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #1a2a3e;
|
||||
}
|
||||
|
||||
.fdrd-stat-good .fdrd-stat-v {
|
||||
color: #1a7a4a;
|
||||
}
|
||||
|
||||
/* FOOTER - Styled like action panel */
|
||||
.fdrd-foot {
|
||||
padding: 10px 16px;
|
||||
border-top: 1px solid #dce4ef;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
flex-shrink: 0;
|
||||
background: #f0f4f9;
|
||||
}
|
||||
|
||||
.fdrd-foot-l {
|
||||
font-size: 11px;
|
||||
color: #7a95b0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.fdrd-foot-actions {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.fdrd-btn-ghost {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
height: 28px;
|
||||
padding: 0 12px !important;
|
||||
border-radius: 7px;
|
||||
border: 1px solid #dce4ef !important;
|
||||
background: #fff !important;
|
||||
color: #1a2a3e !important;
|
||||
font-family: 'Hanken Grotesk', sans-serif;
|
||||
font-size: 11.5px !important;
|
||||
font-weight: 600 !important;
|
||||
cursor: pointer;
|
||||
box-shadow: none !important;
|
||||
|
||||
&:hover {
|
||||
background: #f0f4f9 !important;
|
||||
border-color: #a8bdd4 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.fdrd-btn-save {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
height: 28px;
|
||||
padding: 0 16px !important;
|
||||
border-radius: 7px;
|
||||
border: none !important;
|
||||
background: #e87722 !important;
|
||||
color: #fff !important;
|
||||
font-family: 'Hanken Grotesk', sans-serif;
|
||||
font-size: 11.5px !important;
|
||||
font-weight: 700 !important;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 2px 8px rgb(232 119 34 / 30%) !important;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
filter: brightness(1.08);
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
opacity: 0.4;
|
||||
cursor: not-allowed;
|
||||
background: #c8d8eb !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (width <= 768px) {
|
||||
.ws-group-row {
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.ws-vdivider {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ws-group__fields {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.fdrd-summary {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,146 @@
|
||||
/**
|
||||
* Copyright since 2025 Mifos Initiative
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
import { Component, inject } from '@angular/core';
|
||||
import { CommonModule, DecimalPipe } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import { MatDialogRef, MatDialogModule } from '@angular/material/dialog';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
|
||||
|
||||
type DepositType = 'FD-SINGLE' | 'FD-JOINT' | 'RD-MONTHLY' | 'RD-QUARTERLY';
|
||||
|
||||
interface DemoClient {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
@Component({
|
||||
selector: 'mifosx-fd-rd-entry-dialog',
|
||||
standalone: true,
|
||||
templateUrl: './fd-rd-entry-dialog.component.html',
|
||||
styleUrls: ['./fd-rd-entry-dialog.component.scss'],
|
||||
imports: [CommonModule, DecimalPipe, FormsModule, MatDialogModule, MatButtonModule, MatTooltipModule, FaIconComponent]
|
||||
})
|
||||
export class FdRdEntryDialogComponent {
|
||||
private dialogRef = inject(MatDialogRef<FdRdEntryDialogComponent>);
|
||||
private snackBar = inject(MatSnackBar);
|
||||
|
||||
bank = {
|
||||
name: 'CBSNexora Bank Ltd',
|
||||
branch: 'Head Office'
|
||||
};
|
||||
|
||||
depositTypes: { code: DepositType; label: string; defaultRate: number }[] = [
|
||||
{ code: 'FD-SINGLE', label: 'Fixed Deposit — Single A/c', defaultRate: 7.25 },
|
||||
{ code: 'FD-JOINT', label: 'Fixed Deposit — Joint A/c', defaultRate: 7.25 },
|
||||
{ code: 'RD-MONTHLY', label: 'Recurring Deposit — Monthly', defaultRate: 7.0 },
|
||||
{ code: 'RD-QUARTERLY', label: 'Recurring Deposit — Quarterly', defaultRate: 7.0 }
|
||||
];
|
||||
|
||||
clients: DemoClient[] = [
|
||||
{ id: 'C-10231', name: 'Ramesh Kumar Sharma' },
|
||||
{ id: 'C-10344', name: 'Priya Enterprises' },
|
||||
{ id: 'C-10412', name: 'Anjali Verma' },
|
||||
{ id: 'C-10567', name: 'Suresh & Sons HUF' },
|
||||
{ id: 'C-10689', name: 'Vikram Traders' }
|
||||
];
|
||||
|
||||
payModes = ['Cash', 'Cheque', 'Transfer from Savings A/c'];
|
||||
interestPayoutOptions = ['Cumulative (Paid on Maturity)', 'Monthly Payout', 'Quarterly Payout'];
|
||||
maturityInstructions = [
|
||||
'Renew Principal & Interest',
|
||||
'Renew Principal Only, Payout Interest',
|
||||
'Payout on Maturity (No Renewal)'
|
||||
];
|
||||
|
||||
depositType: DepositType = 'FD-SINGLE';
|
||||
clientId = '';
|
||||
principal: number | null = null;
|
||||
interestRate = 7.25;
|
||||
tenureYears = 1;
|
||||
tenureMonths = 0;
|
||||
tenureDays = 0;
|
||||
interestPayout = this.interestPayoutOptions[0];
|
||||
payMode = this.payModes[0];
|
||||
nomineeName = '';
|
||||
maturityInstruction = this.maturityInstructions[0];
|
||||
|
||||
saved = false;
|
||||
lastAccountNo = '';
|
||||
lastClientName = '';
|
||||
|
||||
get selectedClient(): DemoClient | undefined {
|
||||
return this.clients.find((c) => c.id === this.clientId);
|
||||
}
|
||||
|
||||
onDepositTypeChange(): void {
|
||||
const dt = this.depositTypes.find((d) => d.code === this.depositType);
|
||||
if (dt) this.interestRate = dt.defaultRate;
|
||||
}
|
||||
|
||||
get isRecurring(): boolean {
|
||||
return this.depositType.startsWith('RD');
|
||||
}
|
||||
|
||||
get tenureInYears(): number {
|
||||
return this.tenureYears + this.tenureMonths / 12 + this.tenureDays / 365;
|
||||
}
|
||||
|
||||
get maturityDate(): Date {
|
||||
const d = new Date();
|
||||
d.setFullYear(d.getFullYear() + this.tenureYears);
|
||||
d.setMonth(d.getMonth() + this.tenureMonths);
|
||||
d.setDate(d.getDate() + this.tenureDays);
|
||||
return d;
|
||||
}
|
||||
|
||||
/** Quarterly-compounded maturity value, the standard FD/RD convention */
|
||||
get maturityAmount(): number {
|
||||
const p = this.principal || 0;
|
||||
const t = this.tenureInYears;
|
||||
if (p <= 0 || t <= 0) return 0;
|
||||
return p * Math.pow(1 + this.interestRate / 100 / 4, 4 * t);
|
||||
}
|
||||
|
||||
get isValid(): boolean {
|
||||
return !!this.clientId && (this.principal ?? 0) > 0 && this.tenureInYears > 0;
|
||||
}
|
||||
|
||||
save(): void {
|
||||
if (!this.isValid) return;
|
||||
const prefix = this.isRecurring ? 'RD' : 'FD';
|
||||
this.lastAccountNo = `${prefix}${Math.floor(1000000 + Math.random() * 8999999)}`;
|
||||
this.lastClientName = this.selectedClient?.name ?? '';
|
||||
this.saved = true;
|
||||
this.snackBar.open(`${prefix} account ${this.lastAccountNo} created for ${this.lastClientName}`, 'Close', {
|
||||
duration: 4000
|
||||
});
|
||||
}
|
||||
|
||||
resetForm(): void {
|
||||
this.depositType = 'FD-SINGLE';
|
||||
this.clientId = '';
|
||||
this.principal = null;
|
||||
this.interestRate = 7.25;
|
||||
this.tenureYears = 1;
|
||||
this.tenureMonths = 0;
|
||||
this.tenureDays = 0;
|
||||
this.nomineeName = '';
|
||||
this.interestPayout = this.interestPayoutOptions[0];
|
||||
this.payMode = this.payModes[0];
|
||||
this.maturityInstruction = this.maturityInstructions[0];
|
||||
this.saved = false;
|
||||
}
|
||||
|
||||
close(): void {
|
||||
this.dialogRef.close();
|
||||
}
|
||||
}
|
||||
@@ -63,7 +63,7 @@ export class PslReportDialogComponent {
|
||||
activeTab: 'dashboard' | 'categories' | 'register' | 'returns' = 'dashboard';
|
||||
|
||||
bank = {
|
||||
name: 'Bharat Urban Bank Ltd',
|
||||
name: 'CBSNexora Bank Ltd',
|
||||
branch: 'Head Office',
|
||||
quarter: 'Q3 FY 2025-26',
|
||||
asOnDate: '29-01-2026',
|
||||
|
||||
+11
-11
@@ -141,11 +141,11 @@ export interface SftInterestDividendRecord {
|
||||
}
|
||||
|
||||
export const SFT_BANK = {
|
||||
name: 'Bharat Urban Bank Ltd',
|
||||
name: 'CBSNexora Bank Ltd',
|
||||
branch: 'Head Office',
|
||||
filerPan: 'AABCB1100M',
|
||||
filerTan: 'MUMR99001E',
|
||||
itdReportingPortalId: 'BHARATURBAN-285BA',
|
||||
itdReportingPortalId: 'CBSNEXORA-285BA',
|
||||
fy: '2025-26',
|
||||
filingDueDate: '31-05-2026',
|
||||
principalOfficer: 'Karthik Kamath',
|
||||
@@ -159,7 +159,7 @@ export const SFT_BANK = {
|
||||
branchStdCode: '022',
|
||||
branchPhone: '24938000',
|
||||
branchMobile: '9892000100',
|
||||
branchEmail: 'compliance@bharaturbanbank.example'
|
||||
branchEmail: 'compliance@cbsnexorabank.example'
|
||||
};
|
||||
|
||||
/** ── SFT-001 / 002 / 004 — Person-wise records ── */
|
||||
@@ -202,7 +202,7 @@ export const SFT_PERSON_RECORDS: SftPersonRecord[] = [
|
||||
cashAmountReceivedFromPerson: 1500000,
|
||||
amountPaidToPerson: 0,
|
||||
relatedAccountNumber: '110001101000838',
|
||||
relatedInstituteName: 'BHARAT URBAN BANK',
|
||||
relatedInstituteName: 'CBSNEXORA BANK',
|
||||
relatedInstituteRefNumber: 'YESB0BHRT',
|
||||
sftCode: 'SFT-001'
|
||||
},
|
||||
@@ -243,7 +243,7 @@ export const SFT_PERSON_RECORDS: SftPersonRecord[] = [
|
||||
cashAmountReceivedFromPerson: 1100000,
|
||||
amountPaidToPerson: 0,
|
||||
relatedAccountNumber: '110001352000357',
|
||||
relatedInstituteName: 'BHARAT URBAN BANK',
|
||||
relatedInstituteName: 'CBSNEXORA BANK',
|
||||
relatedInstituteRefNumber: 'YESB0BHRT',
|
||||
sftCode: 'SFT-001'
|
||||
},
|
||||
@@ -285,7 +285,7 @@ export const SFT_PERSON_RECORDS: SftPersonRecord[] = [
|
||||
cashAmountReceivedFromPerson: 2500000,
|
||||
amountPaidToPerson: 0,
|
||||
relatedAccountNumber: '110001352000420',
|
||||
relatedInstituteName: 'BHARAT URBAN BANK',
|
||||
relatedInstituteName: 'CBSNEXORA BANK',
|
||||
relatedInstituteRefNumber: 'YESB0BHRT',
|
||||
sftCode: 'SFT-002'
|
||||
},
|
||||
@@ -326,7 +326,7 @@ export const SFT_PERSON_RECORDS: SftPersonRecord[] = [
|
||||
cashAmountReceivedFromPerson: 1800000,
|
||||
amountPaidToPerson: 0,
|
||||
relatedAccountNumber: '110001352000511',
|
||||
relatedInstituteName: 'BHARAT URBAN BANK',
|
||||
relatedInstituteName: 'CBSNEXORA BANK',
|
||||
relatedInstituteRefNumber: 'YESB0BHRT',
|
||||
sftCode: 'SFT-002'
|
||||
},
|
||||
@@ -368,7 +368,7 @@ export const SFT_PERSON_RECORDS: SftPersonRecord[] = [
|
||||
cashAmountReceivedFromPerson: 1250000,
|
||||
amountPaidToPerson: 0,
|
||||
relatedAccountNumber: '110001101001145',
|
||||
relatedInstituteName: 'BHARAT URBAN BANK',
|
||||
relatedInstituteName: 'CBSNEXORA BANK',
|
||||
relatedInstituteRefNumber: 'YESB0BHRT',
|
||||
sftCode: 'SFT-004'
|
||||
},
|
||||
@@ -409,7 +409,7 @@ export const SFT_PERSON_RECORDS: SftPersonRecord[] = [
|
||||
cashAmountReceivedFromPerson: 2150000,
|
||||
amountPaidToPerson: 0,
|
||||
relatedAccountNumber: '110001101001458',
|
||||
relatedInstituteName: 'BHARAT URBAN BANK',
|
||||
relatedInstituteName: 'CBSNEXORA BANK',
|
||||
relatedInstituteRefNumber: 'YESB0BHRT',
|
||||
sftCode: 'SFT-004'
|
||||
}
|
||||
@@ -436,7 +436,7 @@ export const SFT_ACCOUNT_RECORDS: SftAccountRecord[] = [
|
||||
branchMobile: '9892000100',
|
||||
branchFaxStd: '022',
|
||||
branchFaxPhone: '24938011',
|
||||
branchEmail: 'compliance@bharaturbanbank.example',
|
||||
branchEmail: 'compliance@cbsnexorabank.example',
|
||||
aggGrossCashCredited: 6500000,
|
||||
aggGrossCashDebited: 4200000,
|
||||
amountCreditedBeforeDemonetization: 0,
|
||||
@@ -485,7 +485,7 @@ export const SFT_ACCOUNT_RECORDS: SftAccountRecord[] = [
|
||||
branchMobile: '9892000100',
|
||||
branchFaxStd: '022',
|
||||
branchFaxPhone: '24938011',
|
||||
branchEmail: 'compliance@bharaturbanbank.example',
|
||||
branchEmail: 'compliance@cbsnexorabank.example',
|
||||
aggGrossCashCredited: 5800000,
|
||||
aggGrossCashDebited: 3450000,
|
||||
amountCreditedBeforeDemonetization: 0,
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
/* tslint:disable */
|
||||
export default {
|
||||
'mifos_x': {
|
||||
'version': '260729',
|
||||
'hash': 'c1fc95d9'
|
||||
'version': '260731',
|
||||
'hash': '0bf337b9'
|
||||
},
|
||||
'allow_switching_backend_instance': true
|
||||
};
|
||||
|
||||
@@ -1017,6 +1017,22 @@ mat-card {
|
||||
}
|
||||
}
|
||||
|
||||
/* ─── Full-Screen Dialog Panel (e.g. FD/RD Entry) — edge-to-edge, no rounded corners ─── */
|
||||
.fdrd-fullscreen-panel {
|
||||
max-width: 100vw !important;
|
||||
width: 100vw !important;
|
||||
height: 100vh !important;
|
||||
max-height: 100vh !important;
|
||||
|
||||
.mat-mdc-dialog-container {
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
.mat-mdc-dialog-surface {
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* ─── CIC DQR Dialog Backdrop — ensure outside clicks register ─── */
|
||||
.cic-dlg-backdrop {
|
||||
background: rgb(15 23 42 / 45%);
|
||||
|
||||
Reference in New Issue
Block a user