This is an automated email from the ASF dual-hosted git repository.

adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git

commit d5116d93c284dd90837170bee0ff203572e2fbb1
Author: Soma Sörös <[email protected]>
AuthorDate: Mon Mar 9 14:47:48 2026 +0100

    FINERACT-2421: ReAge - fix Equal Amortization cases for zero interest 
progressive loans
    handle EQUAL_AMORTIZATION_FULL_INTEREST and 
EQUAL_AMORTIZATION_PAYABLE_INTEREST to equally amortize fees and penalties in 
case of 0 interest progressive loans
---
 .../impl/AdvancedPaymentScheduleTransactionProcessor.java      | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
 
b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
index 5a93999d7c..3bbb4b43ab 100644
--- 
a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
+++ 
b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
@@ -63,6 +63,7 @@ import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import 
org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@@ -3261,7 +3262,14 @@ public class AdvancedPaymentScheduleTransactionProcessor 
extends AbstractLoanRep
                 }
             }
         } else {
-            handleReAgeWithCommonStrategy(loanTransaction, new 
CommonReAgeSettings(), ctx);
+            CommonReAgeSettings settings = switch 
(loanReAgeParameter.getInterestHandlingType()) {
+                case 
LoanReAgeInterestHandlingType.EQUAL_AMORTIZATION_FULL_INTEREST -> new 
CommonReAgeSettings(false, true, true, true);
+                case 
LoanReAgeInterestHandlingType.EQUAL_AMORTIZATION_PAYABLE_INTEREST -> new 
CommonReAgeSettings(true, true, true, true);
+                case LoanReAgeInterestHandlingType.DEFAULT -> new 
CommonReAgeSettings();
+                case null -> new CommonReAgeSettings();
+                default -> throw new NotImplementedException();
+            };
+            handleReAgeWithCommonStrategy(loanTransaction, settings, ctx);
         }
         if (loanTransaction.getAmount().compareTo(ZERO) == 0) {
             loanTransaction.reverse();

Reply via email to