================================================================================ MWAMBA LOAN CALCULATION ISSUE - VISUAL EXPLANATION ================================================================================ LOAN-000131: PETER IRUNGU MAINA Product: Mwamba (90 days, 10% monthly interest, 5% processing fee) ┌─────────────────────────────────────────────────────────────────────────────┐ │ WHAT THE DATABASE SHOWS │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ Principal Amount: KES 20,000.00 ✓ CORRECT │ │ Interest Amount: KES 6,000.00 ✓ CORRECT (30% for 90 days) │ │ Processing Fee: KES 1,000.00 ✓ CORRECT (5%) │ │ ───────────────────────────────────────────────────────── │ │ Total Amount (stored): KES 22,400.00 ✗ WRONG! (Missing 4,600) │ │ │ │ Amount Paid: KES 3,200.00 ✓ CORRECT │ │ ───────────────────────────────────────────────────────── │ │ Outstanding (displayed): KES 19,200.00 ✗ WRONG! (22,400 - 3,200) │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ⬇️ FIX NEEDED ⬇️ ┌─────────────────────────────────────────────────────────────────────────────┐ │ WHAT IT SHOULD SHOW │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ Principal Amount: KES 20,000.00 ✓ │ │ Interest Amount: KES 6,000.00 ✓ │ │ Processing Fee: KES 1,000.00 ✓ │ │ ───────────────────────────────────────────────────────── │ │ Total Amount (correct): KES 27,000.00 ✓ (20,000 + 6,000 + 1,000) │ │ │ │ Amount Paid: KES 3,200.00 ✓ │ │ ───────────────────────────────────────────────────────── │ │ Outstanding (correct): KES 23,800.00 ✓ (27,000 - 3,200) │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ================================================================================ THE CALCULATION ================================================================================ MWAMBA PRODUCT RULES: • Interest Rate: 10% per month • Duration: 90 days = 3 months • Processing Fee: 5% (one-time) CORRECT CALCULATION: Principal: 20,000.00 Interest: 20,000 × 10% × 3 months = 6,000.00 Processing Fee: 20,000 × 5% = 1,000.00 ──────────────────────────────────────────── TOTAL: 20,000 + 6,000 + 1,000 = 27,000.00 WHAT'S IN DATABASE: Principal: 20,000.00 Interest: 6,000.00 Processing Fee: 1,000.00 ──────────────────────────────────────────── TOTAL (stored): 22,400.00 ← WRONG! DIFFERENCE: 27,000 - 22,400 = 4,600.00 MISSING ================================================================================ WHY THIS HAPPENED ================================================================================ The code logic is CORRECT: ✓ LoanApplication.save() calculates: principal + interest + processing_fee ✓ LoanApplication.approve() uses calculated_total ✓ LoanCalculationService uses the stored total_amount The problem is BAD DATA in the database: ✗ Someone/something wrote 22,400 instead of 27,000 to the database ✗ This could be from: - Manual database edit - Old bug (now fixed) - Data migration issue - Direct SQL insert ================================================================================ THE FIX ================================================================================ UPDATE loans SET total_amount = principal_amount + interest_amount + processing_fee WHERE loan_number = 'LOAN-000131'; This will change: total_amount: 22,400.00 → 27,000.00 Which will fix: Outstanding: 19,200.00 → 23,800.00 ================================================================================ IMPACT ================================================================================ BEFORE FIX: Borrower sees: "You owe KES 19,200" Reality: They owe KES 23,800 Difference: KES 4,600 underreported ❌ AFTER FIX: Borrower sees: "You owe KES 23,800" Reality: They owe KES 23,800 Difference: KES 0 ✅ ================================================================================ FILES PROVIDED ================================================================================ 1. FIX_MWAMBA_CALCULATION_ISSUE.md - Detailed analysis 2. fix_mwamba_loan_totals.sql - SQL fix script 3. diagnose_and_fix_mwamba_loan_131.py - Python diagnostic tool 4. MWAMBA_CALCULATION_FIX_SUMMARY.md - Complete summary 5. QUICK_FIX_MWAMBA.txt - Quick reference 6. MWAMBA_ISSUE_DIAGRAM.txt - This file ================================================================================