Fineract Client Domain

When we create an end client in Fineract, the minimum required set of params are few params such as firstname and lastname OR fullname, officeId, active=true and activationDate OR active=false, if(address enabled) address.

The domain of the Customer Information File from the legacy suites of CBS/LMS/transactionprocessor and any external Customer Relationship Service is little bit similar to Fineract's basic client data attributes, but you might need to enable it in order to achieve the sync between the legacy suite and fineract-DB.

A client domain from most legacy suite - CBS and Customer information file formats matches with basic client data attributes in Fineract and may only need extra level of data tables if any other information is stored.

Those that are not included either require to be be calculated or new API resources need to be created. Some soft fields can also be created using datatables approach in Fineract.

This can be handled using an in-memory job processor, which can simply make batch calls to client resource when importing from legacy suite of CBS/LMS. Though identifier and documents API are also available with Fineract, these can be batch oriented to avoid cascading effects.

To be able to insert a client directly using SQL query, one needs the minimum number of parameters to be passed.

INSERT INTO `m_client` 
(`account_no`,`status_enum`,
 `activation_date` ,`office_id`, 
 `firstname`, `lastname` , 
 `display_name`, `gender_cv_id`,`date_of_birth`,`email_address`) VALUES 
('000001101',
'300','2020-04-14', 
'1','User from', 
'SQL', 'User from SQL', '1', '1992-08-16', 'test@test.com' )

The above command will create a user , there are obviously more options which can be passed such as the user who created this account. (Fineract maintains a user level auditability matrix)

Once we are done with the above command , we need to define relationships to the client account.

E.g In the present context of Fineract, the family members can be created with a client. Nominee relationships can also be exploited for the purpose of creating ownership relationships to client/customer account.

If the relationship has an account connected within the system then creating a client is required. As of now, the fineract does not support any kind of account(Loan or savings) level support to relationship. (except Nominee and Guarantor)

Fineract support an end client having many accounts. Essentially it is a one to many account framework.

INSERT INTO `m_family_members`
 (`client_id`, `firstname`, `lastname`, `qualification`, 
   `relationship_cv_id`, `marital_status_cv_id`, `gender_cv_id`,
   `date_of_birth`, `mobile_number` ) VALUES 
   ('1', 'RelationShip', 'Some', 'some', '1', '1', '1', '1992-08-17', 
   '9767901992')

Sequentially, Address has to inserted using the previous ID of the client obtained.

INSERT INTO `m_client_address`
(`client_id`, `address_id`, `address_type_id`,`is_active`)

Note: You will or may require to perform cleaning before ingesting data as is routine with data import.

Last updated

Logo

Maintained by © Muellners Foundation. All Rights Reserved.