Module: EMI Collection, Overdue/NPA Tracking, Accounting/GL & Loan Closure
tbl_emi_schedule(loan_id, emi_no, due_date, principal, interest, total_emi, balance_outstanding, status, paid_date, paid_amount).
Status values: PENDING / PAID / PARTIALLY_PAID / OVERDUE / WAIVED. Re-generate schedule if
prepayment or interest rate change occurs.
| EMI # | Due Date | Principal (โน) | Interest (โน) | Total EMI (โน) | Outstanding (โน) | Status | Paid Date |
|---|---|---|---|---|---|---|---|
| 1 | 01-Mar-2024 | 4,200 | 1,000 | 5,200 | 95,800 | PAID | 01-Mar-2024 |
| 2 | 01-Apr-2024 | 4,250 | 950 | 5,200 | 91,550 | PAID | 30-Mar-2024 |
| 3 | 01-May-2024 | 4,300 | 900 | 5,200 | 87,250 | PENDING | โ |
| 4 | 01-Jun-2024 | 4,350 | 850 | 5,200 | 82,900 | PENDING | โ |
| 5 | 01-Jul-2024 | 4,400 | 800 | 5,200 | 78,500 | PENDING | โ |
tbl_emi_schedule EMI status
to PAID/PARTIALLY_PAID. (2) Create GL entry: Cash/Bank Dr โ Interest Income Cr + Loan Portfolio Cr.
(3) Update loan outstanding. (4) Log in audit trail. URT (Unique Reference Transaction) number
required for online payments to prevent duplicate entry. Receipt Number format:
[BRANCH_CODE]-RCP-[DATE]-[SEQ].
tbl_disbursements. Black/White flag
stored here.
tbl_loan_accounts.npa_status and tbl_loan_accounts.dpd daily. Penal
interest auto-accrues: Penal_Amount = Outstanding ร Penal_Rate% / 365 ร DPD. Provisioning
percentages are regulatory โ store in config table.
| DPD Range | Classification | Provisioning % | Action Required |
|---|---|---|---|
| 0 days | Standard Asset | 0.25% | No action needed |
| 1 โ 30 days | Regular | 0.25% | SMS reminder to customer |
| 31 โ 60 days | SMA-1 | 0.25% | Field visit + escalation to BM |
| 61 โ 90 days | SMA-2 | 0.25% | Legal notice + recovery planning |
| > 90 days | NPA | 10% โ 100% | NPA provisioning + recovery action |
| > 90 days (Sub-standard) | Sub-Standard | 10% | Loan tagged NPA in all reports |
| > 12 months NPA | Doubtful | 25% โ 100% | Legal recovery proceedings |
| Ledger Name | Alias | Ledger Group | Normal Balance | Remark |
|---|---|---|---|---|
| Loan Portfolio A/c | LOAN_PORT | Assets | Debit | Total outstanding loan portfolio |
| Interest Income A/c | INT_INC | Income | Credit | Interest collected from borrowers |
| Interest Accrued A/c | INT_ACC | Assets | Debit | Interest earned but not collected (for tenure-end schemes) |
| Processing Fee Income A/c | PROC_INC | Income | Credit | Fee deducted at disbursement |
| Penal Income A/c | PENAL_INC | Income | Credit | Late payment charges |
| Cash A/c | CASH | Assets | Debit | Branch cash in hand |
| Bank A/c | BANK | Assets | Debit | Current bank account of branch |
| NPA Provision Reserve | NPA_PROV | Liabilities | Credit | Provisioning for bad loans |
| Provision for Bad Debts | PROV_BAD | Expenses | Debit | P&L charge for NPA provisioning |
| Deposit Liability A/c | DEP_LIAB | Liabilities | Credit | Amount received from depositors |
| Interest Payment A/c | INT_PAY | Expenses | Debit | Interest paid to depositors |
tbl_day_closing(branch_id, closing_date, cash_physical, cash_system, difference, status, closed_by).
tbl_auction.