Release |
2.2 |
Status: |
To be implemented |
A lot of users need functionality which allows them to create a large number of clients automatically by importing them from Excel file. This option should save a lot of time and effort in comparison to the manual creation of each client in UI. This requires the following:
Priority |
User Story |
Section in FR |
---|---|---|
1 |
As a user, I want to be able to import a file with all Clients, so that they will be properly created in Mifos. I expect that there are no differences between Clients created manually and by import. |
|
1 |
As a user, I want to have ability to define the Customer Global Number. |
|
1 |
As a user, I want to be able to see errors in import and be able to correct them. |
|
The following items will not be addressed in this version of the feature:
1. Log in to Mifos.
2. Switch to 'Admin' tab.
3. Click on 'Import client data' link in 'Manage Imports and Exports' section as it is shown below:
4. Import Client data page will be loaded as it is shown below:
5. Choose previously prepared .xls file by clicking on 'Browse' button.
6. If the right .xls file is chosen, click on 'Review' button.
4. Mifos imports file and checks for any errors. If there are no errors, Mifos displays Review and Submit screen with “There are no errors found. Click Submit to continue with import.
Actors
Preconditions
Basic Flow
Post Condition
Actors
Preconditions
User has permissions to import client data.
Basic Flow
Post Condition
Actor
Preconditions
Basic flow
Post condition
FR# |
Pri |
Description |
Comments / Mockups |
---|---|---|---|
1.1 |
P1 |
A new permission called 'Can import client data' is added to the Client Management section. This permission only applies to 'Client data import' page. |
|
1.2 |
P1 |
It is checked by default for Administrators. |
|
1.3 |
P1 |
If you have this permission, you can import Client data from Excel file. |
|
1.4 |
P1 |
If a user does NOT have this permission checked, user has no access to Import Client Data page. |
|
Actors:
Preconditions
Basic Flow
Post conditions
Validations
Post Conditions
Post-conditions
Post-conditions
Post-conditions
Actors
Preconditions
Basic Flow
Post-conditions
User can not correct errors during the import. If any error occurrs, user should stop importing data, make changes in the .xls (according to error message) and import corrected .xls file again.
FR# |
Pri |
Description |
Comments / Mockups |
---|---|---|---|
1.1 |
P1 |
Client Data import file is an Excel format (97) |
The file must be saved with .xls extension |
1.2 |
P1 |
Client data import file's first few lines contain description of file. These are to be ignored. Only data after row of column headings will be imported. |
|
1.3 |
P1 |
Import file will have columns in below |
|
1.4 |
P1 |
First check if row should be ignored or accepted. |
|
1.5 |
P1 |
If a row contains a cell that's missing a required field, Mifos displays an error message for each row this occurs. Only check the rows that are not ignored. |
|
1.6 |
P1 |
Date of Birth is in the format YYYY-MM-DD. If any value under Date column does not start in format of YYYY-MM-DD, then Mifos displays an error message for each row this occurs. |
|
1.7 |
P1 |
If Date of Birth is greater or lower than specified age range in configuration file then Mifos throws this error message: |
|
1.8 |
P1 |
If Branch short name and Group global number are not defined in the file then Mifos throws an error message |
|
1.9 |
P1 |
If cell contains value which is not defined in Mifos (Define Lookup options), then Mifos throws this error message: |
|
1.10 |
P1 |
If there is no Status column in the file, create Client in Mifos in Pending Approval status. |
|
1.11 |
P1 |
If there is Status column in the file, create Client in Mifos in specified state. |
|
1.12 |
P1 |
If Group is in wrong state, then Mifos thrwos the following errors: |
|
1.13 |
P1 |
If Group Global number does not matach with any Global number defined in Mifos, then the following error message is displayed: |
|
1.14 |
P1 |
Check if the same Client has been imported or already exists in Mifos. If so, then throw an error message: |
|
1.15 |
P1 |
Check if Client with the same global number has been imported or already exists in Mifos. If so, then throw an error message: |
|
1.16 |
P1 |
If file is not in .xls format then Mifos throws this error: |
|
1.17 |
P1 |
If mandatory field is not defined in the file, then Mifos throwsthis error message: |
|
1.18 |
P1 |
If there are no active Loan Officers in Branch to which Client will be imported then Mifos throws this error message: |
|
1.19 |
P1 |
If file doesn't contain enough number of cells or rows then Mifos throws the following errors: |
|
1.20 |
P1 |
If specified Office short name does not match any Office short names in Mifos, then this error message is dispalyed: |
|
1.21 |
P1 |
After clicking on Continue, Mifos will display the Review & Submit screen with the following: |
|
1.22 |
P1 |
User can then either
|
|
1.23 |
P1 |
If User clicks on Submit, Mifos imports the file and displays confirmation screen that import was successful. |
|
1.24 |
P1 |
There is no option to revert a file upload once it has been submitted. |
|
Column Name |
Required |
Description |
Validations |
Action |
Range |
Example |
---|---|---|---|---|---|---|
Client Global Num |
Yes |
Client Global number is a System ID number. IMPORTANT: it is not ID number from the database! This number can be defined by the user. |
Global number is unique in Mifos. Check if the same number doesn't exist in Mifos before import. |
Import |
Alphanumeric |
BSA122789563-5 |
Branch Short Name |
Yes |
Short name of the Branch Office. |
Check if this short name matches Branch Short Name definedin Mifos. |
Evaluate |
Alphanumeric (3 characters long) |
AS1 |
Group Global Num |
Yes |
Group Global number is a System ID number. IMPORTANT: it is not ID number from the database! |
Check if this number matches Group Global number definedin Mifos. |
Evaluate |
Numeric |
0006-0000000012 |
Salutation |
Yes |
Lookup option defined on 'Define Lookup options' page in Mifos. |
Value should match lookup option defined in Mifos. |
Import |
Options defined by HO |
Mr |
First Name |
Yes |
Client First Name |
Combination of First, Last name and Date of Birth is unique in Mifos. |
Import |
100 characters |
Michael |
Middle Name |
No |
Client Middle Name |
N/a |
Import |
100 characters |
John |
Last Name |
Yes |
Client Last Name |
Combination of First, Last name and Date of Birth is unique in Mifos. |
Import |
100 characters |
Collins |
Second Last Name |
No |
Client Second Last Name |
N/a |
Import |
100 characters |
Adams |
Government ID |
No |
Government ID |
N/a |
Import |
Alphanumeric |
123Ad45 |
Date of Birth |
Yes |
Date of birth |
Date of Birth should not be a future date, should match specified age range and should be in proper format. |
Import |
YYYY-MM-DD |
2011-02-20 |
Gender |
Yes |
Male or Female |
Gender can be Male or Female |
Import |
Male, Female |
Male |
Marital Status |
No |
Marital status |
Value should match lookup option defined in Mifos. |
Import |
Options defined by MFI |
Married |
Number of children |
No |
Number of children |
Value shoud be numeric. |
Import |
Numeric (0-30) |
2 |
Citizenship |
No |
Citizenship |
Value should match lookup option defined in Mifos. |
Import |
Options defined by MFI |
Non-Citizen |
Ethnicity |
No |
Ethnicity |
Value should match lookup option defined in Mifos. |
Import |
Options defined by MFI |
Indian |
Education Level |
No |
Education Level |
Value should match lookup option defined in Mifos. |
Import |
Options defined by MFI |
Both Illiterate |
Activities |
No |
Activities |
Value should match lookup option defined in Mifos. |
Import |
Options defined by MFI |
Trading |
Poverty Status |
No |
Poverty Status |
Value should match lookup option defined in Mifos. |
Import |
Options defined by MFI |
Poor |
Handicapped |
No |
Handicapped |
Value should match lookup option defined in Mifos. |
Import |
Options defined by MFI |
Yes |
Spouse/Father Relationship |
No |
Spouse/Father Relationship |
Father or Spouse |
Import |
Father, Spouse |
Father |
First Name |
No |
First Name |
N/a |
Import |
100 characters |
Jason |
Middle Name |
No |
Middle Name |
N/a |
Import |
100 characters |
Aron |
Last Name |
No |
Last Name |
N/a |
Import |
100 characters |
Collins |
Second Last Name |
No |
Second Last Name |
N/a |
Import |
100 characters |
Adams |
Address |
No |
Address |
N/a |
Import |
100 characters |
Main Street 1 |
City/District |
No |
City/District |
N/a |
Import |
100 characters |
Phoenix |
State |
No |
State |
N/a |
Import |
100 characters |
Arizona |
Country |
No |
Country |
N/a |
Import |
100 characters |
United States |
Postal Code |
No |
Postal Code |
N/a |
Import |
Numeric |
67-2345 |
Telephone |
No |
Telephone |
N/a |
Import |
Numeric |
678543120 |
Recruited By |
No |
Assigned Loan Officer |
Loan Officer specified in file should exist in Mifos. |
Import |
Alphanumeric |
Loan Officer |
Status |
No |
Status of the Client |
Status of the Client shoud not be higher than Group status. If this field is empty, Client should be created in Pending Approval state. |
Import |
Partial Application, Pending Approval, Active |
Active |
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 |
Are you using any existing permissions to control this feature? |
No |
Are you adding any new permissions or changing existing permission to control this feature? |
Yes - new permission for importing Client data |
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? |
No special considerations. Default value is checked in User role. |
Does this feature affect Bulk Loan Creation? How? |
No |
Does this feature affect Collection Sheet Entry? How? |
No |
Does this feature affect Redo Loans? |
No |
Does this feature affect Undo Loans? |
No |
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? |
Yes. See date format on Column definitions. |
Is there currency or other numeric data ? If so does it require any special handling or validation? |
No |
Do changes to the data that is collected or stored by the new feature have to be fully logged by the system? |
Yes |
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 |
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.
Does the feature affect any existing reports? |
No |
Does the feature require adding any new reports? |
No |
Will the feature be a high use-case scenario? |
No |
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? |
Yes |
Will the feature contain any bulk insert/update/delete transactions? |
Yes |
Could the feature result in a large amount of data being sent to the client or between the database and web server? |
Yes |
Would users on a low bandwidth connection likely face issues with a part of this feature? |
Depends on size of file |
Will the feature include demo data? |
No |
Does the feature require any data to be gathered at setup runtime? |
No |
Is there any data conversion that needs to be done as part of an upgrade? |
|
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. |
User role should be updated to have this permission checked. |
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 |
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? |
Yes. Depends on file size. |
Does this feature require changes to configuration files? |
No |
If so, is this feature enabled or disabled by default? |
N/a |