FINERACT-2081: Fix cumulative principal calculation
This commit is contained in:
committed by
Adam Saghy
parent
e1d820756f
commit
898a18c873
+8
@@ -157,6 +157,14 @@ public abstract class AbstractCumulativeLoanScheduleGenerator implements LoanSch
|
||||
scheduleParams.setOutstandingBalance(remainingPrincipalAmt);
|
||||
scheduleParams.setOutstandingBalanceAsPerRest(remainingPrincipalAmt);
|
||||
loanApplicationTerms.setPrincipal(remainingPrincipalAmt);
|
||||
} else if (loanApplicationTerms.isDownPaymentEnabled()) {
|
||||
Money downPaymentAmt = Money.of(currency, MathUtil.percentageOf(loanApplicationTerms.getPrincipal().getAmount(),
|
||||
loanApplicationTerms.getDisbursedAmountPercentageForDownPayment(), 19));
|
||||
if (loanApplicationTerms.getInstallmentAmountInMultiplesOf() != null) {
|
||||
downPaymentAmt = Money.roundToMultiplesOf(downPaymentAmt, loanApplicationTerms.getInstallmentAmountInMultiplesOf());
|
||||
}
|
||||
final Money remainingPrincipalAmt = loanApplicationTerms.getPrincipal().minus(downPaymentAmt);
|
||||
loanApplicationTerms.setPrincipal(remainingPrincipalAmt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1086,7 +1086,7 @@ public final class LoanApplicationTerms {
|
||||
private Money calculateTotalPrincipalPerPeriodWithoutGrace(final MathContext mc, final int periodNumber,
|
||||
Money interestForThisInstallment) {
|
||||
final int totalRepaymentsWithCapitalPayment = calculateNumberOfRepaymentsWithPrincipalPayment();
|
||||
Money principalPerPeriod = null;
|
||||
Money principalPerPeriod;
|
||||
if (getFixedEmiAmount() == null) {
|
||||
if (this.fixedPrincipalPercentagePerInstallment != null) {
|
||||
principalPerPeriod = this.principal.minus(totalPrincipalAccounted)
|
||||
|
||||
Reference in New Issue
Block a user