Files
cbsnexora/src/app/fiu/fiu-data.ts
T

638 lines
18 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 FIU-IND data — schema mirrors the FINnet 2.0 CSV submission templates
* (TC1, TC2, KC1, KC2, Account_Detail, Account_Person_Relation).
* Bank/customer names are dummy placeholders.
*
* Reports filed with FIU-IND under PMLA 2002:
* CTR — Cash Transaction Report (≥ ₹10 L cash, monthly by 15th)
* STR — Suspicious Transaction Report (within 7 days of detection)
* CCR — Counterfeit Currency Report
* NTR — NPO Transaction Report (≥ ₹10 L, NGO/NPO clients)
* CBWTR — Cross-Border Wire Transfer Report (≥ ₹5 L)
*/
export type ReportType = 'CTR' | 'STR' | 'CCR' | 'NTR' | 'CBWTR';
export type StrStatus = 'draft' | 'po-review' | 'filed' | 'rejected';
/** TC2 — Branch / cash transaction record */
export interface CtrTransaction {
reportType: ReportType;
reportRefNo: number;
branchCode: string;
accountNumber: string;
txnBranchCode: string;
depositOrWithdrawal: 'Deposit' | 'Withdrawal';
txnId: number;
txnDate: string;
txnTime: string;
txnAmount: number;
instrumentType: 'Cash' | 'Cheque' | 'DD' | 'NEFT' | 'RTGS' | 'Others';
instrumentId: string;
nonCustomerRef: string;
relationshipFlag: 'Customer' | 'Non-Customer';
thirdPartyPan: string;
declaration: string;
/** Customer name resolved from KC1 (UI convenience, not in actual TC2 schema) */
customerName?: string;
complianceStatus?: 'PENDING' | 'WHITELISTED' | 'SUSPICIOUS';
}
/** Outcome of the Principal Officer's investigation into an STR case */
export type PoFinding = 'CLEAN' | 'SUSPICIOUS';
/** STR record — workflow extension on top of TC2 */
export interface StrTransaction extends CtrTransaction {
detectedOn: string;
flaggedBy: string;
riskCategory:
| 'structuring'
| 'dormant-revival'
| 'high-risk-country'
| 'unusual-pattern'
| 'pep-related'
| 'sanctions-hit';
narrative: string;
status: StrStatus;
poRemarks?: string;
/** Set once the Principal Officer concludes the investigation */
poFinding?: PoFinding;
}
/** KC1 — Individual customer card (subset of the 70+ fields, only what UI shows) */
export interface KycIndividual {
reportRefNo: number;
ucic: string;
pan: string;
ckycNumber: string;
firstName: string;
middleName: string;
lastName: string;
fatherName: string;
motherName: string;
gender: 'Male' | 'Female' | 'Other';
dob: string;
mobileNumber: string;
email: string;
primaryAddress: string;
state: string;
city: string;
pincode: string;
customerType: string;
annualIncome: number;
occupation: string;
onboardingDate: string;
lastKycDate: string;
riskLevel: 'Low' | 'Medium' | 'High';
reportType: ReportType;
otherIdentifierName?: string;
otherIdentifierNumber?: string;
}
/** KC2 — Entity / non-individual customer card */
export interface KycEntity {
reportRefNo: number;
ucic: string;
entityName: string;
panNumber: string;
gstin: string;
mobileNumber: string;
address: string;
state: string;
city: string;
pincode: string;
dateOfIncorporation: string;
customerType: string;
riskLevel: 'Low' | 'Medium' | 'High';
onboardingDate: string;
lastKycDate: string;
isSoleProprietor: boolean;
ownerUcic: string;
ownerName: string;
reportType: ReportType;
}
export const FIU_BANK = {
name: 'CBSNexora Bank Ltd',
branch: 'Head Office',
reBankingFlag: 'SCB',
reportingMonth: 'January 2026',
reBuid: 'REBANK-2031',
principalOfficer: 'Karthik Kamath',
principalOfficerEmail: 'po.fiu@cbsnexorabank.example',
filerUserId: 'PO-001',
cashThreshold: 1000000, // ₹10 L per single cash txn
monthlyAggThreshold: 1000000, // aggregate ≥ ₹10 L in a month
cbwtrThreshold: 500000 // CBWTR threshold ₹5 L
};
/**
* ── CTR transactions (FINnet TC2-style) ──
* Only CASH transactions that breach the RBI/PMLA reporting limit of ₹10,00,000
* (single txn, or connected transactions aggregating to ₹10 L in a calendar month)
* belong here. Nothing below the threshold and no non-cash instruments.
*/
export const CTR_TXNS: CtrTransaction[] = [
{
reportType: 'CTR',
reportRefNo: 1,
branchCode: '1',
accountNumber: '110001101000838',
txnBranchCode: '1',
depositOrWithdrawal: 'Deposit',
txnId: 1,
txnDate: '05-01-2026',
txnTime: '10:22:41',
txnAmount: 1450000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'ANAND KRISHNAN'
},
{
reportType: 'CTR',
reportRefNo: 2,
branchCode: '3',
accountNumber: '110001204000712',
txnBranchCode: '3',
depositOrWithdrawal: 'Deposit',
txnId: 2,
txnDate: '09-01-2026',
txnTime: '12:47:09',
txnAmount: 3200000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'MEERA SUNDARAM'
},
{
reportType: 'CTR',
reportRefNo: 3,
branchCode: '6',
accountNumber: '110001307000455',
txnBranchCode: '6',
depositOrWithdrawal: 'Withdrawal',
txnId: 3,
txnDate: '13-01-2026',
txnTime: '15:03:55',
txnAmount: 1075000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'HARPREET SINGH BEDI'
},
{
reportType: 'CTR',
reportRefNo: 4,
branchCode: '2',
accountNumber: '110001408000933',
txnBranchCode: '2',
depositOrWithdrawal: 'Deposit',
txnId: 4,
txnDate: '16-01-2026',
txnTime: '11:19:27',
txnAmount: 5600000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'FAROOQ ABDULLAH KHAN'
},
{
reportType: 'CTR',
reportRefNo: 5,
branchCode: '9',
accountNumber: '110001509000268',
txnBranchCode: '9',
depositOrWithdrawal: 'Withdrawal',
txnId: 5,
txnDate: '20-01-2026',
txnTime: '14:35:12',
txnAmount: 2850000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'DEEPIKA RANGANATHAN'
},
{
reportType: 'CTR',
reportRefNo: 6,
branchCode: '5',
accountNumber: '110001610000841',
txnBranchCode: '5',
depositOrWithdrawal: 'Deposit',
txnId: 6,
txnDate: '23-01-2026',
txnTime: '09:58:33',
txnAmount: 1000000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'RAJENDRA PRASAD YADAV'
},
{
reportType: 'CTR',
reportRefNo: 7,
branchCode: '12',
accountNumber: '110001711000527',
txnBranchCode: '12',
depositOrWithdrawal: 'Deposit',
txnId: 7,
txnDate: '27-01-2026',
txnTime: '16:41:08',
txnAmount: 4300000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: 'NCR-014',
relationshipFlag: 'Non-Customer',
thirdPartyPan: 'BXKPT7788M',
declaration: 'NA',
customerName: 'SHABANA TARIQ MIRZA'
}
];
/**
* ── STR cases ──
* Raised either by the AML rules engine or by an officer flagging a CTR row as
* suspicious. Each case is investigated by the Principal Officer, who concludes
* whether the funds are legitimate (CLEAN) or linked to terror financing.
*/
export const STR_TXNS: StrTransaction[] = [
{
reportType: 'STR',
reportRefNo: 101,
branchCode: '8',
accountNumber: '110001812000390',
txnBranchCode: '8',
depositOrWithdrawal: 'Deposit',
txnId: 101,
txnDate: '11-01-2026',
txnTime: '13:08:21',
txnAmount: 2750000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'IMRAN SHEIKH QURESHI',
detectedOn: '12-01-2026',
flaggedBy: 'AML Engine — Rule R-031',
riskCategory: 'sanctions-hit',
narrative:
'Cash deposit of ₹27.5L followed within 48 hours by outward remittances to three beneficiaries whose names partially match the UAPA Schedule IV designated-persons list. Awaiting Principal Officer investigation.',
status: 'po-review'
},
{
reportType: 'STR',
reportRefNo: 102,
branchCode: '4',
accountNumber: '110001915000174',
txnBranchCode: '4',
depositOrWithdrawal: 'Deposit',
txnId: 102,
txnDate: '07-01-2026',
txnTime: '10:44:52',
txnAmount: 1980000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'GOPAL VENKATARAMAN',
detectedOn: '08-01-2026',
flaggedBy: 'Branch Compliance Officer',
riskCategory: 'unusual-pattern',
narrative:
'Declared annual income ₹6L but deposited ₹19.8L cash in a single visit. Customer produced sale deed for ancestral agricultural land.',
status: 'draft',
poFinding: 'CLEAN',
poRemarks:
'Source of funds verified against registered sale deed dated 02-01-2026 and buyer bank statement. Legitimate agricultural land sale — no adverse findings. Case closed, no STR filed with FIU-IND.'
},
{
reportType: 'STR',
reportRefNo: 103,
branchCode: '10',
accountNumber: '110002016000628',
txnBranchCode: '10',
depositOrWithdrawal: 'Withdrawal',
txnId: 103,
txnDate: '19-01-2026',
txnTime: '16:27:40',
txnAmount: 3400000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'ABDUL RAHMAN BAIG',
detectedOn: '20-01-2026',
flaggedBy: 'AML Engine — Rule R-045',
riskCategory: 'high-risk-country',
narrative:
'Account credited by 14 small inward remittances from a FATF high-risk jurisdiction over 9 days, then emptied via ₹34L cash withdrawal at a border-district branch. Classic terror-funding placement-and-dispersal pattern.',
status: 'filed',
poFinding: 'SUSPICIOUS',
poRemarks:
'Investigation confirmed layered inward remittances from a designated high-risk corridor with no commercial rationale. Beneficial owner could not evidence source. STR filed with FIU-IND under PMLA s.12; acknowledgement STR-2026-10457. Account frozen and reported to the Nodal Officer.'
},
{
reportType: 'STR',
reportRefNo: 104,
branchCode: '1',
accountNumber: '110002117000315',
txnBranchCode: '1',
depositOrWithdrawal: 'Deposit',
txnId: 104,
txnDate: '24-01-2026',
txnTime: '11:52:14',
txnAmount: 2300000,
instrumentType: 'Cash',
instrumentId: 'CASH',
nonCustomerRef: '',
relationshipFlag: 'Customer',
thirdPartyPan: '',
declaration: 'NA',
customerName: 'SUNITA CHAUDHARY',
detectedOn: '25-01-2026',
flaggedBy: 'AML Engine — Rule R-018',
riskCategory: 'structuring',
narrative:
'Six cash deposits of ₹3.8L each across four branches on the same day, aggregating ₹23L — deliberate splitting to stay under the ₹10L single-transaction CTR limit.',
status: 'po-review'
}
];
/** ── KC1 individual customer cards (one per CTR report reference) ── */
export const KC1_INDIVIDUALS: KycIndividual[] = [
{
reportRefNo: 1,
ucic: '30115',
pan: 'AFTPK4471B',
ckycNumber: '60031115447722',
firstName: 'ANAND',
middleName: '',
lastName: 'KRISHNAN',
fatherName: 'SUBRAMANIAN KRISHNAN',
motherName: 'VASANTHA KRISHNAN',
gender: 'Male',
dob: '14-06-1979',
mobileNumber: '91-9840133015',
email: 'anand.krishnan@example.com',
primaryAddress: 'NO 18 SECOND STREET ADYAR',
state: 'TN',
city: 'CHENNAI',
pincode: '600020',
customerType: 'Individual',
annualIncome: 2200000,
occupation: 'Business',
onboardingDate: '22-07-2016',
lastKycDate: '18-06-2025',
riskLevel: 'Medium',
reportType: 'CTR',
otherIdentifierName: 'AADHAAR',
otherIdentifierNumber: 'XXXXXXXX4471'
},
{
reportRefNo: 2,
ucic: '30228',
pan: 'AJSPS6612D',
ckycNumber: '60032228661133',
firstName: 'MEERA',
middleName: '',
lastName: 'SUNDARAM',
fatherName: 'RAGHAVAN SUNDARAM',
motherName: 'KALYANI SUNDARAM',
gender: 'Female',
dob: '29-11-1986',
mobileNumber: '91-9886044028',
email: 'meera.sundaram@example.com',
primaryAddress: 'FLAT 9C BRIGADE HERITAGE WHITEFIELD',
state: 'KA',
city: 'BENGALURU',
pincode: '560066',
customerType: 'Individual',
annualIncome: 3600000,
occupation: 'Business',
onboardingDate: '11-01-2019',
lastKycDate: '05-05-2025',
riskLevel: 'High',
reportType: 'CTR',
otherIdentifierName: 'AADHAAR',
otherIdentifierNumber: 'XXXXXXXX6612'
},
{
reportRefNo: 3,
ucic: '30334',
pan: 'AMBPB9027F',
ckycNumber: '',
firstName: 'HARPREET',
middleName: 'SINGH',
lastName: 'BEDI',
fatherName: 'GURMEET SINGH BEDI',
motherName: 'JASWINDER KAUR',
gender: 'Male',
dob: '03-02-1974',
mobileNumber: '91-9815066034',
email: '',
primaryAddress: 'HOUSE 221 SECTOR 34A CHANDIGARH ROAD',
state: 'PB',
city: 'LUDHIANA',
pincode: '141001',
customerType: 'Individual',
annualIncome: 1450000,
occupation: 'Business',
onboardingDate: '30-08-2012',
lastKycDate: '14-03-2025',
riskLevel: 'Medium',
reportType: 'CTR',
otherIdentifierName: 'AADHAAR',
otherIdentifierNumber: 'XXXXXXXX9027'
},
{
reportRefNo: 4,
ucic: '30447',
pan: 'ANQPK3358H',
ckycNumber: '60034447335844',
firstName: 'FAROOQ',
middleName: 'ABDULLAH',
lastName: 'KHAN',
fatherName: 'ISHTIAQ AHMED KHAN',
motherName: 'NASREEN BEGUM',
gender: 'Male',
dob: '17-09-1981',
mobileNumber: '91-9701077047',
email: 'farooq.khan@example.com',
primaryAddress: '12-2-417 MEHDIPATNAM MAIN ROAD',
state: 'TG',
city: 'HYDERABAD',
pincode: '500028',
customerType: 'Individual',
annualIncome: 890000,
occupation: 'Business',
onboardingDate: '05-04-2020',
lastKycDate: '09-01-2025',
riskLevel: 'High',
reportType: 'CTR',
otherIdentifierName: 'PASSPORT',
otherIdentifierNumber: 'P3358214'
},
{
reportRefNo: 5,
ucic: '30552',
pan: 'APLPR7783C',
ckycNumber: '60035552778355',
firstName: 'DEEPIKA',
middleName: '',
lastName: 'RANGANATHAN',
fatherName: 'MOHAN RANGANATHAN',
motherName: 'SHOBHA RANGANATHAN',
gender: 'Female',
dob: '08-12-1991',
mobileNumber: '91-9739088052',
email: 'deepika.r@example.com',
primaryAddress: 'VILLA 7 PALM MEADOWS SARJAPUR ROAD',
state: 'KA',
city: 'BENGALURU',
pincode: '560035',
customerType: 'Individual',
annualIncome: 2750000,
occupation: 'Profession',
onboardingDate: '19-06-2021',
lastKycDate: '27-07-2025',
riskLevel: 'Low',
reportType: 'CTR',
otherIdentifierName: 'AADHAAR',
otherIdentifierNumber: 'XXXXXXXX7783'
},
{
reportRefNo: 6,
ucic: '30669',
pan: 'AQWPY2194K',
ckycNumber: '',
firstName: 'RAJENDRA',
middleName: 'PRASAD',
lastName: 'YADAV',
fatherName: 'BHOLA NATH YADAV',
motherName: 'KAMLA DEVI',
gender: 'Male',
dob: '25-05-1968',
mobileNumber: '91-9451099069',
email: '',
primaryAddress: '78 GOMTI NAGAR VIBHUTI KHAND',
state: 'UP',
city: 'LUCKNOW',
pincode: '226010',
customerType: 'Individual',
annualIncome: 640000,
occupation: 'Agriculture',
onboardingDate: '17-10-2014',
lastKycDate: '22-11-2024',
riskLevel: 'Low',
reportType: 'CTR',
otherIdentifierName: 'AADHAAR',
otherIdentifierNumber: 'XXXXXXXX2194'
},
{
reportRefNo: 7,
ucic: '30774',
pan: 'BXKPT7788M',
ckycNumber: '',
firstName: 'SHABANA',
middleName: 'TARIQ',
lastName: 'MIRZA',
fatherName: 'TARIQ HUSSAIN MIRZA',
motherName: 'RUKHSANA MIRZA',
gender: 'Female',
dob: '11-03-1989',
mobileNumber: '91-9958100074',
email: '',
primaryAddress: '54 ZAKIR NAGAR OKHLA',
state: 'DL',
city: 'NEW DELHI',
pincode: '110025',
customerType: 'Individual',
annualIncome: 720000,
occupation: 'Self-Employed',
onboardingDate: '02-02-2023',
lastKycDate: '16-08-2025',
riskLevel: 'High',
reportType: 'CTR',
otherIdentifierName: 'AADHAAR',
otherIdentifierNumber: 'XXXXXXXX7788'
}
];
/** ── KC2 entity customer cards ── */
export const KC2_ENTITIES: KycEntity[] = [
{
reportRefNo: 2,
ucic: 'E30228',
entityName: 'SUNDARAM BULLION TRADERS',
panNumber: 'AAGFS3391Q',
gstin: '29AAGFS3391Q1ZP',
mobileNumber: '91-9886044028',
address: 'SHOP 14 COMMERCIAL STREET SHIVAJI NAGAR',
state: 'KA',
city: 'BENGALURU',
pincode: '560001',
dateOfIncorporation: '11-01-2019',
customerType: 'Sole Proprietor',
riskLevel: 'High',
onboardingDate: '11-01-2019',
lastKycDate: '05-05-2025',
isSoleProprietor: true,
ownerUcic: '30228',
ownerName: 'MEERA SUNDARAM',
reportType: 'CTR'
},
{
reportRefNo: 4,
ucic: 'E30447',
entityName: 'DECCAN SCRAP & METALS PVT LTD',
panNumber: 'AABCD8842R',
gstin: '36AABCD8842R1ZN',
mobileNumber: '91-9701077047',
address: 'PLOT 61 IDA JEEDIMETLA PHASE II',
state: 'TG',
city: 'HYDERABAD',
pincode: '500055',
dateOfIncorporation: '05-04-2020',
customerType: 'Private Limited',
riskLevel: 'High',
onboardingDate: '05-04-2020',
lastKycDate: '09-01-2025',
isSoleProprietor: false,
ownerUcic: '',
ownerName: '',
reportType: 'CTR'
}
];