Versions Compared

Key

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

...

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

The feature should follow regular security rules, so permissions required for:

...

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? 

 

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.

...