LSIM

Loan Schedule Independent of Meeting Schedule

Date last updated: 21 Feb 2008-Nesrine

UI prototypes are available `here <https://mifos.dev.java.net/source/browse/mifos/documents/ui-workspace/Enda%20UI/25_Jul_2007.zip?rev=11952&view=log>`_.
Sometimes referred to as LSIM.

Background

The initial version of Mifos (as of May, 2007) couples loan disbursal dates/loan repayment schedules with meeting schedules. All loans must be disbursed and repaid on meeting days. Though this constraint works for many MFIs, it is too rigid for some MFIs which allow loan repayment days to occur on non-meeting days.

One such MFI is ENDA, based in Tunisia. ENDA processes allow for loan disbursals and repayments to occur on non-meeting days. The first version of this feature is being built to support ENDA's need for Mifos to allow loan disbursals and repayments on non-meeting days.

For MFIs that still want Mifos to require repayments to be scheduled on meeting days, this new functionality can be disabled through configuration settings.

Feature summary

This feature is to address the following requests:

  • Configuration settings in Mifos to allow loan repayment schedules and loan disbursal dates independent of meeting schedules.
  • Ability to enter a loan disbursal date which does not occur on a meeting day if the configuration setting in Mifos is turned on for this feature.
  • Ability to define a loan repayment schedule on the loan account creation page which allows repayment days to occur on non-meeting days if the configuration setting in Mifos is turned on for this feature. Loan repayment schedule for a loan account must still comply with the loan repayment frequency defined in the loan product.
  • Ability to configure a min and max interval of days between loan disbursal and loan schedule start date if the MFI requires this. For ENDA, this is a range of 28-31 days.
  • Ability to change meeting schedule without affecting or altering loan schedules.

Scope

Currently, Mifos generates a loan repayment schedule based on a client/group's meeting schedule-both loan disbursals and loan repayments are scheduled to happen on meeting days. We want to provide the ability to generate loan schedules with disbursals and payments occurring on non-meeting days.

The following items are considered out of scope for the first version of this feature:

  • Editing the repayment schedule once the loan has been disbursed
  • Still to be determined: Support for this in multiple loan creation (bulk loan creation) pipeline

Definitions

Repayment day:Meeting day:Repayment schedule:Meeting schedule:Repayment frequency:Meeting frequency:

Feature Description

UC1: Define disbursal date/repayment day

Prerequisites

  • Configuration settings: "Allow payments on non-meeting days" is turned on
  • *`
    Unknown macro: {optional}

    `* Min and max interval of days between disbursal date and loan schedule start date has been configured if the MFI requires an interval to be validated.

    Primary Flow

    • In the create loan account pipeline, on the create loan account page, the following fields are populated based on the client meeting schedule: _ The disbursal date: is by default equal to the next meeting date _ The repayment day: is by default the client's "frequency of meetings", previously defined.
    • The user can change the default disbursal date to a non-meeting date. However the disbursal date cannot be a date in the past. It must be a date in the future.
    • The user can change the default repayment day so that repayments occur on non-meeting days. However, repayment days must still occur at the same frequency as meeting days (e.g. if meetings are once a month, loan repayments must be once a month, even if they occur on different days of the month than the meetings)

    NB: On the loan account page, the frequency of repayments cannot be changed at the loan account level; only the day can be overwritten. The repayment frequency is based on the frequency of repayments defined in loan product definitions For example: If the frequency of meetings defined for the client is: "Every 4 Tuesday of each 1 Month", on the loan account page "each 1 month" will be disabled/grayed-out. The user can only change the day of the month of repayments (e.g. "Every 4 Tuesday" can be changed to every 3 Wednesday).

    • When the user clicks on continue, the system should calculate the loan schedule start date which is independent of grace period, and perform the following actions: * If the system is configured with a min/max interval between loan disbursal and loan schedule start date, based on both the disbursal date and the repayment day entered by the user, the system should check if the loan schedule start date falls within the configured interval of days between disbursal and loan schedule start date. For example, based on ENDA's configuration, it should be a period of [28-39] days that separates the disbursal date from the loan schedule start date.

    NB: The min and max range constraints should be checked independently of grace period. If there are grace periods, the eventual loan schedule start date has to be calculated then adjusted based on the number of grace periods to set the effective loan schedule start date.

    • When the user clicks on continue, the review installments page is displayed and the system should have performed the following:

    Post-conditions:

    • The repayment schedule calculation is henceforth based on the attributes related to the loan account: The disbursal date and the repayment day _ Loan repayment dates are aligned with "repayment dates" defined in the loan account page and are based on the frequency of repayment and the disbursal date. _ The meeting schedule is not considered when calculating the repayment schedule
    • The disbursal date, in the Disburse loan page, will display the disbursal date defined on the loan account information page and the user shouldn't be able to change it
    • The loan schedule start date should be displayed on the review installments page.

    Alternate Flow

    • If min range is not configured, It should be at least one day separating the loan schedule start date from the disbursal date, else an appropriate error should be displayed on the loan account information page.

    Error Text: There are not enough days between the disbursal date and the first repayment date that the system has calculated. Modify your disbursal date or your repayment day so that the number of days between the disbursal date and first repayment date is at least 1 day

    • If when overwriting the disbursal date, the user enters a past date, the system should display an appropriate error on the loan account information page.

    Error Text: You have entered an invalid disbursal date. Enter a disbursal date greater than or equal to today's date

    • If when overwriting disbursal date, repayment day or both of them, the user makes entries so that the loan schedule start date doesn't fall on the defined interval, the system should alert the user to update the disbursal date, repayment day or both of them , so that we obtain the proper loan schedule start date. An appropriate error should be displayed on the loan account information page.
      • If min range is not met, Error text: There are not enough days between the disbursal date and the first repayment date that the system has calculated. Modify your disbursal date or your repayment day so that the number of days between the disbursal date and first repayment date is at least [min] day(s)
      • If max range is not met, Error text: There are too many days between the disbursal date and the first repayment date that the system has calculated. Modify your disbursal date or your repayment day so that the number of days between the disbursal date and first repayment date is at most [max] day(s)

    UC2: Edit disbursal date/repayment day

    Prerequisites

    • Configuration settings: "Loan schedule independent of meeting schedule" is turned on
    • `
    ` Min and max interval of days between disbursal date and loan schedule start date has been configured
  • Loan account status = "partial application", "pending approval", "application approved", or "disbursed to LO". That is, loan is not disbursed to the client yet

Primary Flow

  • The user searches for the loan account for which disbursal date or repayment day needs to be changed
  • On the loan account page, the user edits the disbursal date, the repayment day or both of them and clicks on continue
  • The system should check whether the new entries satisfy the predefined interval between the disbursal date and the loan schedule start date
  • The system should perform the following updates when displaying the review installments page

Post-conditions:

  • A new repayment schedule is calculated based on the new entries for disbursal and repayment day.
  • From the disbursal date, the loan repayment dates are aligned with "repayments dates" defined in the loan account page and are based on the frequency of repayment
  • The disbursal date in the Disburse loan page will display the new disbursal date if disbursal date was edited
  • New entries should be made in the change log page to capture details about the data modifications

Alternate Flow

  • When editing the disbursal date, if the user enters a past date, the system should display (when the user clicks on continue) an appropriate error on the loan account information page
  • When editing disbursal date, repayment day or both of them, the user makes entries so that the loan schedule start date doesn't fall on a defined interval, the system should alert the user to update the disbursal date, repayment day or both of them , so that we obtain the proper loan schedule start date. An appropriate error should be displayed on the loan account information page.

UI Screens

  • Add a new mandatory field in the loan account information page (Group and individual), labelled as Repayment day.

Additional information

  • Configuration settings: Handled through the config file * Add among organizational preferences: "Allow payments on non-meeting days"
    • If this configuration is turned on, that means that the calculation of the loan repayment schedule is henceforth based on the loan account attributes. The user will be able to set disbursal date and repayment days to non-meeting days when a new loan account is created.
    • If this configuration is turned on, then interest deducted at disbursement attribute is disabled.
    • If this configuration is turned off, the repayment day will be grayed and the disbursal date should be a meeting date . Both repayment day and disbursal date will bepopulated based on the meeting schedule information.
    • When choosing this configuration option, the user could configure the interval that should separate the loan schedule start date from the disbursal date.It should be mentioned on the config file, that configuring this interval is optional
    • If min range is left empty, the system should set automatically the min range to one day. Thus, on the view organization settings, the min range should be one day if it is left empty on the config file.

NB: The UI prototype will show a configured interval of 28-31 days.If the min or max or both of them are left empty, the following will be displayed, accordingly on the view settings page:

Days between disbursal date and loan schedule start date: minimum [28]days, maximum [31]days

  • If the meeting schedule in the center/group/client level has been edited and there already opened loan accounts, the change wouldn't affect the repayment schedule already generated.

Open issues

  • Handling the following scenario is a low priority: All Lo clients must have the same repayment day
  • The min/max range doesn't need to be configurable per loan product
  • There is no need for a new permission since this feature will be held through configuration settings
  • The frequency cannot be changed at the account level. This is assumes that it could be changed in the client level. It isn't currently the case in Mifos, even when the client status isn't active yet. How could the user change the meeting schedule if he makes wrong entries?
  • Still working on the UI and error text

Out of ENDA's Scope

Bulk entry Vs Loan schedule independent of meeting schedule:

Background

Currently, the bulk entry allows you to select a loan officer and then center or group (depending on whether center hierarchy has been set up or not). The bulk entry will then default to the last meeting date. Since loan schedules are no longer tied to meeting schedules, the system should not default to meeting dates, but simply to the current date.

Prerequisites

  • Configuration settings allow loan schedule independent of meeting schedule

Primary flow

  • The user selects a branch
  • From a list of Loan Officers, the user selects one LO
  • The user choose the Center/Group assigned to the selected LO
  • Transaction date- by default, this will be the current date. The user can change the date to a date in the past (if the system is configured to allow transactions in the past to be entered), but cannot enter a date in the future (as is the case with the current design).
  • Bulk entry for the selected center/Group should be displayed.
  • Specify: Payment type, Receipt#, receipt date (these 3 items would then apply across all transactions collected for the center
  • The system should then show all disbursals, payments, and savings deposits for the specific date entered for the particular group selected. Amounts for each client, group and account should be pre-populated when the bulk entry loads.
  • Review
  • Submit

Post conditions

When performing validation after submitting,there will be no changes compared with the current system behaviour.

Create multiple loan accounts Vs Loan schedule independent of meeting schedule:

Background

Currently, multiple loan account creation set repayment days and disbursal date to meeting days. This feature should be updated to perform as single loan accounts creation so that repayment days and dibursal date could be different from meeting days.

Prerequisites

  • Configuration settings allow loan schedule independent of meeting schedule

Primary flow

  • The user selects a branch (existing behavior)
  • From a list of Loan Officers, the user selects one LO (existing behavior)
  • The user choose the Center/Group assigned to the selected LO (existing behavior)
  • The user choose the loan instance name and click on search (existing behavior)
  • Create loan accounts page is displayed. (existing behavior)
  • The disbursal date: is by default equal to the next meeting date. The ability to select disbursal date is a new field that needs to be added to this page.
  • The repayment day: is by default the Center / Group frequency of meetings. The ability to select repayment day is a new field that needs to be added to this page.
  • The user can change the default disbursal date to a non-meeting date. However the disbursal date cannot be a date in the past. It must be a date in the future.
  • The user can change the default repayment day so that repayments occur on non-meeting days. However, repayment days must still occur at the same frequency as meeting days
  • The user select the clients, enter loan amounts and loan purposes and click on submit.
  • Validation of disbursal date and repayment day should be the same behavior as on the single loan account creation page for this feature (see Use Case 1).

Post conditions

  • The system should perform as for single loan creation.
  • The disbursal date and repayment day should perlocate to all created loan accounts