ℹ️ Developer Note: All reports must support date range filter + branch filter + export (Excel/PDF). Scheduled reports sent via email at configured times. MFI module activates additional masters: Field Unit, Member Group. System Utilities are HO Admin only.
πŸ“Š

Form 1: Reports & MIS Filter Form

All Roles (Role-filtered) β†’ Reports Module | Every report uses this filter
πŸ”§ Dev Note: Common filter component reused across all reports. Based on user's role/branch, the Branch dropdown auto-restricts. HO Admin sees All Branches. Export buttons call server-side PDF/Excel generators. Scheduled Email: store config in tbl_report_schedule(report_type, frequency, recipients, last_sent).
πŸ“Œ Each report type maps to a specific stored procedure / query
πŸ“Œ Branch Manager sees only their branch. HO sees all.
πŸ“Œ All reports use Financial Year date boundaries
πŸ“‹ Available Reports Quick Reference

πŸ“… Collection Sheet

Shows all EMIs due today. Ordered Near to Far by GPS location. Field officers use this for daily collection route.

DailyField Officer

πŸ“‰ Minus Sheet

Remaining pending EMI collections. Shows gap between expected and actual collections.

DailyBranch Manager

πŸ“’ Day Book

All financial transactions of the day. Debit / Credit entries with narration. Generated after Day Closing.

AccountingAccountant

⚠️ NPA Summary

All NPA accounts with DPD, outstanding, classification, and provision amount.

MonthlyHO Admin

πŸ“ˆ PAR Report

Portfolio at Risk = (Overdue Portfolio / Total Portfolio) Γ— 100. RBI compliance metric.

RBIHO

πŸ’° Trial Balance

All GL accounts with Opening, Dr, Cr, Closing balances. Multiple formats available.

AccountingAccountant

πŸ“Š Branch Ranking

Branches ranked by disbursement, collection efficiency, NPA%. Used in HO performance monitoring.

MonthlyHO Admin

πŸ›οΈ NBS-1 / NBS-2

RBI statutory returns. Generated quarterly. Submitted to RBI for NBFC compliance.

RBIQuarterly

πŸ§‘β€πŸ’Ό Advisor Report

Business sourced by each advisor/agent. Commission calculation basis. Loan disbursed, outstanding, collected.

MonthlyBranch Manager
πŸ“§

Form 2: Scheduled MIS Report Configuration

HO Admin β†’ System Config β†’ Report Schedule | Auto-email at configured time
πŸ”§ Dev Note: Use a job scheduler (cron/task scheduler) to trigger reports at configured times. Table: tbl_report_schedule. Fields: report_type, frequency, time_of_day, recipients (JSON array of emails), branch_filter, format (PDF/Excel), active_flag, last_run, next_run.
πŸ“Œ Report generated and emailed at this time daily/weekly/monthly
πŸ“Œ Multiple emails comma-separated. Stored as JSON array in DB.
πŸ–₯️

Form 3: HO Dashboard – Real-Time KPIs

HO Admin β†’ Dashboard | Auto-refreshing real-time performance indicators
πŸ”§ Dev Note: Dashboard widgets are read-only data panels. "Show More" button on Loan Due Today and Loan Pending cards loads detailed drilldown list. Implement with auto-refresh (every 5 min). Each widget = a separate optimized DB view/stored procedure. Store widget config in tbl_dashboard_config(role_id, widget_name, visible, position).

πŸ’° Loans Due Today

Count + Amount of EMIs due today across all branches. "Show More" β†’ drilldown list.

Real-timeClickable

⏳ Loan Pending Approvals

Count of loan applications pending at each approval level. "Show More" β†’ approval queue.

Real-timeActionable

πŸ“‰ NPA Count & Amount

Total NPA accounts and outstanding. Classified by SMA-1, SMA-2, NPA categories.

Daily

πŸ“Š Portfolio Outstanding

Total active loan portfolio across all branches and schemes.

Real-time

πŸ† Branch Ranking

Top/bottom performing branches by collection efficiency and disbursement.

Monthly

πŸ’΅ Income vs Target

Interest income, processing fee income vs monthly target. Progress bar display.

Monthly
πŸ‘₯

Form 4: MFI – Field Unit / Centre Creation

MFI Mode Only β†’ Master Setup β†’ Field Unit | Visible only when MFI scheme active
πŸ”§ Dev Note: MFI mode requires two additional masters: tbl_field_unit (Centre) and tbl_member_group. Field Unit β†’ Member Group β†’ Member hierarchy. Member Group dropdown in Customer Registration filters by Field Unit. Centre Collection (weekly meeting) is done at Field Unit level. Tables: tbl_field_unit(id, name, branch_id, field_officer_id, meeting_day, meeting_time).
πŸ“Œ Used in: Member registration, centre collection sheet
πŸ“Œ FK: Branch_ID. Centre data accessible only to this branch.
πŸ“Œ Responsible for weekly meeting collection at this centre
πŸ“Œ Weekly EMI collection happens on this day at meeting
πŸ‘₯ Member Group Creation (Under Field Unit)
πŸ”§ Dev Note: Member Group is a sub-set of a Field Unit. Each group has a Group Leader. Table: tbl_member_group(id, name, field_unit_id, leader_customer_id, max_members). Members are linked to a group in tbl_member_master.member_group_id. Joint Liability Agreement (JLA) must be signed for group and stored as document.
πŸ“Œ Leader signs JLA on behalf of group
πŸ“Œ Signed document. Uploaded after group formation meeting.
πŸ’°

Form 5: MFI Centre / Group Collection

Field Officer β†’ Weekly Meeting β†’ Bulk EMI Collection for all group members
πŸ”§ Dev Note: Centre Collection is a bulk receipt entry screen. Field Officer selects Centre + Meeting Date β†’ system lists all members with pending EMIs. Officer enters amount received against each member. On save: individual receipts created for each member in tbl_receipts. Group-level overdue monitoring: if any member is overdue β†’ group flagged. Bulk SMS to overdue members in the group.
1. Select Centre
2. Meeting Date
3. Enter Collections
4. Confirm & Print
πŸ“‹ Member Collection Entry (Auto-loaded after Centre selection)
Member Name Loan A/c EMI Due (β‚Ή) Amount Received (β‚Ή) Mode Remarks
Sunita Devi BR001-MFI-001 2,000
Meena Singh BR001-MFI-002 2,000
Rajkumari BR001-MFI-003 ⚠️ 2,000 (OVERDUE)
Total Expected: β‚Ή6,000  |  Total Entered: β‚Ή[Auto-sum]  |  Shortfall: β‚Ή[Auto-calc]
πŸ‘€

Form 6: Employee Master & Attendance

HR Module β†’ Employee Management | Table: tbl_employees, tbl_attendance
πŸ”§ Dev Note: Employee Master is separate from User Login. An employee may or may not be a system user. Salary calculation runs monthly based on attendance records. Table: tbl_employees(emp_id, name, branch_id, designation, doj, basic_salary, allowances, bank_account). Attendance: tbl_attendance(emp_id, date, status[P/A/H/L]).
πŸ“Œ PF deduction affects net salary calculation
πŸ’Ό

Form 7: Monthly Salary Processing

Accountant / HR β†’ Month-end | Calculates salary based on attendance
πŸ”§ Dev Note: Salary = (Basic + HRA + Allowances) Γ— (Present Days / Working Days) βˆ’ PF_Employee βˆ’ TDS βˆ’ Other_Deductions. GL Entry: Salary Expense A/c Dr β†’ Cash/Bank A/c Cr (net pay) + PF Payable Cr + TDS Payable Cr. Salary Slip auto-generated as PDF. Store in tbl_salary_slips(emp_id, month, gross, deductions, net, generated_by, approved_by).
πŸ“±

Form 8: SMS Gateway & Email Server Setup

HO Admin Only β†’ System Config β†’ Communication Settings
πŸ”§ Dev Note: SMS is used for: EMI reminders, OTP, overdue alerts, receipt confirmation, disbursement notification. Use third-party SMS API (e.g., Msg91, TextLocal). Email for: MIS reports, scheduled statements, maker-checker notifications. Store config in tbl_system_config with key-value pairs. Passwords stored encrypted.
πŸ“± SMS Gateway Configuration
πŸ“Œ Stored encrypted in DB. Never display in plain text.
πŸ“Œ DLT-registered sender ID. Required for Indian SMS compliance.
πŸ“Œ TRAI DLT compliance for India. Store in system config.
πŸ“§ Email Server Configuration
πŸ’Ύ

Form 9: Backup & System Utilities

HO Admin Only β†’ System Config β†’ Backup, FY Change, Data Freeze
πŸ”§ Dev Note: Backup Scheduler: configure cron job for DB backup. Store backup logs in tbl_backup_log(id, backup_date, size_mb, status, storage_path). Financial Year Change: runs stored procedure to carry forward balances. Data Freeze is irreversible β€” add confirmation dialog with admin password re-entry.
πŸ”„ Backup Scheduler
πŸ“Œ Triggers automated DB backup. Store to local + cloud.
πŸ“Œ Run at off-peak hours (e.g. 2 AM)
πŸ“… Financial Year Change
πŸ“Œ Carries forward all GL closing balances as opening balances.
❄️ Data Freeze (Post-Audit)
πŸ“Œ ⚠️ IRREVERSIBLE. After freeze: No edit/delete allowed for that FY.
πŸ“Œ Extra security confirmation before freeze
πŸ”

Form 10: Audit Trail Viewer

HO Admin / Auditor β†’ Every action in system is logged here
πŸ”§ Dev Note: Every Add/Edit/Delete/Approve action creates a log in tbl_audit_log(id, user_id, action_type, module, record_id, before_value JSON, after_value JSON, ip_address, datetime, branch_id). Audit log is APPEND-ONLY β€” never allow delete/update. This table is shown in read-only view here. IP Address capturing: use request headers (X-Forwarded-For for proxy environments). Before/After stored as JSON diff.
πŸ“‹ Audit Log Sample View (Read-Only)
Date & Time User Module Action Record IP Address Before β†’ After
21-Feb-2024 10:23:45 rajesh.kumar EMI Collection ADD RCP-BR001-0045 192.168.1.12 NULL β†’ Amount: 5200, Mode: Cash
21-Feb-2024 09:15:22 priya.sharma Customer EDIT MEM-00123 192.168.1.15 Mobile: 9876543210 β†’ 9999988888
20-Feb-2024 18:05:11 amit.ho Loan Approval APPROVE LA-BR001-2024-0089 10.0.0.5 Status: SUBMITTED β†’ APPROVED

πŸ“ Complete File Index – NBFC LMS Documentation

πŸ“„ File 1: 01_setup_admin_forms.html
HO Creation, Regional Office, Branch, User Role, Permission Matrix, User Creation, Maker-Checker Config, Financial Year
πŸ“„ File 2: 02_customer_loan_forms.html
Loan Scheme Config, Customer Registration, KYC Upload & Verification, Loan Application, Gold Loan, Ornament Entry, Eligibility & Approval
πŸ“„ File 3: 03_operations_forms.html
EMI Schedule View, EMI Collection/Receipt, Disbursement, Overdue Tracking, NPA Classification, Provisioning, Accounting/GL, Day Closing, Loan Closure, Foreclosure, Auction
πŸ“„ File 4: 04_reports_mfi_utilities.html
Reports & MIS, Scheduled Reports, HO Dashboard, MFI Field Unit, Member Group, Centre Collection, Employee, Salary, SMS/Email Config, Backup, Audit Trail
All forms: Mandatory fields marked with * β€’ Maker-Checker enforced on financial transactions β€’ Audit log on every action β€’ Double-entry GL auto-generated