Data Migration Overview and Dependencies
Data Migration Here we cover some tips and strategies for migrating data from a legacy system into Mifos.
Migration Dependencies
Data | Description | Dependencies |
Mifos Config Information | Includes database settings, properties files, localization settings, definition of office hierarchy, additional fields, look up options etc | None |
Office & Related Information | Includes details of the head office and the various branches | Config Info |
Personnel& Related Information | Includes details of all the users of the system | Config & Office Info |
Customer & Related Information | Includes the details of the customers of the MFI | Config,Office & Personnel Info |
Manual Data Entry
Before beginning any data migration you should evaluate what pieces of data may be better served by doing manual data entry. Most of this has something to do with the Admin screen in Mifos, but there may be other areas to consider as well.
The following is a list of some of the areas you should consider entering in manually before beginning your data migration.
No. | Fees Related actions from Admin Screen | Notes |
1 | Define a new fee | Mifos Tables Hit are : FEES, FEE_FREQUENCY |
| ||
No. | Product Related actions from Admin screen | Notes |
1 | Define Product Categories | If necessary |
2 | Define New Loan/Savings Product |
|
3 | Define Product Mix |
|
| ||
No. | Office & Personnel Related actions from Admin screen | Notes |
1 | Define a New office | Office Details |
2 | Define Office Hierarchy |
|
3 | Define New System User | Personnel Details |
4 | Manage Roles and Permissions |
|
| ||
No. | Defining Additional Data from Admin screen | Notes |
1 | Define Additional Fields | The extra information (data fields) in the MFI Legacy system that need to be captured in Mifos are defined here |
2 | Define Look up Options | The drop down values for certain data fields are defined here |
3 | Define Labels | Any existing Labels on the UI of the application are changed here |
4 | Define Mandatory Fields | Fields are tagged as Mandatory or Hidden here |
| ||
No. | DB Configuration | Notes |
1 | Localization Settings : Language | http://www.mifos.org/developers/wiki/ConfiguringMifos#application-wide-install-time-settings |
2 | Application Settings | Enable features that are required in this DB table: config_key_value_integer |
3 | View Organization Settings Link from the Admin Screen | applicationConfiguration.default.properties |
4 | Custom properties | applicationConfiguration.custom.properties |
5 | Office Hierarchy of the MFI | Part of the DB Settings & properties files settings. |
6 | Holiday Configuration | Admin Screen --> Define new holidays. Define repayment rules for each holiday. |
7 | GL Codes | GL Codes can only be added, the codes shipped with Mifos cannot be modified. Since Mifos 2.6.0 user interface for Chart of Accounts creation is added and it is possible to add and modify GL Codes. |
Inserting Customer data
The following is a list of the tables one must insert data into to successfully create a customer.
No. | UI Action | Tables Affected - Inserts and Updates | Notes |
---|---|---|---|
1 | Create a Customer | insert into CUSTOMER | Data from UI |
|
| insert into CUSTOMER_DETAIL | Data from UI |
|
| insert into CUSTOMER_ADDRESS_DETAIL | Address Data from UI |
|
| insert into CUSTOMER_NAME_DETAIL | Client's & Dependant's Name Detail from UI |
|
| Insert into CUSTOMER_CUSTOM_FIELD | Additional Data from the source as defined will be stored here |
|
| insert into ACCOUNT | A customer account is created |
|
| insert into CUSTOMER_ACCOUNT | Contains list of Customer accounts created |
|
| insert into CUSTOMER_MEETING | Based on the meeting schedule of the group/center which he is a part of or for a client who is not part any group/center a separate customer meeting is created |
|
| insert into CUSTOMER_SCHEDULE | Based on the meeting schedule of the group & the MFI Holiday schedule , a repayment schedule for 10 installments is created when a client is created |
|
| insert into CLIENT_PERF_HISTORY or GROUP_PERF_HISTORY | Mifos inserts 2 metrics including total active loans & last loan amt. The other metrics are calculated on the fly in the Mifos code, there are no inserts made to the DB |
| |||
2 | Edit Customer Status | insert into CUSTOMER_NOTE | Note captured from UI |
|
| insert into CUSTOMER_FLAG_DETAIL | The reason for closing a customer is captured |
|
| insert into CHANGE_LOG | An entry is made when any existing information is updated |
|
| insert into CHANGE_LOG_DETAIL | Details of the actual fields updated is captured here |
|
| update CUSTOMER | Update the details that were changed |
| |||
3 | Move a Customer from One Group/Center to another | insert into CUSTOMER_HIERARCHY | An Entry is made to track Customer movement between groups/centers within the same office or between offices. |
|
| insert into CUSTOMER_MOVEMENT | An Entry is made to track Customer movement between offices |
|
| update CUSTOMER | Update the details that were changed |
| |||
4 | Edit MFI information | insert into CHANGE_LOG | An entry is made when any existing information is updated |
|
| insert into CHANGE_LOG_DETAIL | Details of the actual fields updated is captured here |
|
| Update CUSTOMER | Update the details that were changed |
| |||
5 | Edit personal information | insert into CHANGE_LOG | An entry is made when any existing information is updated |
|
| insert into CHANGE_LOG_DETAIL | Details of the actual fields updated is captured here |
|
| update CUSTOMER | Update the details that were changed |
|
| update CUSTOMER_DETAIL | Update the details that were changed |
|
| update CUSTOMER_NAME_DETAIL | Update the details that were changed |
Note:
- customer_detail.business_activities is the business activity of the client which is defined in the look up options as a drop down.
- loan-account.business_activities_id is the loan purpose of the loan.
- Any change in information should be entered into CHANGE_LOG & CHANGE_LOG_DETAIL to keep track of historical data.
Excel Import Formats for migrating Customer Data & Maps between Excel Format - Mifos DB tables
The Customer Data has been classified into two sections
If the Office & Personnel data has not been manually entered, the following files can be used to migrate the data.
Inserting Loan data
Here is a list of the tables one must insert data into to successfully make a loan
No. | UI Action | Tables Affected - Inserts and Updates | Notes |
---|---|---|---|
1 | Create a Loan | insert into MEETING | inserts a new record for loan account but the details are the same |
|
| insert into RECURRENCE_DETAIL |
|
|
| insert into RECUR_ON_DAY |
|
|
| insert into ACCOUNT |
|
|
| insert into LOAN_ACCOUNT | Data From UI |
|
| insert into ACCOUNT_FEES | Fees that are applied at the time of loan creation |
|
| insert into ACCOUNT_STATUS_CHANGE_HISTORY |
|
|
| insert into LOAN_SUMMARY |
|
|
| insert into LOAN_PERF_HISTORY |
|
|
| insert into MAX_MIN_LOAN_AMOUNT |
|
|
| insert into MAX_MIN_NO_OF_INSTALL |
|
|
| insert into LOAN_SCHEDULE | One Entry per installment |
|
| insert into LOAN_FEE_SCHEDULE | One Entry per installment |
| |||
2 | Edit Account status | insert into ACCOUNT_NOTES | Stores the notes entered in the UI while changing account state |
|
| insert into ACCOUNT_STATUS_CHANGE_HISTORY |
|
|
| update ACCOUNT |
|
|
| insert into CHANGE_LOG |
|
|
| insert into CHANGE_LOG_DETAIL | Number of entries depend on the number of fields changed |
| |||
3 | Edit Account Information | update ACCOUNT |
|
|
| update LOAN_ACCOUNT |
|
|
| update LOAN_SUMMARY |
|