-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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-2333: Accrual handling in case of Charged-off loan #4350
base: develop
Are you sure you want to change the base?
FINERACT-2333: Accrual handling in case of Charged-off loan #4350
Conversation
} | ||
} | ||
|
||
private BigDecimal getInterestTillChargeOffForPeriod(final Loan loan, final LocalDate chargeOffDate) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems not correct for progressive loans...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
@@ -3745,4 +3760,39 @@ public void closeAsMarkedForReschedule(final Loan loan, final JsonCommand comman | |||
|
|||
loanTransactionValidator.validateLoanRescheduleDate(loan); | |||
} | |||
|
|||
private void createMissingAccrualTransactionIfNeeded(final BigDecimal newInterest, final Loan loan, final LocalDate chargeOffDate) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to move this into the LoanAccrualProcessingService?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I considered moving this logic into the LoanAccrualProcessingService, but unfortunately, it wasn't feasible. Doing so introduces a circular dependency issue, making it impossible to use the service within the AdvancedPaymentScheduleTransactionProcessor. Therefore, I decided to move it in the AdvancedPaymentScheduleTransactionProcessor.
@@ -3092,6 +3098,15 @@ public CommandProcessingResult chargeOff(JsonCommand command) { | |||
final List<Long> existingTransactionIds = loan.findExistingTransactionIds(); | |||
final List<Long> existingReversedTransactionIds = loan.findExistingReversedTransactionIds(); | |||
|
|||
final LoanChargeOffBehaviour chargeOffBehaviour = loan.getLoanProductRelatedDetail().getChargeOffBehaviour(); | |||
if (loan.isProgressiveSchedule()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should not be created only for progressive loans... We can create the missing accrual for cumulative loans as well...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
1e3b80d
to
9342585
Compare
PTAL |
b3d8a39
to
fe5e6d6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
fe5e6d6
to
73eabd2
Compare
Please, consider this PR as a draft, because there are no tests from qa yet. |
Description
Accrual handling in case of Charged-off loan
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.