Import Bank Transactions

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

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

  1. Administrator logs onto Mifos and navigates to the Admin section. Administrator selects Manage Roles and Permissions. Administrator selects the role for accountants.

  2. 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

  1. Accountant logs onto Mifos and navigates to the Admin section. Accountant selects Import transactions.

  2. Mifos displays new screen for Import Transactions.

  3. Accountant selects Audi Bank Excel 97 or Audi Bank TSV for bank, and selects file from their computer for import. Accountant clicks on Continue.

  4. 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.".

  5. 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

  1. 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

  1. At step 4, Mifos determines there are errors from Validations above.  Mifos displays Review & Submit screen with error messages depending on types of error.

  2. 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

  1. At step 4, Mifos determines there are errors from Validations above.  Mifos displays Review & Submit screen with error messages depending on types of error.

  2. 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

  1. At step 4, Mifos determines there are errors from Validations above.  Mifos displays Review & Submit screen with error messages depending on types of error.

  2. 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

  1. Loan Officer logs onto Mifos and navigates to client A's loan account.

  2. 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

  1. Loan Officer selects a client who did not pay for the date of transaction the Administrator had imported.

  2. 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

  1. Accountant logs onto Mifos and navigates to the Admin section. Accountant selects Import bank Transactions.

    1. OR Accountant clicks on link in Quick Start - Import bank Transactions

  2. Mifos displays new screen for Import Bank Transactions.

  3. Accountant enters date of transaction (defaulted to today). and selects file from their computer for import. File follows generic format set by Mifos.

    1. 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.

    2. Accountant clicks on Continue.

  4. 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.".

  5. 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 #

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

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

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:

* Import format (dropdown)

* Select import file (browse for select file)

 

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.



Please select the import type.

 

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:



No payment type found named <bank>

where <bank> is the first cell of that file.

 

Import File Details and Validations (Audi)

FR#

Pri

Description

Comments / Mockups

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.

Row <#> is missing data.

where the row # is the original row # of the import file.

 

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.

Transaction date value in Row <#> does not follow expected format (YYYY/MM/DD).

where the row # is the original row # of the import file. 

No error message will be thrown to validate date format when using Excel importer since the importer will check for correct date format automatically.

 

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.

Serial value in Row <#> does not follow expected format.

where the row # is the original row # of the import file. 

 

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:

  1. 1. PMTMAJ<two-letter-code> does not precede some numbers. If the numbers that follows is not 5 digits. 2. If number of digits without <two-letter-code> is not 7 digits or 15 digits.

  2. If the numbers that follows is not 5 digits or 15 digits. 



    The following error message should be displayed.

    Loan ID could not be extracted from Row <#> where the row # is the original row # of the import file.

 

3.9

P1

Check if the same file name has been imported.  If so, then throw an error message and reject the whole import.



Same file name has been imported.  Please import a different file.

 

3.10

P1

After clicking on Continue, Mifos will display the Review & Submit screen with the following:

Review the information below.  Click Submit if you want to continue with import or click Edit to make changes. Click Cancel to return to Admin page without submitting information.



Import information



Import file name: <name of file>

Import Status: <#> rows contained no errors and will be imported.



where <#> is the number of valid rows being imported. 

See mockup.

 

3.11

P1

If any error messages apply, then Mifos adds the messages line by line.



The following rows contained errors and will not be imported:

  • Row <x> is missing data.

  • Serial value in Row <x> does not follow expected format. and then the error messages are displayed one per line.

 

3.12

P1

User can then either

  1. Click on Edit import information to go back to previous screen and upload new file.

  2. Continue with import and Submit.

  3. Cancel out of the workflow (returning to Admin screen).

 

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:



No rows found with import data.

 

 

Audi Bank Import Columns and Description

Column Name

Required

Description

Comments

Validations

Range

Example

Maps to Mifos

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