================================================================================
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

================================================================================
