Import Bank Transactions
Introduction
Al Majmoua currently handles all repayments of loans by clients by having clients deposit their repayments directly at a bank, and then Al Majmoua is able to download online a file of these recorded transactions to import their MIS. They need the ability to do this in Mifos as well. See related Business requirements for more detail.
User Stories (Epics)
Priority | User Story | Section in FR |
|---|---|---|
1 | As a user (accountant) at the HO, I want to be able to import a XLS of bank transactions from Audi Bank into Mifos so that all details for our clients' payments are accurately recorded in Mifos |
|
1 | As a loan officer at a BO, I want to be able to see the clients at branch have paid their loans in Mifos |
|
2 | As a user (accountant) at the HO, I want to be able to import a XLS of bank transactions from any bank into Mifos so that all details for our clients' payments are accurately recorded in Mifos |
|
Goals
Ability to import file of loan repayment transaction details into Mifos
Transaction History in Mifos accurately shows loan payments.
Non-Goals
The following items will not be addressed in this release:
Importing bank transactions from any bank other than Audi Bank
No import of attendance, savings, fees, or loan disbursal information - only loan repayments are imported.
Additional logging of import than what we do already in Mifos for logging
Definitions and Terminology
Mandatory fields will be preceded by *
Links are italicized
Buttons are Button
Related Documents
Business Requirements
Import Bank Transactions
This feature is in the Admin section and will allow the User to import bank transactions
Use Cases
Administrator assigns permissions to accountant to import bank transactions
Actors
Administrator
Preconditions
None
Basic Flow
Administrator logs onto Mifos and navigates to the Admin section. Administrator selects Manage Roles and Permissions. Administrator selects the role for accountants.
Mifos displays all possible permissions for the role and Administrator scrolls down to "Bulk". Administrator confirms that "Can import transactions" is checked.
Post-conditions
Accountant role has permission to import bank transactions
Alternative Flows
None
Validations
None
Accountant imports transactions (Audi Bank) - file with no errors
Actors
Accountant
Preconditions
Accountant has permissions to import transactions
Accountant has file in xls (Excel 97 format) to import
Basic Flow
Accountant logs onto Mifos and navigates to the Admin section. Accountant selects Import transactions.
Mifos displays new screen for Import Transactions.
Accountant selects Audi Bank Excel 97 or Audi Bank TSV for bank, and selects file from their computer for import. Accountant clicks on Continue.
Mifos imports file and checks for any errors (see Validations below). If there are no errors, Mifos displays Review & Submit screen with "There are no errors found. Click Submit to continue with import.".
Accountant clicks on Submit. Mifos displays confirmation screen that import was successful.
Post-conditions
All data available in the file has been imported and all the correct tables and loan account data correctly populated.
Validations
If a row has a cell that's empty in a required column is empty, that row is rejected and appropriate error message displayed.
No bad data - ie, no numbers in columns that require text and vice versa. Date of Transaction is in date format YYYY/MM/DD if it's a TSV file, or does not follow the expected format of that column. See FR's below.
Alternative Flows
Accountant cancels Import
At step 4, Accountant clicks on Cancel instead. Mifos returns User to the Admin screen.
Post-conditions
No data has been imported.
Import has errors and Accountant chooses to continue
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 continue with import of the valid rows and clicks on Submit. Mifos displays confirmation screen that import was successful.
Post-conditions
Valid rows are imported and invalid rows are rejected.
Import has errors and Accountant 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.
Accountant chooses to cancel and clicks on Cancel instead. Mifos returns User to the Admin screen.
Post-conditions
No data has been imported.
Import has errors and Accountant 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 Import Information instead. Mifos returns User to the previous screen. Return to Step 2 of Basic Flow.
Post-conditions
No data has been imported.
Loan Officer checks data has been updated
Actors
Loan Officer
Preconditions
Loan Officer has permissions to view clients loan data
Administrator has already imported data for that date.
Basic Flow
Loan Officer logs onto Mifos and navigates to client A's loan account.
Mifos displays Transaction History. Loan Officer confirms that a repayment has been updated correctly.
Post-conditions
None
Alternative Flows
Loan Officer doesn't see the data updated
Loan Officer selects a client who did not pay for the date of transaction the Administrator had imported.
Loan Officer goes to view that client's transaction history and sees that no transaction has been made.
Accountant imports bank transactions (generic) - P2
Actors
Accountant
Preconditions
Accountant has permissions to import bank transactions
Basic Flow
Accountant logs onto Mifos and navigates to the Admin section. Accountant selects Import bank Transactions.
OR Accountant clicks on link in Quick Start - Import bank Transactions
Mifos displays new screen for Import Bank Transactions.
Accountant enters date of transaction (defaulted to today). and selects file from their computer for import. File follows generic format set by Mifos.
Accountant can select up to 5 custom fields they want data imported from the file to map to. Ie - they select custom Field "Serial" and enter in column name "Serial" where the import will map to that column. No validations are done on custom field columns.
Accountant clicks on Continue.
Mifos imports file and checks for any errors (see Validations below). If there are no errors, Mifos displays Review & Submit screen with "There are no errors found. Click Submit to continue with import.".
Accountant clicks on Submit. Mifos returns the Accountant to the Admin screen.
Post-conditions
All data available in the file has been imported and all the correct tables and loan account data correctly populated.
Validations
If any cell in a required column is empty entire import is rejected with appropriate error message.
No bad data - ie, no numbers in columns that require text and vice versa. Date of Transaction is in date format MM/DD/YYYY or does not follow the expected format of that column. See FR's below. This is only for columns required in generic format - there is no validation done on Custom fields.
Alternative Flows
User Stories
Priority | Size | User Stories | Mingle card # |
|---|---|---|---|
1 | X-Small | As a User, I can give permission to import bank transactions. |
|
1 | Small | As a User, I can click on Import Bank Transactions and see options to import my file (Audi Bank). |
|
1 | Small | As a User, I can confirm that I want to import the data into Mifos. |
|
1 | Medium | Populate all data from file import in Mifos |
|
2 | Medium | As a User, I can click on Import Bank Transactions and see options to import my file (generic) |
|
Import Bank Transactions (Audi Bank) Functional Requirements
Add new permission
FR# | Pri | Description | Comments / Mockups |
|---|---|---|---|
1.1 | P1 | Add new permission "Can import transactions" under the Bulk subsection in Permissions. The ADMIN role should by default have this permission checked. |
|
1.2 | P1 | Assumption is the only check when the user imports transactions is if they have this permission checked in their role. There is no checking of their data scope and hierarchy. Ie: If the user is a Loan Officer in BO1, and has this permission checked in their role, then they are allowed to import any bank file, and there is no check that the data they are importing is only for their branch office. |
|
1.3 | P2 | If one day we implement importing transactions per branch, then permission should also check for data scope. Ie, can only import data for a particular branch. |
|
Add new screen for Import Bank Transactions (Audi Bank)
FR# | Pri | Description | Comments / Mockups |
|---|---|---|---|
2.1 | P1 | Add Manage Imports section with Import Transactions link in Admin section |
|
2.2 | P1 | New Import Data Transactions Screen with following fields: |
|
2.3 | P1 | Import format Field will have two options: Audi Bank (tab delimited) and Audi Bank Excel 97 formats |
|
2.4 | P1 | Screen has buttons Continue and Cancel. Clicking on Continue imports the file selected and Mifos does validations and brings User to Review & Submit screen. Clicking on Cancel returns User to Admin screen. |
|
2.5 | P1 | If there is no import plugin for the MFI, then the Import Format options will be blank and if the User tries to import a file and Continue, the following error message will be displayed at the top. Also if the User does not select a plugin even if there are options then the following error message will be displayed. |
|
2.6 | P1 | If there is no Mode of Payment configured in Mifos to be the same as the first cell of that file (in this case, should always be Bank Audi sal), then an error message will be thrown on the Import screen: |
|
Import File Details and Validations (Audi)
FR# | Pri | Description | Comments / Mockups |
|---|---|---|---|
3.1 | P1 | Audi Bank import file is currently in Excel. Al Majmoua will save these as a tab-delimited file first before importing into Mifos. |
|
3.2 | P1 | Audi Bank import file first few lines contain description of file. These are to be ignored. Only data after row of column headings will be imported. |
|
3.3 | P1 | Import file will have columns in below table |
|
3.4 | P1 | There will be bare basic error checking - to successfully import the data. |
|
3.5 | P1 | If a row with C (for Credit in D/C column) contains a cell that's missing a required field, Mifos displays an error message for each row this occurs. |
|
3.6 | P1 | If any value under Trans.Date column is not in format of YYYY/MM/DD if User is using TSV importer, then Mifos displays an error message for each row this occurs. |
|
3.7 | P1 | If any value under the Serial column is not numeric (ie text or special character) then Mifos displays an error message for each row this occurs. |
|
3.8 | P1 | If any value under the Description column does not follow the format PMTMAJ<2 letter code><5 digit loan id for external id> or <7 digit account id> or <15 digit loan id for Mifos loan id> then Mifos displays an error message for each row this occurs. Mifos should throw an error message when:
|
|
3.9 | P1 | Check if the same file name has been imported. If so, then throw an error message and reject the whole import. |
|
3.10 | P1 | After clicking on Continue, Mifos will display the Review & Submit screen with the following: |
|
3.11 | P1 | If any error messages apply, then Mifos adds the messages line by line.
|
|
3.12 | P1 | User can then either
|
|
3.13 | P1 | If User clicks on Submit, Mifos imports the file and displays confirmation screen - see mockup -> |
|
3.14 | P1 | There is no option to revert a file upload once it has been submitted. |
|
3.15 | P1 | There is no checking of duplicate rows (see 3.9) |
|
3.16 | P1 | Currency of values imported is directly inherited from the loan product that the loan account is mapped to. |
|
3.17 | P2 | If there are no rows found with import data, the following error message should be thrown: |
|
Audi Bank Import Columns and Description
Column Name | Required | Description | Comments | Validations | Range | Example | Maps to Mifos |
|---|---|---|---|---|---|---|---|
Trans.Date | Yes | Payment date |
| Validate date is in range (see above) | YYYY/MM/DD (for tab-delimited files) | 2009/09/01 | Transaction Date |
Serial |