Skip to content

FINERACT-2592: It does not allow rescheduling.#5791

Open
EDSONZ-WASSWA wants to merge 1 commit intoapache:developfrom
EDSONZ-WASSWA:it-does-not-allow-rescheduling-web-479
Open

FINERACT-2592: It does not allow rescheduling.#5791
EDSONZ-WASSWA wants to merge 1 commit intoapache:developfrom
EDSONZ-WASSWA:it-does-not-allow-rescheduling-web-479

Conversation

@EDSONZ-WASSWA
Copy link
Copy Markdown

@EDSONZ-WASSWA EDSONZ-WASSWA commented Apr 22, 2026

Description

Background
When a borrower misses several payments, Fineract calculates penalty charges on each overdue installment. Up until this change, attempting to reschedule such a loan would fail immediately with a not.allowed.due.to.overdue.charges validation error, making it impossible to help borrowers who genuinely needed their repayment schedule restructured.
This was a real gap the most common reason a lender reschedules a loan is precisely because the borrower has fallen behind.

What this PR does
The system used to stop loan rescheduling completely whenever overdue penalty charges existed. Now it doesn't have to.
There's a new optional flag " waiveOverdueCharges" that a lender can pass when approving a reschedule. Set it to true and the system clears all outstanding overdue penalties right before building the new repayment schedule.
This practically makes sense:
when restructuring a loan, the lender usually wants to clear those penalties as part of the deal, so this just handles it in one step instead of two.
Leave the flag out or set it to false and nothing changes the original block stays in place. No decision made, no charges touched.
For the actual waiving, it hooks straight into the existing charge waiver logic, so you get the same audit trail and transaction records as a manual waiver through the User interface (UI).

Checklist

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

  • Write the commit message as per our guidelines
  • 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 our 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
  • This PR must not be a "code dump". Large changes can be made in a branch, with assistance. Ask for help on the developer mailing list.

Your assigned reviewer(s) will follow our guidelines for code reviews.
this is the link to the jira ticket https://mifosforge.jira.com/issues?filter=-1&selectedIssue=WEB-479

@EDSONZ-WASSWA EDSONZ-WASSWA changed the title WEB-479 It does not allow rescheduling. WEB-479: It does not allow rescheduling. Apr 22, 2026
@adamsaghy
Copy link
Copy Markdown
Contributor

@EDSONZ-WASSWA We are not accepting WEB Jira ticket for backend changes. Please create an appropriate Apache Fineract JIRA ticket for this changes!

@EDSONZ-WASSWA EDSONZ-WASSWA force-pushed the it-does-not-allow-rescheduling-web-479 branch from 5768c73 to 4463d21 Compare April 22, 2026 23:11
@EDSONZ-WASSWA EDSONZ-WASSWA changed the title WEB-479: It does not allow rescheduling. FINERACT-2592: It does not allow rescheduling. Apr 23, 2026
@IOhacker
Copy link
Copy Markdown
Contributor

@EDSONZ-WASSWA make sure you have signed your commits

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.

3 participants