FINERACT-1968: Fix rounding issue

This commit is contained in:
Adam Saghy
2023-11-20 10:11:55 +01:00
parent a95b6c7d1b
commit d0341e69cb
4 changed files with 407 additions and 109 deletions
@@ -313,8 +313,8 @@ public class AdvancedPaymentScheduleTransactionProcessor extends AbstractLoanRep
if (installmentAmountInMultiplesOf != null) {
increasePrincipalBy = Money.roundToMultiplesOf(increasePrincipalBy, installmentAmountInMultiplesOf);
}
Money remainingAmount = increasePrincipalBy.multiplyRetainScale(noCandidateRepaymentInstallments, mc.getRoundingMode())
.minus(amortizableAmount);
Money remainingAmount = amortizableAmount
.minus(increasePrincipalBy.multiplyRetainScale(noCandidateRepaymentInstallments, mc.getRoundingMode()));
Money finalIncreasePrincipalBy = increasePrincipalBy;
candidateRepaymentInstallments