Sonigra Bhavya Hemendrabhai created FINERACT-2993:
-----------------------------------------------------

             Summary: RBI loan repayment schedule mapping leaks fee and penalty 
charges across installments
                 Key: FINERACT-2993
                 URL: https://issues.apache.org/jira/browse/FINERACT-2993
             Project: Apache Fineract
          Issue Type: Bug
          Components: Loan
    Affects Versions: 1.16.0
            Reporter: Sonigra Bhavya Hemendrabhai
         Attachments: Screenshot 2026-10-25 at 9.24.37 PM.png

Bug Description:
In RBILoanRepaymentScheduleTransactionProcessor.java, when creating repayment 
schedule mappings for subsequent installments in the second loop (handling late 
repayments), the outer-scoped feeChargesPortion and penaltyChargesPortion from 
the overdue installment are reused instead of being zeroed out.

Impact:
1. Fee and penalty charges from previous installments are falsely duplicated 
and mapped to subsequent installments that never had those charges.
2. The sum of the mapping amounts in 
m_loan_transaction_repayment_schedule_mapping exceeds the actual payment amount 
of the parent transaction (e.g. $650.00 mapped on a $600.00 payment).
3. Corrupts reverse-replay and accounting during chargebacks.

Steps to Reproduce:
1. Create a loan with "rbi-india-strategy".
2. Add a $50.00 penalty charge due on Installment 1.
3. Make a late repayment of $600.00 (covering Installment 1 of $565.00 and 
$35.00 toward Installment 2).
4. Query m_loan_transaction_repayment_schedule_mapping.
Result: Installment 2 mapping falsely receives penalty_charges_portion_derived 
= 50.00, and total mapping amount is $650.00.

Fix:
Ensure fee and penalty portions are zeroed out (Money.zero(currency)) for 
subsequent installment mappings and only add mapping when principalPortion is 
greater than zero. !Screenshot 2026-10-25 at 9.24.37 PM.png!



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to