Fixed-Term Savings account (Deposit)
Fixed-Term Savings account (Deposit)
Release | Release J |
Current Owners: | Chetan B |
Status (Draft, In Review, Stable / Approved): | Draft |
Contents:
Introduction
Many MFIs across the world want to encourage their clients to open savings account and save a part of the income being generated by the loans provided. Savings account product in Mifos currently meets a part of the savings account requirements for clients.
However to encourage clients for long term savings, MFIs want to provide a savings product similar to a certificate of deposit whereby a client deposits certain amount of money in a savings account for a fixed duration of time. Clients are paid a fixed amount (Principal+Interest) at the end of the fixed duration. Also to discourage clients from withdrawing or closing the account before the end of the term, there is a need for MFIs to charge a penal interest/charge in case the account is closed before the end of the fixed duration
Goals
List Goals of feature
To add the fixed/term deposit savings product support to the Mifos product functionality
Non-Goals
The following items will not be addressed in this release:
item 1
item 2
Definitions and Terminology
Term | Definitions |
|---|---|
User | User of system |
Mandatory fields will be preceded by "*" (an asterisk)
Links are italicized
Buttons are Button
Related Documents
*insert links to related specs here
2. User Stories
List high level user stories - these can be broken down later into small user stories / user tasks if needed
Priority | User Stories | Section in FR |
|---|---|---|
PR1 | As a Mifos Administrator, I want to be able to create a term deposits product from the Administrator screen of Mifos | 4.1 |
PR2 | As a Mifos Administrator, I want to be able to view and edit the attributes defined in the term product definition | 4.2 |
PR3 | As a Mifos Administrator, I want to be able to assign permissions to other user roles so that users can create a term deposit product. | 4.3 |
PR4 | As a Mifos Administrator, I want to be able to assign permissions to other user roles so that users can create, edit and approve term deposit accounts and perform transactions | 4.3 |
PR5 | As a Mifos user, I want to be able to create a term deposit account as per the product attributes specified in product definition | 4.4 |
PR6 | As a Mifos user with appropriate permissions, I want to be able to approve/reject a term deposit account after creation | 4.5 |
PR7 | As a Mifos user, I want to be able to payout the term deposit maturity value at the end of term to the clien | 4.6 |
PR8 | As a Mifos user, I want to be able to payout the calculated term deposit value when the client intends to close the account before the end of term. | 4.6,4.7 |
PR9 | As a Mifos user, I want to be able payout the term deposit value for cases when the deposit end date is past due. | 4.7 |
3. Use Cases
3.1 Ability to create a term deposit product with appropriate attributes
Actors
Mifos administrator or user with permission to create a Term deposit product ( administrator role assigned)
Preconditions
Administrator is logged into Mifos and has permissions
Basic Flow
Mifos Administrator ( or user with appropriate permissions) logs into Mifos
User navigates to the Admin Screen
User clicks on the "Define Term Deposit product" link
User enters the required information -product name, interest calculation etc - ( refer FR #4.1 for full list of attributes/fields) and clicks on preview
User submits the information
Post-conditions
Term deposit product with the required attributes should be created
Alternative Flows
Validations
1. If an attribute is mandatory, a validation message should be displayed when the preview button is clicked.The error message should read "Please specify a value for field : ". For the list of mandatory fields, refer the section 9 of the document
2. If any special characters are entered in the name column, an error message "Enter valid name in the Product Instance name value" should be displayed.
3.2 Ability to edit a term deposit product
Actors
Mifos administrator or user with permission to create and edit a Term Deposit product ( administrator role assigned)
Preconditions
Administrator is logged into Mifos and has permissions
Basic Flow
Mifos Administrator ( or user with appropriate permissions) logs into Mifos
User navigates to the Admin Screen
User clicks on the "View term Deposit product" link
User enters/edits the required information -product name, interest calculation etc - ( refer FR #4.2 for full list of attributes which are editable) and clicks on preview
User submits the information
Post-conditions
Term deposit product with the required attributes should be saved with the changed information
Alternative Flows
Validations
1. If an attribute is mandatory, a validation message should be displayed when the preview button is clicked.The error message should read "Please specify a value for field : ". For the list of mandatory fields, refer the functional spec
2. If any special characters are entered in the name column, an error message "Enter valid name in the Product Instance name value" should be displayed.
The validations should follow the attributes definition mentioned in FR#9 and section 9
3.3 Ability to assign a new permissions for Term Deposit product creation
Actors
Mifos administrator or user with permission to assign and modify permissions ( administrator role assigned)
Preconditions
Administrator is logged into Mifos and has permissions to modify other role permissions
Basic Flow
Mifos Administrator ( or user with appropriate permissions) logs into Mifos
Navigates to the Admin Screen
Navigates to "Manage Roles and Responsibilities" link and clicks on an existing or creates a new role
Post-conditions
Under product definition, the new sub Category - Term Deposit products should be viewable with sub categories for
Can define new term deposit product instance
Can edit new term deposit product instances
User should be able to click on the permission and submit.
Alternative Flows
Validations
3.4 Ability to assign permissions for Term Deposit transactions
Actors
Mifos administrator or user with permission to assign and modify permissions ( administrator role assigned)
Preconditions
Administrator is logged into Mifos and has permissions to modify other role's permissions
Basic Flow
Mifos Administrator ( or user with appropriate permissions) logs into Mifos
Navigates to the Admin Screen
Navigates to "Manage Roles and Responsibilities" link and clicks on an existing or creates a new role
A new category "Term Deposit Management" should be available to assign permissions
Post-conditions
Under Terms Deposit Management category, permissions associated with term deposit transactions such as
Creation of a term deposit account
update a term deposit account
Can change state to active etc should available to be assigned to the role. ( For full list of permissions, refer to the FR#4.3)
User should be able to click on the permission and submit.
Alternative Flows
Validations
3.5 Ability to create a Term Deposit account for a Center/Group/Client
Actors
Mifos user with permission to create a Term Deposit account
Preconditions
User is logged into Mifos and a center/group/client is already created
Basic Flow
Log into Mifos
navigate to Branch->loan officer->center->Group->client for creating a term deposit account for Client. The navigation will change appropriately for creating a term deposit account for a Group or a center
The "open new account" option should display "Term Deposit" next to the Loans|Savings account links
Click on the "Term deposit" click
The available Term deposit accounts should be visible in the next screen
Choose a term deposit from the available list of products
Post-conditions
1. The term deposit product instance attributes should be visible as a summary
2. The following fields should be available for user entry : Term Deposit Amount, Term Start Date, Term End Date
3. Clicking on the "Continue", should show the maturity value of the deposit at end of the term.
4. Clicking on "Save for Approval" button should save the account details and modify the account status to " Application Pending Approval "
5. The status change for the account should be visible under the "View change log" and "View status history".
Alternative Flows
1. Clicking on the "Save for later" button should save the account details and modify the account status to " Partial Application"
Validations
1. If the user clicks on the continue button without entering the Amount , an error message "Please specify the amount for account creation" should be mentioned
2. If the user clicks on the continue button without entering the Term Start date OR Term End date, an error message " Please specify the term start date or end date" should be displayed
3.6 Ability to approve a Term Deposit account in "Application Pending Approval" State
Actors
Mifos user with permission to approve or Edit a Term Deposit account
Preconditions
User is logged into Mifos and a center/group/client is already created
A term deposit account in "Application Pending Approval" status exists
Basic Flow
Log into Mifos
navigate to Branch->loan officer->center->Group->client. The navigation will change appropriately for creating a term deposit account for a Group or a center
On the client summary, click on the term deposit account link next to the Loans| Savings account links
Click on the term deposit account number
The Term deposit accounts details should be visible.
Click on "Edit account status" link
Select the "Active" radio button, enter notes and click on preview
Post-conditions
1. The term deposit account status should change to "Active"
2. The status change for the account should be visible under the "view change log" and "view status history".
3. A transaction for the amount deposited in the term deposit account should be recorded and "view transaction history" should display a transaction.
Alternative Flows
1. When the user clicks on the "Edit account Status" link, three options - "Partial Application","Active" and "Cancelled" should be shown
2. Clicking on cancel and entering the comments should close the account status to "cancelled" status.
Validations
1. If a user who does not have permissions to approve term deposits logins and tried to change the status of the loan to "active" , an error message " You do not have permissions to perform this activity. Contact your system administrator to grant you required permissions and try again" should be displayed
3.7 Ability to pay out the term deposit at end of term
Actors
Mifos user with permission for making Term Deposit transactions
Preconditions
User is logged into Mifos and a center/group/client is already created
A term deposit account with interest rate is created, approved
the account's term end date has passed and the payout is due today .i.e the deposit's term has been completed.
Basic Flow
Log into Mifos
Navigate to Branch->Loan officer->Center->Group->Client.The navigation will change appropriately for creating a term deposit account for a Group or a Center.
On the client summary, click on the term deposit account link next to the Loans|Savings account links
Click on the term deposit account number
The Term deposit accounts details should be visible.
Click on the "payout/close account" option
Post-conditions
1. On a new screen, the following fields should be shown on the account payout/close screen : - Date of transaction, Amount( Should be calculated), Mode of Payment, Receipts, Receipt ID and notes
2. The amount calculated should be based on terms & conditions entered while creating the account.Since the payout is due today, the amount to be paid out should be as calculated during the account creation.
3. The status change for the account should be visible under the "View change log" and "View status history".
4. A transaction for the amount paid out ( interest +principal) in the term deposit account should be recorded and "view transaction history" should display a transaction for the amount paid out with the appropriate GL entries.
Alternative Flows
Validations
1. If a user does not select the mode of payment , then an error "Please specify the mode of payment" must be shown
2. If the user does not enter any value in the notes column, an error message " Please specify notes value" must be shown
3.8 Ability to Close/Pay out a Term Deposit account anytime in the term period
Actors
Mifos user with permission for making Term Deposit transactions
Preconditions
User is logged into Mifos and a center/group/client is already created
A term deposit account with interest rate is created, approved
The term deposit account's period should be current status
Basic Flow
Log into Mifos
navigate to Branch->loan officer->center->Group->client. The navigation will change appropriately for creating a term deposit account for a Group or a Center.
On the client summary, click on the term deposit account link next to the Loans| Savings account links
Click on the term deposit account number
The Term deposit accounts details should be visible.
Click on the "payout/close account" option
Post-conditions
1. On a new screen, the following fields should be shown on the account payout/close screen : - Date of transaction, Amount( Should be calculated), Mode of Payment, Receipts, Receipt ID and notes
2. The amount calculated should be based on the terms & conditions ( attributes) defined in the term product definition. Since the term deposit account is being closed before the end of term, the interest should be paid out prorata and at the early "pay out/penalty" interest rate.
3. The status change for the account should be visible under the "view change log" and "view status history".
4. A transaction for the amount paid out ( interest +principal) in the term deposit account should be recorded and "view transaction history" should display a transactions for the amount paid out with appropriate GL entries.
Alternative Flows
Validations
1. If a user does not select the mode of payment , then an error "Please specify the mode of payment" must be shown
2. If the user does not does not enter any value in the notes column, an error message " Please specify notes value" must be shown
3.9 Ability to Close/Pay out a Term Deposit account after the term date
Actors
Mifos user with permission for making Term Deposit transactions
Preconditions
User is logged into Mifos and a center/group/client is already created
A term deposit account with interest rate is created, approved
The term deposit account's end date should have passed.
Basic Flow
Log into Mifos
navigate to Branch->loan officer->center->Group->client
On the client summary, click on the term deposit account link next to the Loans| Savings account links
Click on the term deposit account number
The Term deposit accounts details should be visible.
Click on the "payout/close account" option
Post-conditions
1. On a new screen, the following fields should be shown on the account payout/close screen : - Date of transaction, Amount( Should be calculated), Mode of Payment, Receipts, Receipt ID and notes
2. The amount calculated should be based on the terms & conditions ( attributes) defined in the term product definition. Since the term deposit account is being after the end date, for the days after the term end date, the interest should be calculated based on the default Savings interest rate set up.
3. The total payout should include the term deposit interest and the default savings interest
Alternative Flows
Validations
1. If a user does not select the mode of payment , then an error "Please specify the mode of payment" must be shown
2. If the user does not does not enter any value in the notes column, an error message " Please specify notes value" must be shown
4. Functional Requirements
4.1 Term Deposit Product creation
FR# | Description | Comments/Mockups |
|---|---|---|
4.1.1 | A new link " Define term Deposit Product" needs to be added under the Admin Section. | The link should be displayed under Manage Products ->Manage Savings Product -> "Define New Term Deposit Product" |
4.1.2 | In the admin section, for defining a new product category for term deposits, the product type lookup needs to be updated | In the Admin screen, under Manage Products->Define new category, the product types shown are Loans and Savings. There is a need to add a new product type to create a new product category "Term Deposits". |
4.1.3 | A new default category for "Term Deposits" is required to be added | In the admin screen , under Manage Products-> View product category, a new product category "Term Deposits" needs to be displayed. |
4.1.4 | To create the term deposit product, the product attributes need to be displayed | The following attributes need to be displayed : |
4.1.5 | For the mandatory attributes, validations are to be performed on submitting the information. The validation message should read " Please specify a value for : mandatory field" | The following fields are mandatory |
4.2 Editing Term Deposit product attributes
FR# | Description | Comments/Mockups |
|---|---|---|
4.2.1 | A new link " View Term Deposit Product" needs to be added under the Admin Section. | From Admin->Manage products-> Manage Savings Products -> "View Term Deposit Product" needs to be added under the admin section |
4.2.2 | "View Term Deposit Product" should display all available term deposit products. It should also provide the option to create a new Term Deposit product | Similar to the existing "view savings product" functionality |
4.2.3 | Clicking on the product instance name should take the user to term product screen with option to edit the information | At the right hand side top, a link "Edit Term Deposit Product" should be displayed.Clicking on the link should open the term product definition screen for editing the values |
4.2.4 | Only specific attributes of the term deposit product should be editable on the term deposit product screen | The following fields should not be editable |
4.2.5 | The product edit functionality should have the same validation criteria as the product creation function | Similar to the existing "View savings product" functionality |
4.3 Creating new Permissions for Term Deposits
FR# | Description | Comments/mockups |
|---|