Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Page Properties
Target release
Epic 
Document status
Status
titleDRAFT
Document owner Sander van der Heyden
Designer
Developers
QA

Overview

...

 

Business Rules



Attributes

Loan

AttributeDescriptionNotes
Rescheduledon_dateDate 
Rescheduledon_userIDUserID who approved the reschedule 


 

For Loan rescheduling request

AttributeDescriptionNotes
LoanIDLoan ID 
StatusStatus of the reschedule request (Similar Enum to loans etc)
from installmentReschedule starting at this instalment # 

Grace on Principal

Integer describing how many instalments will be added with 0 principalInstalments will be added straight after the from instalment.
Grace on InterestInteger describing how many instalments will be added with 0 interestGrace on P and I will be combined into 1 if applicable.
Change instalment dateNew Date for the selected instalmentUsed to reschedule rest of the loan from this instalment forward
Extra TermsInteger for # of extra terms to add at end of schedule 
Interest RateNew Interest rate for the loanApplied to the remainder of the loan.
Recalculate interest?Boolean , always true if Interest is entered.If true then the new schedule will recalculate the interest using the P outstanding at starting instalment, and the new end-date of loan.
Reschedule_ReasonCodeValueLink to Code listing reasons for rescheduling
Reschedule_CommentsFree textFree text description to be used in addition to the CV.
Submitted OnDate 
Submitted ByUserID 
Approved On DateDate 
Approved ByUserID 
Declined OnDate 
Declined ByUserID

 

 

Loan Schedule History

AttributeDescriptionNotes
Loan Reschedule IDID Of the reschedule request 
Loan_ID  
From Date  
Due Date  
Instalment #  
Principal  
....This item just follows same attributes as current loan schedule table. 

Security and Permissions

...

No new reports or changes to existing reports needed.

APIs

...

  • /Loans/{loanId} needs to be adjusted to reflect that the loan was rescheduled and at what time
  • /rescheduleloans - New API to cover creation, approving etc. 
  • /rescheduleloans/{id} view current and historical schedule for loan incl params
  • /rescheduleloans/{id}?command=approve/decline 
  • /rescheduleloans/{id}?command=undo

Notes

TBD

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome
What do we do with product level limits, such as max loan term, min/max interest etc. Proposal is to ignore them, as this is already a feature for exception cases.
Do we want to store historical schedules in the same loan schedule table? This might have negative effects on performance of that table. It also avoids the need to go in and change all areas of code (reports/jobs/loans package) that use this code. 
Right now the reschedule is a simple maker/checker workflow, do we want to extend it to the more extensive, create / pending approval / approved / declined workflow? 
We have the ability to classify loans as NPA, do we need to automatically do this for restructured loans? (some regulations do require this) 
When storing the old schedule for comparison, do we also copy the derived fields (paid etc) ? 
Do we allow loan repayments backdated before date of reschedule? 
In some banking regulations only one reschedule per loan is allowed (to avoid it being used to cover long debts, and force those into write-offs), do we also want to incorporate that restriction? 

 

Out of Scope

  • Flexible loan schedules. Even though the feature might re-use a lot of code from this feature we do not want to implement it straight away to reduce complexity. At the same time this process should take place before creating loan, rescheduling is after the disbursement.
  • Rescheduling of interest on past instalments 
  • Rescheduling of instalments that have already been fully or partially paid.

...