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 | 5.4 |
| 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 1. Define New Penalty 2. View Penalty |
| 5.1.2 | Penalty Details Information Define new penalty screen will have fields to capture the fee details The grace period function will work similar to the loan product grace period. For a weekly loan, if the grace period type is “Number of installments” and the grace period duration is 1, penalty will not be applied until after 1 week from the actual repayment due date. For examples, See section 5.7.8 and 5.7.9 |
The following fields are to be added to be defined under the “fee Details” 1. Penalty Name – name – Text Field 2. Applies to -- drop down with values Loans/Savings 3. Grace period Type (LOV with the following entries number of installments Number of days 4. Grace Period duration: Will be a number field to input the number of installments/days 5. Cumulative Penalty Limit (minimum) 6. Cumulative Penalty limit(maximum) |
| 5.1.3 | Penalty Calculation Details(loans) : Details on how the penalty will be calculated |
If the “Applies to” drop down has “loans” as the chosen value, provide the following options to calculate penalty 1. One Time Amount ( for fixed amount penalty) OR 2. Calculate penalty as % of Outstanding Principal Amount Outstanding loan amount Overdue amount due overdue principal ( the 4 values will be a dropdown) |
| 5.1.5 | Penalty application Details Will specify the frequency of calculation of the penalty (late fee). Penalties are applied to the loan account when the repayment due on a particular date is not paid until the end of day. A batch job run at mid night on the repayment day will apply penalties to the account based on the frequency applied. Penalty application will be subject to grace period considerations. See Section 5.7.8 and 5.7.9 for examples |
Specify frequency of Penalty fee application to account 1. Daily : Calculate and add penalty daily 2. Weekly : Calculate and add penalty every week 3. Monthly : Calculate and add penalty every month 4. None : for one time fixed penalty |
| 5.1.6 | Accounting details : Will have the GL code listed for the penalty amount’s accounting |
1. List the GL Codes with GL account name “Income from micro credit & lending activities” should be displayed here |
5.2 Penalty configuration in the loan product definition
| FR# | Description | |
| 5.2.1 |
The existing Fee label will be modified to include Penalty in the same label | Modify the “Fees” label to “Fees/Penalty” Label Modify “attach fee types” string to “attach Fee/penalty types” |
| 5.2.2 |
Loan Product definition will need to have the ability to add the configured penalty to the loan product | 1. The penalties defined as part of section 5.1 should be visible in the Attach fees panel on the loan product create/edit screen 2. Clicking on add should add the penalty to the product definition |
| 5.2.3 | The penalty should be visible when we click on the “loan product” on the “view loan product “ link from the Admin tab. | 1. Penalty should be added as a label in the loan product screen and visible on the screen |
| 5.2.4 | The penalty application frequency signifies the frequency of calculation of the penalty. | A daily penalty application implies that penalty is calculated and applied for each day of non payment of dues. Similarly a weekly penalty application implies that the penalty will be calculated for each week of non-payment of dues. |
5.3 Penalty (Late fee) application to the loan schedule
| FR# |
|
|
| 5.3.1 | The loan repayment schedule should include the penalty (late fee) calculated. the penalty amount should be added to the penalty column of the repayment schedule. | 1. The daily batch job should calculate the penalty(late fee) as per the configuration in the product 2. The penalty should be added to the penalty column and should be displayed as part of the repayment schedule 3. The penalty for late payment of a particular repayment amount should be applied to the same date. i.e. penalty for non-repayment of a due on date X should be applied to scheduled repayment on date X. |
| 5.3.2 | The batch jobs should be able to calculate the penalty and apply to the same to the repayment schedule at midnight on a daily basis. | 1. Batch job should be run everyday midnight. For example, if a loan amount is due on 01/12/2012 and remains unpaid on 01/12/2012, at midnight on 01/12/2012, a batch job should be run to calculate the late fee 2. The late fee should be added in the penalty column of the repayment due on 01/12/2012 |
| 5.3.3 | On the loan summary page, under the account details section, a new label/field for penalty should be added. | 1. the account details section should display the new label/field --“penalty” |
| 5.3.4 |
The apply charges option should display the Penalty configured defined in #5.1 as a dropdown option.( Any penalty configured and applicable to a loan account should be visible in the drop down) |
Currently the "apply charges" option in the loan account screen displays fees which are configured. Similarly there should be a provision to add penalties using apply charges 1. Need to modify the dropdown list values in the "apply charges" screen to include penalty. 2. Selecting and adding penalties should reflect the added penalty in the loan account and in the loan repayment schedules. |
5.4 Penalty payment using the collection sheet or apply payment option
| FR# |
|
|
| 5.4.1 | Collection sheet amount calculations should include the penalty amount applied to the account | 1. The amount due calculations need to be modified to include the penalty calculated |
| 5.4.2 | Penalty payments should be applied first in the repayment order | 1. Whenever a payment is made, the payment to the account should be applied in the order a. Penalty b. Other fees c. Interest d. Principal |
| 5.4.3 | When clicking on apply payment and making payments, the amount calculated should include the penalty ( if applied ) on the account. |
Making payments using apply payments should ensure that the penalty amounts are should be included in the payment amount. |
5.5 Repay Loan option should include the penalty calculated
| FR# |
|
|
| 5.5.1 | When user clicks on the repay loan option to close a loan, the total amount calculated to be paid should include any penalties already calculated | 1. Amount field should display the penalty+fees+interest+principal |
| 5.5.2 | If user clicks on the “remove” function of the fees/penalty, the penalty should be removed from the total payment amount | 1. Repay loan amount calculation should consider penalties applications and removal while calculating the amounts. |
5.6 Ability to remove penalty applied to a loan account
| FR# |
|
|
| 5.6.1 | An option to remove the penalty applied to the loan account should be provided. The removal of a penalty should be such that all the calculated and applied penalties should be reversed |
1. A “Remove” link should be added on the loan summary next to the recurring or one time penalty being displayed. |
| 5.7.2 | Removal of penalty should add the details of the activity to the “recent activity” details section | 1. The recent activity section should be modified to include changes resulting from the addition of penalty. |
5.7 Example Late Fee (penalty) calculations
In the examples below, only the penalty fields relevant to the example have been mentioned. See section 9 for the full list of parameters( fields) required for defining penalties.
| FR# |
|
|
| 5.7.1 | Penalty Amount : Fixed($1 say) Penalty application frequency : none (For fixed onetime penalty application) Grace period Type : None |
Example : A weekly loan with Repayments due on 01/04/2012 : $450 Payment status : Not paid At EOD on 01/04/2012, the daily batch job adds a fixed fee $1(say) to the Fee/Penalty of the loan Total amount due on 01/05/2012 :$451 On 01/06/2012 total amount due continues to be : $451 |
| 5.7.2 | Penalty Amount : Fixed ($1 say) Penalty application frequency : Daily Grace period Type : None |
Example : A weekly loan with Repayments due on 01/04/2012: $450 Payment status : Not paid At EOD on 01/04/2012, the daily batch job adds a fixed fee penalty $1 to the Fee/Penalty column of the loan Loan Amount due on 01/05/2012 : $451 If Payment Status is Not paid, At EOD on 01/05/2012, the daily batch job adds a fee penalty $1 to the Fee/Penalty of the loan Loan Amount due on 01/06/2012 : $452 Continue adding penalty of $1 till the installment due is paid |
| 5.7.3 | Penalty Amount : Fixed ($5 say) Penalty application frequency : Weekly Grace period Type : None |
Example : A weekly loan with Repayments due on 01/04/2012: $450 Payment status : Not paid At EOD on 01/04/2012, the daily batch job adds a fixed fee penalty $5 to the Fee/Penalty column of the loan Loan Amount due on 01/05/2012 : $455 Loan Amount due on 01/06/2012 : $455 If the account continues to remain unpaid until 01/11/2012( i.e. no payment is received) Additional Penalty on repayment amount due on 01/04/2012 : $5 Penalty for repayments due on 01/11/2012 : $5 Loan Amount due on 01/12/2012 : $455+$5+$450+$5(for current installment due) = $915 |
| 5.7.4 | Penalty Amount : Fixed ($5 say) Penalty application frequency : Weekly Grace period Type : Number of installments Grace Period duration: 1 |
Example : A weekly loan with Repayments due on 01/04/2012: $450 Payment status : Not paid At EOD on 01/04/2012, the daily batch job runs but the penalty is not calculated as there is a grace period defined. Amount due on 01/05/2012 : $450 If the loan installment continues to remain unpaid until 01/11/2012, the batch jobs adds $5 to the Fee/penalty column of the loan as the first time penalty amount Loan Amount due on 01/12/2012 : $450+$5+$450(*current installment due not paid) = *$905 |
| 5.8.5 | Penalty Amount : 0.5%(say) of Outstanding loan amount Penalty application frequency : Weekly Grace period Type : None |
Example : A weekly loan with principal of $20000 Total outstanding loan Amount on 01/04/2012 : $22000 Repayments due on 01/04/2012 : $450 Payment status : Not paid At EOD on 01/04/2012, the daily batch job runs and calculates the penalty/fee amount as Penalty/Late Fee Calculated: 22000*0.005 = $110 Loan Amount due on 01/05/2012 : $450+$110 = $560 If the account continues to remain unpaid on 01/11/2012, Total outstanding loan amount:$22000 + $110 = $22110 Penalty/Late Fee calculated:$22110*0.005 = $110.55 Total amount due on 01/12/2012 = $560+$110.55+$450( current due installment not paid) = $1120.55 |
| 5.7.6 |
Penalty Amount : 1%(say) of loan Amount Overdue Penalty application frequency : Weekly Grace period Type : none |
Example : A weekly loan with Repayments due on 01/04/2012 : $450 Payment status : Not paid At EOD on 01/04/2012, the daily batch job runs and calculates the penalty/fee amount as Penalty/Late Fee Calculated: 450*0.01 = $4.5 Loan Amount due on 01/05/2012 : $450+$4.5 = $454.5 On 01/11/2012, client pays $450 (the current due only). The amount should apply to repayment due on 01/04/2012 At EOD on 01/11/2012, the batch runs and calculates the late fee as follows: Penalty : 4.5*0.01+450*0.01 = $0.045+$4.5 = $4.54 Total amount due on 01/12/2012 = $450+$4.54 = $454.54 |
| 5.7.7 |
Penalty Amount : 1%(say) of loan Amount Overdue Penalty application frequency : Weekly Grace period Type : none |
Example : A weekly loan with Repayments due on 01/04/2012 : $450 Payment status : Not paid At EOD on 01/04/2012, the daily batch job runs and calculates the penalty/fee amount as Penalty/Late Fee Calculated: 450*0.01= $4.5 Loan Amount due on 01/05/2012 : $450+$4.5 = $454.5 If the account continues to remain unpaid on 01/11/2012, Total amount due :$454.5+$450 = *$904.5* Penalty/Late Fee calculated( for 01/04/2012 payment) 454.5*0.01 = $4.54 and Penalty/Late Fee calculated( for 01/11/2012 payment) = 450*0.01 = $4.5 Total amount due on 01/12/2012 = $904.5+$4.54+$4.5 = $913.54 |
| 5.7.8 | Penalty Amount : 0.1%(say) of loan principal amount Penalty application frequency : Weekly Grace period Type : Number of days Grace Period duration: 7 |
Example : A weekly loan with loan principal of $20000 Repayments due on 01/04/2012 : $450 Payment status : Not paid At EOD on 01/04/2012, the daily batch job runs but no penalty is calculated since the grace period is in effect. Repayments due on 01/05/2012 : $450 Repayments due on 01/06/2012 : $450 and so on If the account continues to remain unpaid on 01/11/2012,penalty is calculated by the batch job run at EOD for the installment due on 01/04/2012 Penalty/Late Fee calculated 20000*0.001 = $20 Total amount due on 01/12/2012 : $450+$20+$450(current repayment due not paid) = $920 |
| 5.7.9 | Penalty Amount : 1%(say) of loan amount due Penalty application frequency : Weekly Grace period Type : None Grace Period duration: NA Cumulative Penalty Limit (minimum) : $5 Cumulative Penalty Limit(maximum) : $10 |
Example : A weekly loan with Repayments due on 01/04/2012 : $450 Payment status : Not paid At EOD on 01/04/2012, the daily batch job runs and calculates the penalty/fee amount as Penalty/Late Fee Calculated: 450*0.01 = $4.5 Repayments due on 01/05/2012 : $450 +$5 (*since the minimum penalty to be applied is *$5) If the account continues to remain unpaid on 01/11/2012,penalty is calculated by the batch job run at EOD Penalty/Late Fee calculated 455*0.01 = $4.55 (for 01/04/2012 due amount) Penalty/Late Fee calculated 450*0.01 = $4.5 (for 01/11/2012 due amount) Total penalty(calculated) : $4.55+$4.5 = $9.05 However penalty applied : $5 ( cumulative maximum allowed penalty is $10 ) $9.05+$4.55 = $13.6 > $10, hence apply $10. But $5 already applied, hence $5 should be applied Total amount due on 01/12/2012 : $455+$450(current repayment due not paid) +$5 = $910 |
6 Standard Considerations
6.1 Security
| Security (Permissions, Roles, and Data Scope) | Yes/No | Comments |
| Does the user need to be in a particular user hierarchy to use this feature? | No | |
| Does the office hierarchy affect use of this feature? | No | Should only matter when an user is making a loan product, and in those situations in apply penalties it should fall under the user's ability to create loans for their given office. |
| Are you using any existing permissions to control this feature? | Yes | |
| Are you adding any new permissions or changing existing permission to control this feature? | No | |
| Are you using any existing activities to control this feature? | NO | |
| Are you adding any new activities or changing existing activities to control this feature? | No | |
| Are there any special considerations for upgrade scenarios? What will be the default value for new permissions? | Yes | Upgrades should not change any existing loan accounts. Any penalties created by the user will only apply to new loan products. |
| What will be the default values for default roles in a new installation? | NA |
|
6.2 Impacts to System
| Impacts to System | Yes/No | Comments |
| Does this feature affect Bulk Loan Creation? How? | No | |
| Does this feature affect Collection Sheet Entry? How? | Yes. | The calculation of total amount due should include the penalty amount calculated |
| Does this feature affect Redo Loans? | Yes. | After the redoing of the loans, if the penalty batch job finds an overdue payment with no late fee calculated, it should calculate and apply the penalty to the account |
| Does this feature affect Reverse Loans? | Yes. | Reversing a loan should reverse the penalty applied and paid on the loan account. |
| Is this feature affected by Holidays? |
Yes. | Currently this functional specification will ignore holidays and continue to apply penalties for holidays |
| Is this feature affected by Moratoriums? | |
|
6.3 Globalization/Localization
| Globalization/Localization | Yes/No | Comments |
| Will this feature support users localizing data that they enter? | No | |
| Does this feature involve any date/time related data, and if so how should conversions be handled? | No | |
| Is there currency or other numeric data ? If so does it require any special handling or validation? Is there a need for mult-currency? (Loan Accounts) | NO | |
6.4 Logging
6.4.1 Change Log
| Change Log | Yes/No | Comments |
| Do changes to the data that is collected or stored by the new feature have to be fully logged by the system? | Yes | Applications of Penalties should definitely be logged |
| Does the administrator configuring the system need the ability to turn on or off logging for this feature? | No | |
| Is the feature currently logged but the structure of the logged records changing? | No | |
6.4.2 Reporting
Provide any relevant information about reporting requirements for the new features and answer the questions below, providing detail to explain any particular area when necessary.
| Reporting | Yes/No | Comments |
| Does the feature affect any existing reports? | Yes | (TODO: Need to list the reports that should get changed/updated) -- can someone like John analyze the impact on the reports for these changes ? |
| Does the feature require adding any new reports? | NO | |
6.5 Performance
| Performance | Yes/No | Comments |
| Will the feature be a high use-case scenario? | Yes | |
| Will the feature have potential for high concurrency? | No | |
| Does the feature include complex UI or data gathering logic that will be used by a significant portion of the user base? | No | |
| Does the feature contain risks of database connection timeout? | No | |
| Will the feature contain any bulk insert/update/delete transactions? | No | |
| Will the feature contain any caching mechanisms or cache refreshing mechanisms? | No | |
| Could the feature result in a large amount of data being sent to the client or between the database and web server? | No | |
| Would users on a low bandwidth connection likely face issues with a part of this feature? | No | |
| Does the feature affect existing batch jobs or require adding any new batch jobs? | Yes. | A batch job is required to calculate the late payment fees at mid night for accounts which are due |
6.6 Setup and Installation
6.6.1 New Installations
| New Installations | Yes/No | Comments |
| Does this feature require both Mifos Business Intelligence Suite and Mifos Product? |
No | |
| Does this feature require special work for hosting? (sys admin) |
No | |
6.6.2 Backward Compatibility and Upgrades
| Backward Compatibility and Upgrades | Yes/No | Comments |
| Is there any data conversion that needs to be done as part of an upgrade? | No | (TODO: DEVS - please comment? - RW) |
| Will customers lose data or will the way existing data is stored change significantly? | NO | |
| Will another feature, workflow or portion of the data model be deprecated as a result of this new feature? | No | |
| Will existing role permissions be changed or impacted by this feature? If so provide details in the security section. | No | |
| Will existing customers need to learn a new UI process or change the way they use the system as a result of this new feature? | NO | |
6.6.3 Hosting Support
| Hosting Support | Yes/No | Comments |
| If different user groups are using the same database, are there concerns over the sharing of data related to the feature? | No | |
| Are there expected to be performance related issues with having many customers sharing the same hardware in support of this feature? | NA | |
6.6.4 Configuration
| Configuration | Yes/No | Comments |
| Does this feature require changes to configuration files? | |
|
| If so, is this feature enabled or disabled by default? |
|
|
| Are existing configuration properties used to control this feature? If yes, which ones? |
|
|
| Are new configuration properties added for this feature? |
|
|
7 Open Issues
1) How can we adjust Penalties for loans which are closed? (this requirement is being requisitioned by multiple clients)
Comment (RW)
- My gut says their should be an option to apply a penalty to a loan and when the user does this, it re-opens the loan with the penalty due. This will most likely mean the loan will fall into Active in Bad Standing. Probably would want/need devs to investigate how this might affect data and reporting. Some things to consider
- Does this change reporting for previous days? For example, if I apply the penalty a week after its paid off does this change reporting only going forward or do we have to change past reports?
- How does this affect accounting? Seems it would change the status of some payments/records
8 Reviews and Approvals
- ...
9 . Penalty Field definitions
Penalty definition screen
| Sl No. | Attribute Name | Data Type | Editable in state active - inactive |
Range | Mandatory/Optional | Description/Notes |
| 1 | Penalty Name | Text | Editable | NA | Mandatory | Name of the penalty to be configured |
| 2 | Applies To | Dropdown | NA | NA | |
|
| 3 | Grace period Type | Text | Editable |
NA |
Optional |
LOV takes the values 1. None 2. Number of installments 3. Number of days |
| 4 | Grace Period duration | Number | Editable | NA | Optional | |
| 5 | Cumulative Penalty Limit (minimum) | Number | Editable | NA | Mandatory | To define minimum allowed penalty |
| 6 | Cumulative Penalty limit(maximum) | Number | Editable | |
Mandatory | To define maximum allowed penalty |
| 7 | Interest Rate calculation type | List of Values |
Editable | Fixed Amount OR % of Outstanding Principal Amount Outstanding loan amount Overdue amount due Overdue principal |
Mandatory | If the penalty is a fixed amount , enter the fixed amount field, otherwise enter the calculation basis |
| 8 | Penalty Application Frequency | List of Values |
Editable | Daily Weekly Monthly None |
Optional | 1. Daily : Calculate and add penalty daily 2. Weekly : Calculate and add penalty every week 3. Monthly : Calculate and add penalty every month 4. None : for one time fixed penalty Default value is "None" if nothing is choosen |
| 9 | Accounting Details | List of Vaues |
Editable | List of GL codes | Mandatory | List the GL Codes with GL account name “Income from micro credit & lending activities” should be displayed here |

2 Comments
comments.show.hideJan 06, 2012
Ryan Whitney
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 |../../../../../../../../../../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.
Jan 19, 2012
Ryan Whitney
Posting more of my comments that I sent to the mailing list
1) I see for Actors that "Mifos Administrator and User" is still listed. I believe these should all be very specific about the permissions that are required (I had changed this in the first few stories last time). I believe this is important so the devs know what permissions to work with and we can tell if we need to add any new ones. - This also brings up the question - do penalties fall under the Fee permissions or not? It might be good to initially have that and see what users say and then if they'd like separate permissions, add them later (Devs - please weigh in)
2) Section 5.1.5 - I think it may help to define a little more when penalties are applied. For Daily, does it happen at the end of the day the payment is due? At 5pm? Does grace period affect this? Just might be helpful so we're all on the same page on when and how its applied
3) Section 5.2 - Are there some limits on how we add penalties? For instance, can we add a weekly penalty to a monthly loan? This may need to go somewhere else, not sure
4) Section 5.4.2 - I don't understand this at all. When using apply payment, I don't know where we've had the option to define where its being paid too - whether its a penalty, fee, principal, etc - we just take the payment - unless I don't understand this.
5) Section 7 - Adding penalties to closed loans - can we get a list of the MFI's so we can understand how much this is requested? I know Al Majmoua would like this.