diff --git a/src/app/home/dashboard/accounting-reports-dialog/accounting-reports-dialog.component.scss b/src/app/home/dashboard/accounting-reports-dialog/accounting-reports-dialog.component.scss
index 3e56295d9..ad0dad4be 100644
--- a/src/app/home/dashboard/accounting-reports-dialog/accounting-reports-dialog.component.scss
+++ b/src/app/home/dashboard/accounting-reports-dialog/accounting-reports-dialog.component.scss
@@ -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;
diff --git a/src/app/home/dashboard/accounting-reports-dialog/accounting-reports-dialog.component.ts b/src/app/home/dashboard/accounting-reports-dialog/accounting-reports-dialog.component.ts
index 817c5ab5b..1d9f12a9a 100644
--- a/src/app/home/dashboard/accounting-reports-dialog/accounting-reports-dialog.component.ts
+++ b/src/app/home/dashboard/accounting-reports-dialog/accounting-reports-dialog.component.ts
@@ -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([
diff --git a/src/app/home/dashboard/alm-report-dialog/alm-report-dialog.component.ts b/src/app/home/dashboard/alm-report-dialog/alm-report-dialog.component.ts
index c15e6b559..7ce0a4ec7 100644
--- a/src/app/home/dashboard/alm-report-dialog/alm-report-dialog.component.ts
+++ b/src/app/home/dashboard/alm-report-dialog/alm-report-dialog.component.ts
@@ -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% */
diff --git a/src/app/home/dashboard/cims-xbrl-dialog/cims-xbrl-dialog.component.ts b/src/app/home/dashboard/cims-xbrl-dialog/cims-xbrl-dialog.component.ts
index fbf07020c..85a72408d 100644
--- a/src/app/home/dashboard/cims-xbrl-dialog/cims-xbrl-dialog.component.ts
+++ b/src/app/home/dashboard/cims-xbrl-dialog/cims-xbrl-dialog.component.ts
@@ -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
(MAT_DIALOG_DATA, { optional: true });
diff --git a/src/app/home/dashboard/ckyc-reports-dialog/ckyc-reports-dialog.component.ts b/src/app/home/dashboard/ckyc-reports-dialog/ckyc-reports-dialog.component.ts
index 9f4270bfe..f0871bc76 100644
--- a/src/app/home/dashboard/ckyc-reports-dialog/ckyc-reports-dialog.component.ts
+++ b/src/app/home/dashboard/ckyc-reports-dialog/ckyc-reports-dialog.component.ts
@@ -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',
diff --git a/src/app/home/dashboard/dashboard.component.html b/src/app/home/dashboard/dashboard.component.html
index dd51410fe..fda8e8876 100644
--- a/src/app/home/dashboard/dashboard.component.html
+++ b/src/app/home/dashboard/dashboard.component.html
@@ -165,12 +165,12 @@
Total Deposits
-
₹ 3,264.42 Cr
-
+
₹ 11,540.55 Cr
+
Total Advances
-
₹ 4,162.65 Cr
+
₹ 16,277.11 Cr
diff --git a/src/app/home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component.html b/src/app/home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component.html
new file mode 100644
index 000000000..9bec5dd23
--- /dev/null
+++ b/src/app/home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component.html
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
FD / RD Entry
+
Open a new Fixed Deposit or Recurring Deposit account.
+
+
+
+ {{ bank.name }}
+ {{ bank.branch }}
+ ✕
+
+
+
+
+
+
+
+
+
{{ lastAccountNo }} created for
{{ lastClientName }}
+
You can enter another deposit below, or close this dialog.
+
+
+
+
+
+
+
+
+
Deposit Info
+
+
+ Deposit Type
+
+ {{ dt.label }}
+
+
+
+ Pay Mode
+
+ {{ m }}
+
+
+
+
+
+
+
+
+
Client & Amount
+
+
+ Client
+
+ -- Select Client --
+ {{ c.name }} ({{ c.id }})
+
+
+
+ {{ isRecurring ? 'Monthly Instalment (₹)' : 'Deposit Amount (₹)' }}
+
+
+
+
+
+
+
+
+
+
Interest & Tenure
+
+
+ Int. Rate (% p.a.)
+
+
+
+
+
+
+
+
+
+
Nominee & Maturity Details
+
+
+ Interest Payout
+
+ {{ o }}
+
+
+
+ Nominee Name (optional)
+
+
+
+ Maturity Instruction
+
+ {{ m }}
+
+
+
+
+
+
+
+
+
+
+
Principal
+
₹ {{ principal || 0 | number: '1.0-2' }}
+
+
+
Tenure
+
{{ tenureYears }}y {{ tenureMonths }}m {{ tenureDays }}d
+
+
+
Maturity Date
+
{{ maturityDate | date: 'dd-MM-yyyy' }}
+
+
+
Maturity Amount
+
₹ {{ maturityAmount | number: '1.2-2' }}
+
+
+
+
+
+
+
diff --git a/src/app/home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component.scss b/src/app/home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component.scss
new file mode 100644
index 000000000..4342359ac
--- /dev/null
+++ b/src/app/home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component.scss
@@ -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);
+ }
+}
diff --git a/src/app/home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component.ts b/src/app/home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component.ts
new file mode 100644
index 000000000..3eed23f0b
--- /dev/null
+++ b/src/app/home/dashboard/fd-rd-entry-dialog/fd-rd-entry-dialog.component.ts
@@ -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);
+ 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();
+ }
+}
diff --git a/src/app/home/dashboard/psl-report-dialog/psl-report-dialog.component.ts b/src/app/home/dashboard/psl-report-dialog/psl-report-dialog.component.ts
index 1bf9ff773..03e325a47 100644
--- a/src/app/home/dashboard/psl-report-dialog/psl-report-dialog.component.ts
+++ b/src/app/home/dashboard/psl-report-dialog/psl-report-dialog.component.ts
@@ -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',
diff --git a/src/app/sft/sft-data.ts b/src/app/sft/sft-data.ts
index 6deda4868..8d7a7d361 100644
--- a/src/app/sft/sft-data.ts
+++ b/src/app/sft/sft-data.ts
@@ -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,
diff --git a/src/environments/.env.ts b/src/environments/.env.ts
index f7521f4b2..785504688 100644
--- a/src/environments/.env.ts
+++ b/src/environments/.env.ts
@@ -9,8 +9,8 @@
/* tslint:disable */
export default {
'mifos_x': {
- 'version': '260729',
- 'hash': 'c1fc95d9'
+ 'version': '260731',
+ 'hash': '0bf337b9'
},
'allow_switching_backend_instance': true
};
diff --git a/src/main.scss b/src/main.scss
index 91d1e22d9..96e8e3a65 100644
--- a/src/main.scss
+++ b/src/main.scss
@@ -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%);