Functional Spec Automatic Application of Late Payments Penalties
1 Automatic application of Late payment Penalties for Loans
Release | H ( Ver 2.3) |
Current Owners: | Chetan Bekkinkeri |
Status (Draft, In Review, Stable / Approved): | Draft |
Contents:
2 Introduction
In order to ensure timely loan repayments, most MFIs intend to charge a fee for late repayments for loans. The fee for late repayment can be calculated using any of the following methods
Fixed fee for each time period of late payment
As a percentage of Outstanding Principal Amount
As a percentage of Outstanding loan amount
As a percentage of overdue amount
As a percentage of overdue principal
The penalty for the late repayment can be applied after allowing for a grace period. The frequency of the penalty (late fee) application on the account needs to be configured while defining the penalty.
Penalty once defined will be configured as part of the loan product definition. Penalty once configured on the loan product can be removed or edited.
Penalty is calculated at end of day (EOD) by the batch job and is applied to a loan account based on the criteria defined on the penalty. However given that most micro-finance institutions operate with double bottom-line mission, it is important that penalty once calculated and applied to an account should be removable and the transaction reversible. ( taking compassion into consideration)
Note: For the purpose of this document, Penalty will be considered equivalent to late fees although the terms may be used in different contexts by MFIs.
2.1 Goals
List Goals of feature
Ability to allow automatic application of penalty for delay in the loan repayments
2.2 Non-Goals
Ability to allow automatic application of penalty for delay in the mandatory savings payments
2.3 Definitions and Terminology
Term | Definitions |
User | User of system |
EOD | End of Day |
Mandatory fields will be preceded by "*" (an asterisk)
Links are italicized
Buttons are Button
2.4 Related Documents
*insert links to related specs here
3 User Stories
List high level user stories - these can be broken down later into small user stories / user tasks if needed
Priority | Use Cases | User Stories | Section in FR |
P1 | 4.1 | As a Mifos user, I want to be able to define a penalty using the Mifos Admin screen. | 5.1 |
P1 | 4.2 | As a Mifos user, I want to be able to edit and view the attributes defined for a penalty | 5.2 |
P1 | 4.3 | As a Mifos user, I want to be able to configure and add the penalty while defining a loan product, so that the penalty can be viewed at product level. | 5.3 |
P1 | 4.4 | As a Mifos user, I want to be able to view the defined penalty as part of the loan product defined. | 5.3 |
P1 | 4.5 | As a Mifos user, I want to be able to remove penalty configured from an existing loan product definition. | 5.3 |
P1 | 4.6 | As a Mifos user, I want to be able to view the applied penalty/fee as part of the loan repayment schedule in the Penalty column | 5.4 |
P1 | 4.7 | As a Mifos user, I want to be able to apply Penalty to the loan schedule using "apply charges" option | 5.3 |
P1 | 4.8 | As a Mifos user , I want to be able to make payments for penalty using collection sheet or apply payment option, so that the repayments get applied to the penalty on account | |
P1 | 4.9 | As a Mifos user, I want to be able to repay the total amount due on a loan, so that the loan repayment amount includes the penalty amount calculated. | 5.6 |
P1 | 4.10 | As a Mifos user, I want to be able to remove Penalties applied to a loan account using the “remove Fees/Penalty” option |
|
4 Use Cases
4.1 Penalty Definition
Actors
Mifos user who has permissions to create and edit fees
Preconditions
Mifos is configured as per the MFI requirements
Basic Flow
Navigate to Admin screen
Click on 'Define new penalties'
Enter the penalty details by entering the values as defined in the section 9.0 of the document
Click on preview and user validates all values entered are displayed and correct
Submit for processing.
Post-conditions
The user should be able view the late fees (Penalty) as per the requirements of the MFI
Any user with create and/or edit loan permissions should see the penalty listed as an option to add to the loan product.
Any user creating a loan instance see's the penalty as an option to add while creating the loan
Alternative Flows
NA
Validations
1. If user enters a negative value for the following fields, Mifos should display a error message “Incorrect value. Negative values not allowed.”
Cumulative Penalty( minimum)
Cumulative Penalty ( maximum)
Grace period duration
Fixed Amount Column of the Penalty calculation type attribute
2. If user enters a incorrect value( number with commas or special characters) value for the following fields, Mifos should display an error message “Incorrect value. Please enter the correct values”
Cumulative Penalty( minimum)
Cumulative Penalty ( maximum)
Grace period duration
Fixed Amount Column of the Penalty calculation type attribute
3. If the user clicks on the Preview and Submits without entering any values in the following fields, then Mifos should display an error message “ Please specify a value for the fields -- “
a. Penalty Name
b. Applies to
c. Cumulative Penalty Amount (Minimum)
d. Cumulative Penalty Amount (Maximum)
e. Penalty calculation type
f. Accounting Details
4.2 View/Edit Penalty Definition
Actors
Mifos user who has permissions to create and edit fees
Preconditions
Mifos is configured as per the MFI requirements
Basic Flow
Navigate to Admin screen
Click on 'View penalties'
User selects a penalty to view
The user should be shown the attributes of the penalty defined as per Use Case 4.1.
Click on the Edit Button
Post-conditions
The user should be able view the Penalty definition and terms & conditions as required.
Attributes which are “editable” as per the attribute definition in Section 9.1 should be editable.
Making changes to the “Editable” values and clicking on preview->submit should save the values changed.
Alternative Flows
NA
Validations
1. Penalty (Late fee) as created by the administrator should be viewable/edit when the view Penalty definition link is clicked.
4.3 Penalty configuration in the loan product definition
Actors
Mifos user who has permissions to create and edit loan products
Preconditions
Mifos is configured as per the MFI requirements
Penalty has been defined as part of configuring the penalties for the MFI [See Story 4.1]
Basic Flow
Navigate to Admin screen
Click on 'Define New Loan Product'
User enters in loan details
When user gets to Fees/Penalties, user can successfully select Penalty in left side and add to the Right Panel
User completes entry of Loan product parameters and clicks on 'Preview' button
On Preview page, the Penalty is listed.
User clicks on Submit and Loan Product is Created
Post-conditions
The defined loan product should have a late fee (penalty) configured
Any user with rights to view loan product definitions should see penalty configured
Penalty appears during loan creation workflow.
Alternative Flows
1) If the loan product already exists and the user needs to add a new late penalty to the product
Navigate to the admin screen
User clicks on 'View Loan Products'
User clicks on a Loan Product
User clicks on "Edit Loan Product Information"
User selects a Penalty on the left side panel in the Fees/Penalties section and adds it to the right panel by click on "Add"
User clicks on Preview button
On Preview page, the Penalty is now listed
User clicks on Submit and Loan Product is updated
Validations
All new loan products created will have the penalty automatically attached
All loans created before edit to loan will NOT have the penalty automatically attached
4.4 View penalty in loan product definition
Actors
Mifos user who has permissions to create and edit loan products
Preconditions
Mifos is configured as per the MFI requirements
Penalty has been defined as part of configuring the penalties for the MFI [See Story 4.1]
Penalty has been added to the loan product definition [See Story 4.3]
Basic Flow
Navigate to Admin screen
Click on View Loan Products
Click on loan product for which penalty was added as part of User story 4.3
Penalty as added in the loan product definition should visible in the loan definition screen
Post-conditions
The defined loan product should have a late fee (penalty) configured
Any user with rights to view loan product definitions should see penalty configured
Penalty appears during loan creation workflow.
Alternative Flows
NA
Validations
All new loan products created will have the penalty automatically attached
All loans created before edit to loan will NOT have the penalty automatically attached
4.5 Remove penalty from loan product definition
Actors
Mifos user who has permissions to create and edit loan products
Preconditions
Mifos is configured as per the MFI requirements
Penalty has been defined as part of configuring the penalties for the MFI [See Story 4.1]
Loan product has already been defined.
Basic Flow
Navigate to the admin screen
User clicks on 'View Loan Products'
User clicks on a Loan Product
User clicks on "Edit Loan Product Information"
User selects a Penalty on the right side panel in the Fees/Penalties section and adds it to the right panel by click on "remove” button
User clicks on Preview button
On Preview page, the Penalty is no longer visible
User clicks on Submit and Loan Product is updated
Post-conditions
The defined loan product should have the late fee (penalty) removed.
Penalty is removed from the loan creation workflow.
Alternative Flows
NA
Validations
All new loan products created will have NOT have the penalty automatically attached
All loans created before edit to loan will have the penalty still active
4.6 Penalty (Late fee) application to the loan schedule
Actors
1. Mifos user who has the appropriate permissions for managing loan transactions
Preconditions
Mifos is configured as per the MFI requirements
Penalty (Late fee) has been defined for the MFI and added to the loan product definition
Loan has been created and disbursed and is currently “active bad standing” state
The daily Batch job has run successfully.
Basic Flow
Login into the Mifos application
Click on a loan account with status “active in bad standing”
View the repayment schedule of the loan
Post-conditions
Penalty should be applied and visible in the “Penalty” column of the loan schedule.
Penalty should be applied on the same schedule date on which the amount is due.
Alternative Flows
Validations
1. The loan schedule should display the late fee calculated as per the late fee definition.
4.7 Penalty (Late fee) application to the loan schedule using "apply charges" option
Actors
Mifos user who has the appropriate permissions for managing loan transactions
Preconditions
Mifos is configured as per the MFI requirements
Penalty has been defined for the MFI from the admin screen
Basic Flow
Login into the Mifos application
Click on a loan account.
Click on the apply charges link.
From the "select charge type" dropdown, select a penalty type which is already defined
Click on submit
View the repayment schedule of the loan
Post-conditions
Penalty should be applied and the loan summary page should list the penalty
Running the batch job should ensure that penalty gets applied only to overdue amounts only after the date of penalty addition to the loan. i.e. if the penalty is added in the 4th week of loan repayment, the penalty should only be applied to repayments from 4th repayments and beyond only and should not effect the loan repayments of week 1 to 3 even if they are overdue.
Alternative Flows
Validations
1. The loan schedule should display the late fee calculated as per the late fee definition.
4.8 Penalty payment using the collection sheet or apply payment option
Actors
1. Mifos user who has the appropriate permissions for managing loan transactions
Preconditions
Mifos is configured as per the MFI requirements
Penalty has been defined as part of configuring the fees for the MFI
A loan is overdue. The penalty has been calculated and applied to the loan account
Basic Flow
Login into the Mifos application
Navigate to the collection sheet entry page
Apply the payments due on the collection sheet and submit.
Post-conditions
1. Collection sheet displays the total amount due (including penalty, fees, Interest and principal)
2. The Fee/penalty payments should not display any amount due.
Alternative Flows
1) Payment made directly against penalty
Login to the Mifos application
Search and navigate to the loan account
Click on the apply Payment option on the transactions pane
The amount calculated currently shows all the amount currently due on the account. This amount should include any penalty applied to the loan account.
2) Partial Payment
User navigates to loan with penalty applied
User clicks on "Apply Payment" and pays partial amount due
User submits payment
Payment is applied in the correct order: Penalty->Fees->Interest->Principal
Validations
The penalty amount paid should be applied to the account and the amount due should be 0.
Payment should follow Mifos standard: Penalty -> Fee -> Interest -> Principal
4.9 Repay loan option includes the penalty amount calculated.
Actors
1. Mifos user who has the appropriate permissions to process loans and apply fees
Preconditions
Mifos is configured as per the MFI requirements
Penalty has been defined as part of configuring the fees for the MFI
A loan is overdue. The penalty has been calculated and applied to the loan account
Basic Flow
Login into the Mifos application
Navigate to loan account
Click on the repay loan option on the right side top transaction box
Post-conditions
1. Total repayment amount calculated should also include the penalty calculated
2. Repaying the loan should apply the penalty amount calculated appropriately.
Alternative Flows
1. Login to the Mifos application
2. Search and navigate to the loan account
3. Click on repay loan option. Total amount calculated will include the penalty calculated
4. Click on Cancel
5. Go back to the loan account and click on the “remove penalty” option.
6. Save and click on the repay loan option again
7. the total amount to be paid should not include the penalty amount as the penalty has been removed.
Validations
1. The penalty amount paid should be applied to the account and the amount due should be 0.
4.10 Ability to remove penalty applied to a loan account
Actors
1.Mifos user who has the appropriate permissions to process loans and apply fees
Preconditions
Mifos is configured as per the MFI requirements
Penalty has been defined as part of configuring the fees for the MFI
A loan is overdue. The penalty has been calculated and applied to the loan account
The penalty is visible under the loan account details view with a link to remove the penalty
Basic Flow
Login into the Mifos application
Navigate to loan account
Under the account details, the penalty calculated for the account is visible
Click on the “remove” link under the account details section
Post-conditions
1. The penalty added should get removed from the account details section
2. Under the recent activity section, a transaction “Penalty removed” should be
Recorded
Validations
1. The penalty amount paid should be applied to the account and the amount due should be 0.
2. the calculated penalty should be removed completely and the transaction reversed.
5 Functional Requirements
5.1 Penalty Definition
|
|
|
5.1.1 | Admin screen will need to have link to enable penalty definition creation | The Mifos Admin screen will have two new links under Organizations Preferences, directly below the Fees actions |
5.1.2 | Penalty Details Information Define new penalty screen will have fields to capture the fee details | The following fields are to be added to be defined under the “fee Details” |
So, General Comments:
1. I see that you are doing this for loans and savings. It might make sense to break the savings out as a separate Spec since it operates a bit differently (maybe the Devs can comment). What do you think? Also, how many MFI's are asking for this on savings? Might be easier to do loans first and then savings later.
2. I see the requirements on how to create the penalties are in the Functional Requirements section - I'm a little worried these are light - where are the details on the limits for the fields? What errors need to be added? These might warrant their own Use cases.
3. Some screen mockups would be helpful for this document I think
4. It's very important we stress the difference between fees and penalties in this product as that affects the order on how payments are applied. Are we sure this will be ONLY a penalty? (IE, paid before Fees) - You also talk somewhere about changing the payment order? That's not clear what that entails.
5. I updated Use cases 4.1 and 4.2 - I've been looking at this for awhile, so taking a break. Look at those and see what you think, I was trying to flesh out a bit more. I also think you were a bit confused on what the validation part is for. See if that makes sense and we can alter the rest and add more.
Some Open Questions (for you and the community)
1) Do we want to break out penalties from Fees in the UI? This would be in the admin page, loan creation, savings creation, etc. For now, I've updated as it saying Fees/Penalties in the document, but I see here that you list it as a new section in the Admin page. If we decide to separate it, remove the (Late Fees) section as Penalties could apply elsewhere and aren't just limited to late payments. Personally, I'm inclined to keep them together, but that may create more design/coding issues.
2) Is this for Individual only? Can you apply this to groups? Centers (for savings accounts) - We may need a lot fleshed out here as well - should be specific here.
In response to your Questions
1) This would mean re-opening a loan and applying a one time penalty? Or is this to go back and change records entered in the past? I think the way to do this would be to add an option on the closed loan page to "Add Penalty", and after going through the workflow, the loan would be re-activated and the fee applied. This might be a lot of work - could be some accounting considerations to think of.
2) I'm not sure I'm clear on this question - but off the top of my head I see there being two kind of late payment penalties. One is based on the number of days you are late and the amount that is late, right? So every day I'm late, it incrementally goes up. The second option I see is that a general penalty is add whenever I'm late (Missed a payment, get knocked 5, miss another, get knocked another 5). Does that sound about right?
3) I noted in the document that I don't think you need to get specific about that - instead you need to detail how you expect this to work and the devs will figure out if it needs to be a batch job or something else (I believe the desire is to move away from batch jobs...)
4) Good question - I can see both being useful. Cumulative makes sense, especially in regards to a maximum penalty. But the limit per penalty application makes sense too as a lot of organizations have a fee that is stated as the user either pays X or a percentage of the amount overdue, whichever is higher. Do we have any feedback from users how they'd like this applied?
Last Comment - One thing to consider and maybe some of the devs can weigh in is how can we simplify the feature? I only say this as there is a LOT to this, I'm not sure this will be a simple job based on all the detail I see in the spec and what more we need to add. May just be quicker to get something simpler in first (that meets most needed requirements), start getting users to use that and work on the next version that gets more into the weeds. Just a thought.
Ryan
On Jan 6, 2012, at 1:08 AM, <Chetan.Bekkinkeri@sungard.com> <Chetan.Bekkinkeri@sungard.com> wrote:
Dear all,
I have come up with a DRAFT version of the FS for this functionality and have tried to cover as many scenarios as I can taking into consideration the inputs from Mifos 3384 and other general Mifos requirements. Here is the wiki link to the FS
http://mifosforge.jira.com/wiki/display/MIFOS/Functional+Spec+Automatic+Application+of+Late+Payments+Penalties
I am sure this will undergo more changes based on feedback from the users. Can you please go through the Wiki and let me know if there are changes required or if some feature which you as an user wanted but has not been addressed ?
I do have a couple of open issues which I have marked red and also have listed below the issues.
1) How can we adjust Penalties for loans which are closed? ( this requirement is being requisitioned by multiple users) . Any pointers /workarounds here will be useful.
2) Need to review the savings penalty calculations? If two consecutive mandatory deposits are missed, do we apply one single penalty or multiple penalties?. For loans, we have clear use cases which we can look up to from the banking scenario but not sure for savings.
3) Batch job for penalty calculations : do we create a new batch job or modify one of the existing batch jobs for this ?
4) How do we want to handle the minimum and maximum penalties ? Should we have a cumulative limit on the penalties or a limit per penalty application ? Right now I have added the cumulative case and made the use case examples for it.