airajena opened a new pull request, #5523:
URL: https://github.com/apache/fineract/pull/5523

   ## Summary
   This PR implements `FINERACT-1153` by adding configurable handling for loan 
reschedule cases where the final installment becomes much larger than prior 
installments.
   
   ## Problem
   For some loan reschedule flows (for example reduced EMI / interest 
appropriation scenarios), the generated schedule can produce an oversized last 
installment, which is not desirable operationally.
   
   ## Solution
   Introduced a new global configuration and reschedule logic to automatically 
split an oversized last installment by extending repayment periods until the 
last installment is in line.
   
   ### New global configuration
   - Key: `split-large-last-installment-on-loan-reschedule`
   - Default: `false` (disabled)
   - Scope: tenant global configuration
   
   ### Behavior
   - When config is `false`: existing behavior is unchanged.
   - When config is `true`:
     - During loan reschedule approval, schedule generation checks whether the 
final installment is larger than prior installments.
     - If yes, it auto-adds repayment-period extension variation(s), 
regenerates the schedule, and repeats until:
       - last installment is no longer oversized, or
       - safety cap is reached.
   
   ### Safety guard
   - Added max extension loop guard to prevent infinite adjustments.
   
   ## Checklist
   
   Please make sure these boxes are checked before submitting your pull request 
- thanks!
   
   - [x] Write the commit message as per [our 
guidelines](https://github.com/apache/fineract/blob/develop/CONTRIBUTING.md#pull-requests)
   - [x] 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.
   - [x] Create/update [unit or integration 
tests](https://fineract.apache.org/docs/current/#_testing) for verifying the 
changes made.
   - [x] Follow our [coding 
conventions](https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions).
   - [x] 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
   - [x] [This PR must not be a "code 
dump"](https://cwiki.apache.org/confluence/display/FINERACT/Pull+Request+Size+Limit).
 Large changes can be made in a branch, with assistance. Ask for help on the 
[developer mailing list](https://fineract.apache.org/#contribute).
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to