Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FINERACT-1981: When paying down payment, that should not be reflected on the InterestModel #4139

Conversation

kulminsky
Copy link
Contributor

@kulminsky kulminsky commented Oct 31, 2024

When paying down payment, that should not be reflected on the InterestModel

  1. Any payment on down payment period, should not call payInterest or payPrincipal methods on the EmiCalculator as down payment period payments are out of scope of the ProgressiveLoanInterestScheduleModel calculation
  2. Same applies for additional periods
  • Period due date is after loan maturity date

Description

Describe the changes made and why they were made.

Ignore if these details are present on the associated Apache Fineract JIRA ticket.

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • Write the commit message as per https://github.com/apache/fineract/#pull-requests

  • Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

  • Create/update unit or integration tests for verifying the changes made.

  • Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

  • Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes

  • Submission is not a "code dump". (Large changes can be made "in repository" via a branch. Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

@@ -1560,6 +1560,12 @@ private Money handlingPaymentAllocationForInterestBearingProgressiveLoan(LoanTra
paidPortion = processPaymentAllocation(paymentAllocationType, installment, loanTransaction, transactionAmountUnprocessed,
loanTransactionToRepaymentScheduleMapping, charges, balances, LoanRepaymentScheduleInstallment.PaymentAction.PAY);

if (installment.isDownPayment() || installment.getDueDate().isAfter(ctx.getModel().getMaturityDate())) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can check whether it is down payment or additional and also we should not do the updateRepaymentPeriodBalances either in line 1557

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, please add some testing as well:

  • Downpayment is configured on the loan
  • We can pay the down payment and the regular installments
  • Calculated balances are correct

@kulminsky kulminsky force-pushed the FINERACT-1981/When-paying-down-payment-that-should-not-be-reflected-on-the-InterestModel branch from 3ccba53 to 2332200 Compare November 1, 2024 16:03
@kulminsky kulminsky force-pushed the FINERACT-1981/When-paying-down-payment-that-should-not-be-reflected-on-the-InterestModel branch from 2332200 to 4e391fa Compare November 3, 2024 21:45
@kulminsky kulminsky marked this pull request as ready for review November 4, 2024 10:03
@kulminsky kulminsky requested a review from adamsaghy November 4, 2024 11:20
@adamsaghy adamsaghy merged commit 7288037 into apache:develop Nov 4, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants