Home > Knowledge Center > Deployment Support > Deploying Mifos > Migrating Data to Mifos

Document Actions

Migrating Data to Mifos

Here we cover some tips and strategies for migrating data from a legacy system into Mifos. We'll be expanding this section with more details over the coming months.

Topics

So you want to migrate data?

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
applicationConfiguration.custom.properties
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.
It can also be set using Admin Tab--> Define Office Hierarchy
6
Holiday Configuration
Admin Screen --> Define new holidays. Define repayment rules for each holiday.
Repayment rules are not loan specific in Mifos, 
7
GL Codes
GL Codes can only be added, the codes shipped with Mifos  cannot be modified.
For more details refer to - http://mifos.org/developers/wiki/ConfiguringMifos#using-a-custom-chart-of-accounts

 

Inserting Customer data

The following is a list of the tables one must insert data into in order to successfully create a customer.

 

No. UI Action Tables Affected - Inserts and Updates Notes
1 Create a Customer insert into CUSTOMER Data from UI
One Entry per Customer


insert into CUSTOMER_DETAIL Data from UI
One Entry per Customer
    insert into CUSTOMER_ADDRESS_DETAIL Address Data from UI
One Entry per Customer


insert into CUSTOMER_NAME_DETAIL Client's & Dependant's Name Detail from UI
Two Entries per Customer (for the Client and Spouse/Father)


Insert into CUSTOMER_CUSTOM_FIELD Additional Data from the source as defined will be stored here
Entries per Customer is dependent on the number of additional fields defined
    insert into ACCOUNT A customer account is created
Can have more than one entry per Customer


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
One Entry per Customer
    insert into CUSTOMER_SCHEDULE Based on the meeting schedule of the group & the MFI  Holiday schedule , a repayment schedule for 10 installments in created when a client is created


insert into CLIENT_PERF_HISTORY or GROUP_PERF_HISTORY Mifos inserts 2 metrics namely 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
One Entry per Customer

2 Edit Customer Status insert into CUSTOMER_NOTE Note captured from UI
Can have more than one entry per Customer
    insert into CUSTOMER_FLAG_DETAIL The reason for closing a customer is captured
One entry per Customer
    insert into CHANGE_LOG An entry is made when any existing information is updated
One Entry per Submit Action


insert into CHANGE_LOG_DETAIL Details of the actual fields updated is captured here
More than one entry per Submit action.Number of entries depends on the number of fields changed
    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.
Can have more than one entry per hierarchy per customer.
Only one active hierarchy exists for a customer at any point of time


insert into CUSTOMER_MOVEMENT
An Entry is made to track Customer movement between offices
Can have more than one entry per customer per movement
Only one active movement  exists for a customer at any point of time


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
One Entry per Submit Action
    insert into CHANGE_LOG_DETAIL Details of the actual fields updated is captured here
More than one entry per Submit action.Number of entries depends on the number of fields changed
    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
One Entry per Submit Action


insert into CHANGE_LOG_DETAIL Details of the actual fields updated is captured here
More than one entry per Submit action.Number of entries depends on the number of fields changed


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:

  1. customer_detail.business_activities is the business activity of the client which is defined in the look up options as a drop down.
  2. loan-account.business_activities_id is the loan purpose of the loan.
  3. 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 as
    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  
last modified 2008-12-24 21:46
Grameen logo