Client Data Import Functional Spec
Client Data Import
Release | 2.2 |
Status: | To be implemented |
Introduction
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:
Ability to import new Clients in any states with all necessary information. It should be possible to import Client inside Group and without Group. Configuration properties should be taken into account. Mandatory fields defined in Mifos should also have impact on importing information.
Import functionality should accept Excel files in .xls format. There should be no difference between clients created manually and by import.
User Stories
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. |
|
Goals
Ability to import file with Client data so that Mifos can create Clients in the specified state.
Properly displays rows read, ignored, errored, and imported during import.
Non-Goals
The following items will not be addressed in this version of the feature:
Ability to import file with different or switched columns
Ability to import Client data when Center hierarchy is turned off.
Ability to specify meeting information during import.
Ability to create default savings accounts for clients during import.
Basic flow in Mifos UI
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.
Mifos Permissions and Mandatory Fields
Use Cases
Use Case – User without permissions to create Clients and to import Client data tries to import Client data
Actors
User without permissions to create Client
Preconditions
Only Adminstrator/Loan Officer has permissions to import client data.
User without permissions to create Client should not also has permission to import Client data.
Basic Flow
User without permission to import Client data opens 'Admin' tab.
User without permission to import Client data clicks on 'Import client data' link.
User without permission to import Client data sees warning message instead of content of the page.
Post Condition
User without permission to import Client data is unable to import Client data.
Use Case – User with appropriate permissions tries to import Client data.
Actors
User with appropriate permissions
Preconditions
User has permissions to import client data.
Basic Flow
User opens 'Admin' page.
User clicks on 'Import client data' link.
User selects file to import.
User submits changes.
User checks if clients are created properly.
Post Condition
User is able to create client via import functionality and to view/edit newly created clients.
Use Case – User with appropriate permissions imports file with client data without mandatory fields
Actor
User with appropriate permissions
Preconditions
Poverty status and Ethnicity fields have been set as mandatory fields under Define Mandatory/Hidden fields.
Basic flow
User tries to import file with empty Poverty status and Ethnicity fields
User clicks 'Review' button
Mifos displays an error message that mandatory fields are not filled out.
Post condition
Mifos displays error message.
Mifos Permissions Functional Requirements
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. |
|
Import Client Data
Use Case - User import transaction file with clients data
Actors:
User (Loan Officer/Admin)
Preconditions
User has permission to import client data
User has file in xls to import
Basic Flow
User logs into Mifos and navigates to the Admin section. User selects 'Import client data' link.
Mifos displays new screen for import client data
User selects previously prepared .xls file from his computer for import and clicks on 'Continue' button.
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”
Data Encoder clicks on SUBMIT. Mifos displays confirmation screen that import was successful.
Post conditions
All clients listed in file will be created in Mifos in specified state.
All client details listed in xls file are properly imported to Mifos and are visible on Client details page.
Clients without Group membership will be created in Mifos also without Group membership.
There is an appropriate entry in change log for every created Client.
Meeting frequency is properly inherited from related Group/Center.
Validations
If mandatory fields in file are not defined, Mifos displays error message and row with incomplete data will not be imported (see below)
If status of Client is higher than Group status to which Client is imported, then Mifos displays error message and row with incomplete data will not be imported
See Import File Details and Validations for specific column validations.
Alternative Flows
Use Case - User Cancels import
At step 4, User clicks on 'Cancel' button instead, Mifos returns user to admin section
Post Conditions
No data has been imported
Use Case - Import has errors and User chooses to continue
At step 4, Mifos determines there are errors from Validations mentioned below. Mifos displays Review & Submit screen with error messages depending on types of error.
User chooses to continue with import of the valid rows and clicks on 'Submit' button. Mifos displays confirmation screen that import was successful.
Post-conditions
Valid rows are imported and invalid rows are rejected.
Use Case - Import has errors and User chooses to Cancel
At step 4, Mifos determines there are errors from Validations above. Mifos displays Review & Submit screen with error messages depending on types of error.
User chooses to cancel and clicks on 'Cancel' button instead. Mifos returns User to the Admin screen.
Post-conditions
No data has been imported.
Use Case - Import has errors and User chooses to import a different file
At step 4, Mifos determines there are errors from Validations above. Mifos displays Review & Submit screen with error messages depending on types of error.
Accountant chooses to import a different file and clicks on 'Edit:Client information' button instead. Mifos returns User to the previous screen. Return to Step 2 of Basic Flow.
Post-conditions
No data has been imported.
Use Case - User checks that Clients have been created successfully
Actors
User (Loan Officer/Admin)
Preconditions
User has permissions to view clients loan data
Clients data has already been imported
Basic Flow
User logs onto Mifos anduses search function to find Clients created via import.
User selects any Client (created via import) from the list.
Mifos displays Client details page with the same information as in the xls file (status, group membership, personal information, correct entry in change log).
Meeting frequency is the same as in the related Group/Center.
Post-conditions
None
Import Client Data Functional Requirements
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
|
|