Adds dialog components and feature modules for RBI/banking compliance, KYC, and accounting reports. Wires them into the shell menu (RBI, General Ledger, CKYC Mgmt, Others, Insurance) and dashboard cards. Dialog components (lazy-loaded MatDialog): - PSL Returns (Form III) — dashboard card + RBI menu - ALM Statement of Structural Liquidity (Form ALM-1) — RBI menu - CIMS / XBRL Returns (OSS-2 / PSA / RAL / RCP-UCB) — RBI menu, shared dialog with form-pill switcher - CIC DQR (CIBIL / Experian / Equifax / CRIF, 72-col TUDF) — Others menu + dashboard card - CKYC Compliance Reports (Re-KYC / Risk Review / CERSAI) — CKYC Mgmt - Accounting Reports (P&L / Balance Sheet / Comparative B/S / GL DR/CR / Misc Expense Ledger) — General Ledger menu Feature modules (Route.withShell): - DEAF (/deaf): Form I, Form II, Annex 4, accounts register - DICGC (/dicgc): Slab Report, SAHAY Depositor List - FIU-IND (/fiu): FINnet 2.0 Statement of Financial Transactions - SFT (/sft): Income Tax Section 285BA SFT - CKYC Reports (/ckyc/ckyc-reports): standalone dashboard UI: - Theme-colored icons on 22 wired menu links across 5 menus — visually distinguishes wired (colored) from placeholder (gray) links. - Backdrop classes per dialog in main.scss. All using dummy data (Bharat Urban Bank Ltd, Karthik Kamath as Principal Officer, dummy customer names) — no real bank or customer references. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
476 lines
12 KiB
TypeScript
476 lines
12 KiB
TypeScript
/**
|
||
* 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/.
|
||
*/
|
||
|
||
/**
|
||
* Sample DEAF data — schema and totals match the actual CIBIL/RBI return template.
|
||
* Bank/customer/officer/auditor names are dummy placeholders.
|
||
*
|
||
* Three RBI-prescribed reports:
|
||
* Form I — Monthly Return of unclaimed deposits transferred to DEAF (filed online by 15th)
|
||
* Form II — Same return submitted as original hardcopy
|
||
* Annex 4 — Refund Claim Form (when bank claims back from DEAF for paid-out customer refunds)
|
||
*/
|
||
|
||
export interface DeafFormRow {
|
||
/** 1=Opening, 2=Wrongly reported earlier, 3=Transferred this month, 4=Claims settled, 5=Net, 6=Total at end */
|
||
sl: number;
|
||
particulars: string;
|
||
/** (a) Interest Bearing Deposits */
|
||
ibdAccounts: number;
|
||
ibdAmount: number;
|
||
/** (b) Non-Interest Bearing Deposits */
|
||
nibdAccounts: number;
|
||
nibdAmount: number;
|
||
/** (c) Other Credits (Non-Interest bearing) */
|
||
ocAccounts: number;
|
||
ocAmount: number;
|
||
/** (d) Total = (a) + (b) + (c) */
|
||
totalAccounts: number;
|
||
totalAmount: number;
|
||
}
|
||
|
||
export interface DeafForm {
|
||
bankName: string;
|
||
bankDeafCode: string;
|
||
remittedThroughSponsor: 'Y' | 'N';
|
||
sponsorBankName: string;
|
||
monthYear: string;
|
||
dateOfTransfer: string;
|
||
rows: DeafFormRow[];
|
||
/** Authorized officer + auditor (signature block) */
|
||
officer: string;
|
||
officerDesignation: string;
|
||
auditor: string;
|
||
auditorAddress: string;
|
||
}
|
||
|
||
export interface DeafClaim {
|
||
slNo: number;
|
||
ibdPrincipal: number;
|
||
ibdInterest: number;
|
||
ibdTotal: number;
|
||
nibdAccounts: number;
|
||
nibdAmount: number;
|
||
ocAccounts: number;
|
||
ocAmount: number;
|
||
grandTotalAccounts: number;
|
||
grandTotalAmount: number;
|
||
}
|
||
|
||
export interface DeafEligibleAccount {
|
||
acNo: string;
|
||
customerName: string;
|
||
acType: 'SB' | 'CA' | 'FD' | 'RD' | 'BG' | 'DD' | 'PO';
|
||
branch: string;
|
||
openedDate: string;
|
||
lastTxnDate: string;
|
||
inactiveYears: number;
|
||
/** IBD = Interest Bearing Deposit; NIBD = Non-Interest Bearing; OC = Other Credit */
|
||
bucket: 'IBD' | 'NIBD' | 'OC';
|
||
principal: number;
|
||
interest: number;
|
||
total: number;
|
||
status: 'eligible-this-month' | 'transferred' | 'claim-pending' | 'refunded';
|
||
transferredOn?: string;
|
||
}
|
||
|
||
/** Form I — Dec 2025 cycle */
|
||
export const FORM_I: DeafForm = {
|
||
bankName: 'Bharat Urban Bank Ltd, Mumbai Main Branch',
|
||
bankDeafCode: '1100',
|
||
remittedThroughSponsor: 'Y',
|
||
sponsorBankName: 'State Bank of India',
|
||
monthYear: '12/2025',
|
||
dateOfTransfer: '29-12-2025',
|
||
officer: 'Anjali Mehta',
|
||
officerDesignation: 'Chief Executive Officer',
|
||
auditor: 'Karthik Kamath',
|
||
auditorAddress: '12 MG Road, Worli, Mumbai 400018',
|
||
rows: [
|
||
{
|
||
sl: 1,
|
||
particulars: 'Opening balance of accounts transferred to the Fund at the beginning of the month',
|
||
ibdAccounts: 1208,
|
||
ibdAmount: 2571461.6,
|
||
nibdAccounts: 138,
|
||
nibdAmount: 177338.98,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 1346,
|
||
totalAmount: 2748800.58
|
||
},
|
||
{
|
||
sl: 2,
|
||
particulars: 'Accounts if any wrongly reported in past and rectified during this month',
|
||
ibdAccounts: 10,
|
||
ibdAmount: 7582.7,
|
||
nibdAccounts: 0,
|
||
nibdAmount: 0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 10,
|
||
totalAmount: 7582.7
|
||
},
|
||
{
|
||
sl: 3,
|
||
particulars:
|
||
'Accounts transferred to the DEA Fund during this month (incl. inadvertently omitted in previous month)',
|
||
ibdAccounts: 0,
|
||
ibdAmount: 0,
|
||
nibdAccounts: 0,
|
||
nibdAmount: 0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 0,
|
||
totalAmount: 0
|
||
},
|
||
{
|
||
sl: 4,
|
||
particulars: 'Claims settled and refund received from the DEA Fund during this month (only the principal)',
|
||
ibdAccounts: 2,
|
||
ibdAmount: 9177.0,
|
||
nibdAccounts: 0,
|
||
nibdAmount: 0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 2,
|
||
totalAmount: 9177.0
|
||
},
|
||
{
|
||
sl: 5,
|
||
particulars: 'Net amount transferred to the Fund during the month (2 + 3 − 4)',
|
||
ibdAccounts: 8,
|
||
ibdAmount: -1594.3,
|
||
nibdAccounts: 0,
|
||
nibdAmount: 0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 8,
|
||
totalAmount: -1594.3
|
||
},
|
||
{
|
||
sl: 6,
|
||
particulars: 'Total amount with the Fund at the end of the month (1 + 5)',
|
||
ibdAccounts: 1216,
|
||
ibdAmount: 2569867.3,
|
||
nibdAccounts: 138,
|
||
nibdAmount: 177338.98,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 1354,
|
||
totalAmount: 2747206.28
|
||
}
|
||
]
|
||
};
|
||
|
||
/** Form II — Jan 2026 (head office consolidated) */
|
||
export const FORM_II: DeafForm = {
|
||
bankName: 'Bharat Urban Bank Ltd, Head Office',
|
||
bankDeafCode: '1100',
|
||
remittedThroughSponsor: 'Y',
|
||
sponsorBankName: 'State Bank of India',
|
||
monthYear: '01/2026',
|
||
dateOfTransfer: '15-01-2026',
|
||
officer: 'Anjali Mehta',
|
||
officerDesignation: 'Chief Executive Officer',
|
||
auditor: 'Karthik Kamath',
|
||
auditorAddress: '12 MG Road, Worli, Mumbai 400018',
|
||
rows: [
|
||
{
|
||
sl: 1,
|
||
particulars: 'Opening balance at the beginning of the month',
|
||
ibdAccounts: 699,
|
||
ibdAmount: 2040493.18,
|
||
nibdAccounts: 140,
|
||
nibdAmount: 187649.0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 839,
|
||
totalAmount: 2228142.18
|
||
},
|
||
{
|
||
sl: 2,
|
||
particulars: 'Accounts and amount inadvertently omitted in previous month return and transferred this month',
|
||
ibdAccounts: 0,
|
||
ibdAmount: 0,
|
||
nibdAccounts: 0,
|
||
nibdAmount: 0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 0,
|
||
totalAmount: 0
|
||
},
|
||
{
|
||
sl: 3,
|
||
particulars: 'Accounts and amount due and transferred to the Fund during this month',
|
||
ibdAccounts: 5,
|
||
ibdAmount: 19956.75,
|
||
nibdAccounts: 0,
|
||
nibdAmount: 0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 5,
|
||
totalAmount: 19956.75
|
||
},
|
||
{
|
||
sl: 4,
|
||
particulars: 'Accounts and amount claimed during the previous month and paid from the Fund during this month',
|
||
ibdAccounts: 0,
|
||
ibdAmount: 0,
|
||
nibdAccounts: 0,
|
||
nibdAmount: 0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 0,
|
||
totalAmount: 0
|
||
},
|
||
{
|
||
sl: 5,
|
||
particulars: 'Total amount transferred less amount paid from the Fund during the month (2 + 3 − 4)',
|
||
ibdAccounts: 5,
|
||
ibdAmount: 19956.75,
|
||
nibdAccounts: 0,
|
||
nibdAmount: 0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 5,
|
||
totalAmount: 19956.75
|
||
},
|
||
{
|
||
sl: 6,
|
||
particulars: 'Total amount with the Fund at the end of the month (1 + 5)',
|
||
ibdAccounts: 704,
|
||
ibdAmount: 2060449.93,
|
||
nibdAccounts: 140,
|
||
nibdAmount: 187649.0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
totalAccounts: 844,
|
||
totalAmount: 2248098.93
|
||
}
|
||
]
|
||
};
|
||
|
||
/** Annex 4 — Refund claim form (Jan 2026) */
|
||
export const REFUND_CLAIMS: {
|
||
bankName: string;
|
||
bankDeafCode: string;
|
||
currentAcWithRbi: string;
|
||
sponsorBank: string;
|
||
month: string;
|
||
year: string;
|
||
firstSignatory: string;
|
||
firstDesignation: string;
|
||
secondSignatory: string;
|
||
secondDesignation: string;
|
||
auditor: string;
|
||
rows: DeafClaim[];
|
||
} = {
|
||
bankName: 'Bharat Urban Bank Ltd',
|
||
bankDeafCode: '1100',
|
||
currentAcWithRbi: '03010200099001',
|
||
sponsorBank: 'State Bank of India',
|
||
month: 'January',
|
||
year: '2026',
|
||
firstSignatory: 'Vikram Singh',
|
||
firstDesignation: 'IT Manager',
|
||
secondSignatory: 'Rohan Malhotra',
|
||
secondDesignation: 'Clerk / Cashier',
|
||
auditor: 'Karthik Kamath',
|
||
rows: [
|
||
{
|
||
slNo: 4,
|
||
ibdPrincipal: 5754.0,
|
||
ibdInterest: 457,
|
||
ibdTotal: 6211.0,
|
||
nibdAccounts: 0,
|
||
nibdAmount: 0,
|
||
ocAccounts: 0,
|
||
ocAmount: 0,
|
||
grandTotalAccounts: 4,
|
||
grandTotalAmount: 6211.0
|
||
}
|
||
]
|
||
};
|
||
|
||
/** Eligible / transferred / claimed accounts list (dummy customers across multiple branches) */
|
||
export const ELIGIBLE_ACCOUNTS: DeafEligibleAccount[] = [
|
||
{
|
||
acNo: '110001301002013',
|
||
customerName: 'RAVI KUMAR SHARMA',
|
||
acType: 'SB',
|
||
branch: 'Mumbai Main',
|
||
openedDate: '12-04-2010',
|
||
lastTxnDate: '15-03-2016',
|
||
inactiveYears: 10,
|
||
bucket: 'IBD',
|
||
principal: 4250.0,
|
||
interest: 312.5,
|
||
total: 4562.5,
|
||
status: 'eligible-this-month'
|
||
},
|
||
{
|
||
acNo: '110001301004221',
|
||
customerName: 'PRIYA PATEL',
|
||
acType: 'SB',
|
||
branch: 'Pune FC Road',
|
||
openedDate: '08-09-2009',
|
||
lastTxnDate: '20-01-2016',
|
||
inactiveYears: 10,
|
||
bucket: 'IBD',
|
||
principal: 1850.75,
|
||
interest: 132.0,
|
||
total: 1982.75,
|
||
status: 'eligible-this-month'
|
||
},
|
||
{
|
||
acNo: '110001302001145',
|
||
customerName: 'ARJUN DESHMUKH',
|
||
acType: 'FD',
|
||
branch: 'Nagpur Dharampeth',
|
||
openedDate: '01-01-2011',
|
||
lastTxnDate: '01-01-2016',
|
||
inactiveYears: 10,
|
||
bucket: 'IBD',
|
||
principal: 25000.0,
|
||
interest: 4180.0,
|
||
total: 29180.0,
|
||
status: 'eligible-this-month'
|
||
},
|
||
{
|
||
acNo: '110001301005612',
|
||
customerName: 'VIKRAM REDDY',
|
||
acType: 'SB',
|
||
branch: 'Bengaluru Jayanagar',
|
||
openedDate: '25-07-2008',
|
||
lastTxnDate: '12-12-2015',
|
||
inactiveYears: 10,
|
||
bucket: 'IBD',
|
||
principal: 8350.5,
|
||
interest: 654.0,
|
||
total: 9004.5,
|
||
status: 'eligible-this-month'
|
||
},
|
||
{
|
||
acNo: '110001303002284',
|
||
customerName: 'LAKSHMI IYER',
|
||
acType: 'RD',
|
||
branch: 'Bengaluru Indiranagar',
|
||
openedDate: '15-06-2010',
|
||
lastTxnDate: '15-06-2015',
|
||
inactiveYears: 10,
|
||
bucket: 'IBD',
|
||
principal: 12500.0,
|
||
interest: 1850.0,
|
||
total: 14350.0,
|
||
status: 'eligible-this-month'
|
||
},
|
||
{
|
||
acNo: '110001305000412',
|
||
customerName: 'NIRAV SHAH',
|
||
acType: 'DD',
|
||
branch: 'Ahmedabad Satellite',
|
||
openedDate: '03-10-2014',
|
||
lastTxnDate: '03-10-2014',
|
||
inactiveYears: 11,
|
||
bucket: 'NIBD',
|
||
principal: 3450.0,
|
||
interest: 0,
|
||
total: 3450.0,
|
||
status: 'eligible-this-month'
|
||
},
|
||
{
|
||
acNo: '110001301001780',
|
||
customerName: 'KAVITA VERMA',
|
||
acType: 'SB',
|
||
branch: 'Lucknow Gomti Nagar',
|
||
openedDate: '11-02-2008',
|
||
lastTxnDate: '11-09-2014',
|
||
inactiveYears: 11,
|
||
bucket: 'IBD',
|
||
principal: 6240.0,
|
||
interest: 478.0,
|
||
total: 6718.0,
|
||
status: 'transferred',
|
||
transferredOn: '15-12-2025'
|
||
},
|
||
{
|
||
acNo: '110001302002091',
|
||
customerName: 'KARTHIK SUBRAMANIAN',
|
||
acType: 'FD',
|
||
branch: 'Chennai Valasaravakkam',
|
||
openedDate: '04-08-2009',
|
||
lastTxnDate: '04-08-2014',
|
||
inactiveYears: 11,
|
||
bucket: 'IBD',
|
||
principal: 18500.0,
|
||
interest: 2725.0,
|
||
total: 21225.0,
|
||
status: 'transferred',
|
||
transferredOn: '15-11-2025'
|
||
},
|
||
{
|
||
acNo: '110001301008764',
|
||
customerName: 'SAMEER KAPOOR',
|
||
acType: 'SB',
|
||
branch: 'Delhi Greater Kailash',
|
||
openedDate: '17-05-2009',
|
||
lastTxnDate: '17-05-2014',
|
||
inactiveYears: 11,
|
||
bucket: 'IBD',
|
||
principal: 4587.0,
|
||
interest: 290.0,
|
||
total: 4877.0,
|
||
status: 'transferred',
|
||
transferredOn: '15-09-2024'
|
||
},
|
||
{
|
||
acNo: '110001302003145',
|
||
customerName: 'ABHISHEK BANERJEE',
|
||
acType: 'FD',
|
||
branch: 'Kolkata Salt Lake',
|
||
openedDate: '22-03-2010',
|
||
lastTxnDate: '22-03-2015',
|
||
inactiveYears: 10,
|
||
bucket: 'IBD',
|
||
principal: 15000.0,
|
||
interest: 2150.0,
|
||
total: 17150.0,
|
||
status: 'claim-pending'
|
||
},
|
||
{
|
||
acNo: '110001301010224',
|
||
customerName: 'GAURAV THAKUR',
|
||
acType: 'SB',
|
||
branch: 'Shimla Sector 4',
|
||
openedDate: '08-12-2008',
|
||
lastTxnDate: '08-06-2014',
|
||
inactiveYears: 11,
|
||
bucket: 'IBD',
|
||
principal: 3275.0,
|
||
interest: 195.0,
|
||
total: 3470.0,
|
||
status: 'claim-pending'
|
||
},
|
||
{
|
||
acNo: '110001302004088',
|
||
customerName: 'MANMOHAN SINGH GILL',
|
||
acType: 'FD',
|
||
branch: 'Amritsar Model Town',
|
||
openedDate: '19-09-2009',
|
||
lastTxnDate: '19-09-2014',
|
||
inactiveYears: 11,
|
||
bucket: 'IBD',
|
||
principal: 8500.0,
|
||
interest: 1124.0,
|
||
total: 9624.0,
|
||
status: 'refunded',
|
||
transferredOn: '15-04-2024'
|
||
}
|
||
];
|