================================================================================ ROLLOVER LOAN EXCLUSION FIX - QUICK REFERENCE ================================================================================ PROBLEM: Rolled-over loans appearing in reports (e.g., LOAN-000128 in loans due report) SOLUTION: Updated 6 files to exclude rolled-over loans from all reports and dashboards FILES TO UPLOAD: 1. reports/simple_reports_service.py 2. reports/comprehensive_reports.py 3. reports/views.py 4. reports/chart_service.py 5. utils/views.py 6. reports/filter_service.py (optional - already correct) DEPLOYMENT: 1. Upload 3 files 2. touch tmp/restart.txt 3. Wait 30 seconds 4. Test reports VERIFICATION: - Go to /reports/loans-due/enhanced/ - Rolled-over loans should NOT appear - Dashboard counts should be correct SQL CHECK: SELECT COUNT(*) FROM loans WHERE status = 'active' AND is_deleted = 0 AND is_rolled_over = 0; This count should match dashboard "Total Active Loans" ROLLBACK: - Restore backup files - touch tmp/restart.txt WHAT CHANGED: OLD: Loan.objects.filter(status='active', is_deleted=False) NEW: Loan.objects.filter(status='active', is_deleted=False, is_rolled_over=False) .exclude(status='rolled_over') REPORTS AFFECTED: ✓ Dashboard metrics ✓ Loans due today ✓ Loans due enhanced ✓ Delinquent loans ✓ Loans in arrears ✓ Portfolio details ✓ Outstanding loans ✓ All other loan reports NO DATABASE CHANGES REQUIRED NO MIGRATIONS NEEDED ================================================================================