/** * 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/. */ /** * SFT — Statement of Financial Transactions, filed under * Section 285BA of the Income Tax Act 1961 + Rule 114E, * with the Income Tax Reporting Portal (report.insight.gov.in) * by 31 May for the previous FY. * * Schema reproduces the actual SFT CSV templates; bank/customer names are dummy. * * SFT-001 Cash purchase of bank drafts / pay orders / banker's cheques (≥ ₹10 L cash) * SFT-002 Time-deposit (FD/RD) opening (≥ ₹10 L cash) * SFT-003 Cash deposits / withdrawals — current account (≥ ₹50 L per FY) * SFT-004 Cash deposits — savings account (≥ ₹10 L per FY) * SFT-015 Dividend payments * SFT-016 Interest paid on deposits */ export type SftCode = 'SFT-001' | 'SFT-002' | 'SFT-003' | 'SFT-004' | 'SFT-015' | 'SFT-016'; /** Person-wise schema (SFT-001 / 002 / 004) */ export interface SftPersonRecord { reportSerialNumber: number; originalReportSerialNumber: number; personName: string; personType: string; // I=Individual, F=Firm, P=Partnership, etc. customerIdentity: string; gender: 'M' | 'F' | 'O' | ''; fatherName: string; pan: string; aadhaar: string; form60Ack: string; identificationType: string; identificationNumber: string; dobOrIncorporation: string; nationality: string; addressType: string; fixAddress: string; city: string; postCode: string; state: string; countryCode: string; businessOrOccupation: string; primaryStdCode: string; primaryPhoneNo: string; primaryMobileNo: string; email: string; remarks: string; productType: string; // SFT-001/002/004 — DD / Pay Order / Time Deposit / SB aggGrossReceived: number; aggGrossReceivedCash: number; aggGrossPaid: number; productIdentifier: string; lastDateOfTransaction: string; amountReceivedFromPerson: number; cashAmountReceivedFromPerson: number; amountPaidToPerson: number; relatedAccountNumber: string; relatedInstituteName: string; relatedInstituteRefNumber: string; /** Which SFT code this row belongs to */ sftCode: SftCode; } /** Account-wise schema with embedded Person Card (SFT-003) */ export interface SftAccountRecord { reportSerialNumber: number; originalReportSerialNumber: number; accountType: string; accountNumber: string; accountHolderName: string; accountStatus: 'A' | 'C' | 'D'; branchReferenceNumber: string; branchName: string; branchAddress: string; branchCity: string; branchPostalCode: string; branchState: string; branchCountry: string; branchStdCode: string; branchPhone: string; branchMobile: string; branchFaxStd: string; branchFaxPhone: string; branchEmail: string; aggGrossCashCredited: number; aggGrossCashDebited: number; amountCreditedBeforeDemonetization: number; amountCreditedAfterDemonetization: number; // Person Card (PC) pcAccountRelationship: string; pcPersonName: string; pcPersonType: string; pcCustomerIdentity: string; pcGender: 'M' | 'F' | 'O' | ''; pcFatherName: string; pcPan: string; pcAadhaar: string; pcForm60Ack: string; pcIdentificationType: string; pcIdentificationNumber: string; pcDob: string; pcNationality: string; pcBusiness: string; pcAddressType: string; pcAddress: string; pcCity: string; pcPin: string; pcState: string; pcCountry: string; pcPrimaryStd: string; pcPrimaryPhone: string; pcPrimaryMobile: string; pcEmail: string; } /** Compact pipe-delimited schema (SFT-015 dividend / SFT-016 interest) */ export interface SftInterestDividendRecord { rsn: number; fy: string; name: string; pan: string; aadhaar: string; mobile: string; email: string; /** Address only present in SFT-015 */ address?: string; pincode?: string; /** Account fields only present in SFT-016 */ accountNumber?: string; typeOfAccount?: string; /** SFT-015 = dividend amount; SFT-016 = interest paid */ amount: number; sftCode: 'SFT-015' | 'SFT-016'; } export const SFT_BANK = { name: 'Bharat Urban Bank Ltd', branch: 'Head Office', filerPan: 'AABCB1100M', filerTan: 'MUMR99001E', itdReportingPortalId: 'BHARATURBAN-285BA', fy: '2025-26', filingDueDate: '31-05-2026', principalOfficer: 'Karthik Kamath', poDesignation: 'Chief Compliance Officer', branchRef: 'YESB0BHRT', branchAddress: '12 MG Road, Worli', branchCity: 'MUMBAI', branchState: 'MH', branchPostalCode: '400018', branchCountry: 'IN', branchStdCode: '022', branchPhone: '24938000', branchMobile: '9892000100', branchEmail: 'compliance@bharaturbanbank.example' }; /** ── SFT-001 / 002 / 004 — Person-wise records ── */ export const SFT_PERSON_RECORDS: SftPersonRecord[] = [ // SFT-001 — Cash purchase of DD ≥ ₹10 L { reportSerialNumber: 1, originalReportSerialNumber: 0, personName: 'RAVI KUMAR SHARMA', personType: 'I', customerIdentity: '10078', gender: 'M', fatherName: 'RAJESH KUMAR SHARMA', pan: 'AAQPS8560J', aadhaar: '', form60Ack: '', identificationType: 'C', identificationNumber: 'AAQPS8560J', dobOrIncorporation: '10-08-1985', nationality: 'IN', addressType: '2', fixAddress: 'FLAT 402 SUNRISE TOWERS MAROL ANDHERI EAST', city: 'MUMBAI', postCode: '400069', state: 'MH', countryCode: 'IN', businessOrOccupation: 'SERVICE', primaryStdCode: '', primaryPhoneNo: '', primaryMobileNo: '9892011001', email: 'ravi.sharma@example.com', remarks: '', productType: 'BANK_DRAFT', aggGrossReceived: 1500000, aggGrossReceivedCash: 1500000, aggGrossPaid: 0, productIdentifier: 'DD24304', lastDateOfTransaction: '20-01-2026', amountReceivedFromPerson: 1500000, cashAmountReceivedFromPerson: 1500000, amountPaidToPerson: 0, relatedAccountNumber: '110001101000838', relatedInstituteName: 'BHARAT URBAN BANK', relatedInstituteRefNumber: 'YESB0BHRT', sftCode: 'SFT-001' }, { reportSerialNumber: 2, originalReportSerialNumber: 0, personName: 'PRIYA PATEL', personType: 'I', customerIdentity: '10079', gender: 'F', fatherName: 'HARISH PATEL', pan: 'AKLPS9933P', aadhaar: '', form60Ack: '', identificationType: 'C', identificationNumber: 'AKLPS9933P', dobOrIncorporation: '22-03-1990', nationality: 'IN', addressType: '2', fixAddress: 'B-12 SHIVAJI NAGAR FC ROAD', city: 'PUNE', postCode: '411005', state: 'MH', countryCode: 'IN', businessOrOccupation: 'BUSINESS', primaryStdCode: '', primaryPhoneNo: '', primaryMobileNo: '9822055002', email: 'priya.patel@example.com', remarks: '', productType: 'BANKERS_CHEQUE', aggGrossReceived: 1100000, aggGrossReceivedCash: 1100000, aggGrossPaid: 0, productIdentifier: 'BC100039', lastDateOfTransaction: '02-01-2026', amountReceivedFromPerson: 1100000, cashAmountReceivedFromPerson: 1100000, amountPaidToPerson: 0, relatedAccountNumber: '110001352000357', relatedInstituteName: 'BHARAT URBAN BANK', relatedInstituteRefNumber: 'YESB0BHRT', sftCode: 'SFT-001' }, // SFT-002 — Time deposit ≥ ₹10 L cash { reportSerialNumber: 3, originalReportSerialNumber: 0, personName: 'VIKRAM REDDY', personType: 'I', customerIdentity: '20101', gender: 'M', fatherName: 'SURESH REDDY', pan: 'AAEPR9352L', aadhaar: '', form60Ack: '', identificationType: 'C', identificationNumber: 'AAEPR9352L', dobOrIncorporation: '07-07-1982', nationality: 'IN', addressType: '2', fixAddress: 'NO 23 4TH CROSS JAYANAGAR 5TH BLOCK', city: 'BENGALURU', postCode: '560041', state: 'KA', countryCode: 'IN', businessOrOccupation: 'PROFESSION', primaryStdCode: '', primaryPhoneNo: '', primaryMobileNo: '9845022004', email: '', remarks: '', productType: 'TIME_DEPOSIT', aggGrossReceived: 2500000, aggGrossReceivedCash: 2500000, aggGrossPaid: 0, productIdentifier: 'FDR-2026-001', lastDateOfTransaction: '15-09-2025', amountReceivedFromPerson: 2500000, cashAmountReceivedFromPerson: 2500000, amountPaidToPerson: 0, relatedAccountNumber: '110001352000420', relatedInstituteName: 'BHARAT URBAN BANK', relatedInstituteRefNumber: 'YESB0BHRT', sftCode: 'SFT-002' }, { reportSerialNumber: 4, originalReportSerialNumber: 0, personName: 'NIRAV SHAH', personType: 'I', customerIdentity: '40301', gender: 'M', fatherName: 'JAYESH SHAH', pan: 'AHKPS5544Z', aadhaar: '', form60Ack: '', identificationType: 'C', identificationNumber: 'AHKPS5544Z', dobOrIncorporation: '18-05-1992', nationality: 'IN', addressType: '2', fixAddress: 'A-401 ATLANTIS APARTMENTS SATELLITE ROAD', city: 'AHMEDABAD', postCode: '380015', state: 'GJ', countryCode: 'IN', businessOrOccupation: 'SERVICE', primaryStdCode: '', primaryPhoneNo: '', primaryMobileNo: '9824012010', email: 'nirav.shah@example.com', remarks: '', productType: 'TIME_DEPOSIT', aggGrossReceived: 1800000, aggGrossReceivedCash: 1800000, aggGrossPaid: 0, productIdentifier: 'FDR-2026-002', lastDateOfTransaction: '12-12-2025', amountReceivedFromPerson: 1800000, cashAmountReceivedFromPerson: 1800000, amountPaidToPerson: 0, relatedAccountNumber: '110001352000511', relatedInstituteName: 'BHARAT URBAN BANK', relatedInstituteRefNumber: 'YESB0BHRT', sftCode: 'SFT-002' }, // SFT-004 — Cash deposits in SB ≥ ₹10 L per FY { reportSerialNumber: 5, originalReportSerialNumber: 0, personName: 'KAVITA VERMA', personType: 'I', customerIdentity: '50402', gender: 'F', fatherName: 'DEEPAK VERMA', pan: 'AKHPV2244R', aadhaar: '', form60Ack: '', identificationType: 'C', identificationNumber: 'AKHPV2244R', dobOrIncorporation: '01-04-1988', nationality: 'IN', addressType: '2', fixAddress: '45 CIVIL LINES MALL ROAD', city: 'KANPUR', postCode: '208001', state: 'UP', countryCode: 'IN', businessOrOccupation: 'SERVICE', primaryStdCode: '', primaryPhoneNo: '', primaryMobileNo: '9415055014', email: '', remarks: '', productType: 'SAVINGS_DEPOSIT', aggGrossReceived: 1250000, aggGrossReceivedCash: 1250000, aggGrossPaid: 0, productIdentifier: 'SB-50402', lastDateOfTransaction: '28-01-2026', amountReceivedFromPerson: 1250000, cashAmountReceivedFromPerson: 1250000, amountPaidToPerson: 0, relatedAccountNumber: '110001101001145', relatedInstituteName: 'BHARAT URBAN BANK', relatedInstituteRefNumber: 'YESB0BHRT', sftCode: 'SFT-004' }, { reportSerialNumber: 6, originalReportSerialNumber: 0, personName: 'SAMEER KAPOOR', personType: 'I', customerIdentity: '70601', gender: 'M', fatherName: 'RAJINDER KAPOOR', pan: 'AHKPK7788Q', aadhaar: '', form60Ack: '', identificationType: 'C', identificationNumber: 'AHKPK7788Q', dobOrIncorporation: '03-02-1987', nationality: 'IN', addressType: '2', fixAddress: 'B-148 GREATER KAILASH GK PART 1', city: 'NEW DELHI', postCode: '110048', state: 'DL', countryCode: 'IN', businessOrOccupation: 'SERVICE', primaryStdCode: '', primaryPhoneNo: '', primaryMobileNo: '9811022019', email: 'sameer.kapoor@example.com', remarks: '', productType: 'SAVINGS_DEPOSIT', aggGrossReceived: 2150000, aggGrossReceivedCash: 2150000, aggGrossPaid: 0, productIdentifier: 'SB-70601', lastDateOfTransaction: '15-01-2026', amountReceivedFromPerson: 2150000, cashAmountReceivedFromPerson: 2150000, amountPaidToPerson: 0, relatedAccountNumber: '110001101001458', relatedInstituteName: 'BHARAT URBAN BANK', relatedInstituteRefNumber: 'YESB0BHRT', sftCode: 'SFT-004' } ]; /** ── SFT-003 — Account-wise (current account) cash deposits ≥ ₹50 L per FY ── */ export const SFT_ACCOUNT_RECORDS: SftAccountRecord[] = [ { reportSerialNumber: 1, originalReportSerialNumber: 0, accountType: 'BC', accountNumber: '110001101000685', accountHolderName: 'NEXTGEN TECH PVT LTD', accountStatus: 'A', branchReferenceNumber: 'YESB0BHRT', branchName: 'HEAD OFFICE', branchAddress: '12 MG ROAD WORLI MUMBAI 400018', branchCity: 'MUMBAI', branchPostalCode: '400018', branchState: 'MH', branchCountry: 'IN', branchStdCode: '022', branchPhone: '24938000', branchMobile: '9892000100', branchFaxStd: '022', branchFaxPhone: '24938011', branchEmail: 'compliance@bharaturbanbank.example', aggGrossCashCredited: 6500000, aggGrossCashDebited: 4200000, amountCreditedBeforeDemonetization: 0, amountCreditedAfterDemonetization: 0, pcAccountRelationship: 'F', pcPersonName: 'NEXTGEN TECH PVT LTD', pcPersonType: 'PF', pcCustomerIdentity: 'E10102', pcGender: '', pcFatherName: '', pcPan: 'AABCN5566K', pcAadhaar: '', pcForm60Ack: '', pcIdentificationType: 'C', pcIdentificationNumber: 'AABCN5566K', pcDob: '18-09-2015', pcNationality: 'IN', pcBusiness: 'IT_SERVICES', pcAddressType: '2', pcAddress: 'TOWER B SUNRISE BUSINESS PARK ANDHERI EAST', pcCity: 'MUMBAI', pcPin: '400093', pcState: 'MH', pcCountry: 'IN', pcPrimaryStd: '', pcPrimaryPhone: '', pcPrimaryMobile: '9824012011', pcEmail: '' }, { reportSerialNumber: 2, originalReportSerialNumber: 0, accountType: 'BC', accountNumber: '110001101000922', accountHolderName: 'BHARAT TRADING COMPANY (PROP. RAVI KUMAR SHARMA)', accountStatus: 'A', branchReferenceNumber: 'YESB0BHRT', branchName: 'HEAD OFFICE', branchAddress: '12 MG ROAD WORLI MUMBAI 400018', branchCity: 'MUMBAI', branchPostalCode: '400018', branchState: 'MH', branchCountry: 'IN', branchStdCode: '022', branchPhone: '24938000', branchMobile: '9892000100', branchFaxStd: '022', branchFaxPhone: '24938011', branchEmail: 'compliance@bharaturbanbank.example', aggGrossCashCredited: 5800000, aggGrossCashDebited: 3450000, amountCreditedBeforeDemonetization: 0, amountCreditedAfterDemonetization: 0, pcAccountRelationship: 'F', pcPersonName: 'BHARAT TRADING COMPANY', pcPersonType: 'PF', pcCustomerIdentity: 'E10101', pcGender: '', pcFatherName: '', pcPan: 'ABCFB1234N', pcAadhaar: '', pcForm60Ack: '', pcIdentificationType: 'C', pcIdentificationNumber: 'ABCFB1234N', pcDob: '24-03-2008', pcNationality: 'IN', pcBusiness: 'TRADING', pcAddressType: '2', pcAddress: 'GALA 22 LOWER PAREL', pcCity: 'MUMBAI', pcPin: '400013', pcState: 'MH', pcCountry: 'IN', pcPrimaryStd: '', pcPrimaryPhone: '', pcPrimaryMobile: '9892011010', pcEmail: '' } ]; /** ── SFT-015 / SFT-016 — Pipe-delimited interest & dividend ── */ export const SFT_INT_DIV_RECORDS: SftInterestDividendRecord[] = [ // SFT-016 — Interest paid to depositors { rsn: 1, fy: '2025-26', name: 'RAVI KUMAR SHARMA', pan: 'AAQPS8560J', aadhaar: 'XXXXXXXX1234', mobile: '9892011001', email: 'ravi.sharma@example.com', accountNumber: '110001302000312', typeOfAccount: 'FD', amount: 56250, sftCode: 'SFT-016' }, { rsn: 2, fy: '2025-26', name: 'PRIYA PATEL', pan: 'AKLPS9933P', aadhaar: 'XXXXXXXX2210', mobile: '9822055002', email: 'priya.patel@example.com', accountNumber: '110001302000418', typeOfAccount: 'FD', amount: 41280, sftCode: 'SFT-016' }, { rsn: 3, fy: '2025-26', name: 'VIKRAM REDDY', pan: 'AAEPR9352L', aadhaar: 'XXXXXXXX6622', mobile: '9845022004', email: '', accountNumber: '110001302000711', typeOfAccount: 'FD', amount: 73500, sftCode: 'SFT-016' }, { rsn: 4, fy: '2025-26', name: 'LAKSHMI IYER', pan: '', aadhaar: 'XXXXXXXX5511', mobile: '9845066005', email: '', accountNumber: '110001301000814', typeOfAccount: 'SB', amount: 18420, sftCode: 'SFT-016' }, { rsn: 5, fy: '2025-26', name: 'NIRAV SHAH', pan: 'AHKPS5544Z', aadhaar: 'XXXXXXXX9933', mobile: '9824012010', email: 'nirav.shah@example.com', accountNumber: '110001352000511', typeOfAccount: 'FD', amount: 124200, sftCode: 'SFT-016' }, { rsn: 6, fy: '2025-26', name: 'KAVITA VERMA', pan: 'AKHPV2244R', aadhaar: 'XXXXXXXX1144', mobile: '9415055014', email: '', accountNumber: '110001101001145', typeOfAccount: 'SB', amount: 9850, sftCode: 'SFT-016' }, { rsn: 7, fy: '2025-26', name: 'SAMEER KAPOOR', pan: 'AHKPK7788Q', aadhaar: 'XXXXXXXX8877', mobile: '9811022019', email: 'sameer.kapoor@example.com', accountNumber: '110001304001458', typeOfAccount: 'TL', amount: 285600, sftCode: 'SFT-016' }, // SFT-015 — Dividend payments (bank as paying entity, e.g. on shares held) { rsn: 8, fy: '2025-26', name: 'ABHISHEK BANERJEE', pan: 'AHKPK7788Q', aadhaar: 'XXXXXXXX3344', mobile: '9831022021', email: 'abhishek.b@example.com', address: '14/B SALT LAKE SECTOR V BIDHANNAGAR', pincode: '700091', amount: 24500, sftCode: 'SFT-015' }, { rsn: 9, fy: '2025-26', name: 'GAURAV THAKUR', pan: 'AILPT4455G', aadhaar: 'XXXXXXXX5566', mobile: '9418022023', email: '', address: 'HOUSE 7 NEW SHIMLA SECTOR 4', pincode: '171002', amount: 18750, sftCode: 'SFT-015' }, { rsn: 10, fy: '2025-26', name: 'MANMOHAN SINGH GILL', pan: 'ANBPG2233J', aadhaar: '', mobile: '9876022027', email: 'manmohan.gill@example.com', address: 'H 32 MODEL TOWN MAJITHA ROAD AMRITSAR', pincode: '143001', amount: 35200, sftCode: 'SFT-015' } ];