Mifos X maker-checker, better explained!
Maker-checker (or Maker and Checker, or 4-Eyes) is one of the central principles of authorization in the Information Systems of financial organizations.The principle of maker and checker means that for each transaction, there must be at least two individuals necessary for its completion.
Mifos X has configurable maker (MC) for each and every action! yes you read it correct, for each and every action and that is great feature. But for now not let get into pros and cons of it, for sure I will write more detailed blog on it later.
Based on the definition of maker-checker, if MC is enabled for any action then now that action will become two step process, i.e., maker does the action and checker with permission approves/reject the action.
Now consider the example of client creation and activation workflow without and with enabling MC.
Assume the below scenario at "Bangalore" branch of Finmax financial institute
There are three staffs at three different hierarchical level of organization,
Lokesh as Loan Officer
Adam as Assistant Manager
And Manoj Branch Manager
Scenario without MC:
Lokesh creates the client profile and Manoj activate/reject the client.
Scenario with MC (1):
Now with help of MC, organization can define better workflow/process for client creation and activation.
Assume that organization wants put maker-checker (4 eyes) for both client creation and client activation step and creates appropriate roles with permission as below
Lokeh can create only clients
Adam can create clients, can be checker for client creation and can be maker for client activation.
Manoj can be checker for client activation.
So process will be as follows
Step 1: Lokesh creates a client called Caveri, now created client is pending for approval from checker
Step 2: Adam approves the client creation
Step 3: Adam activates the client, but since MC is enable for both creation and activation, so client activation goes into pending for approval from checker.
Step 4 : Manoj approves the client pending for activation, so final Caveri client is created and activated in the system.
Now, how do I do this in Mifos X? below information should help you.
STEP 1: Enable maker-checker at global level
Navigate to Admin > System > Configurations
In this page enable the maker-checker (after enabling valiue for Enabled? should be true )
This means, now I have enabled maker-checker in the application, if there any maker-checker enabled per action (ex: say approve loan, create client) then those actions will go through MC workflow.
if this maker-checker is disabled, even if you have defined maker-checker at each action level then no MC check is made as this is global configuration and overrides MC configuration at each action level.
STEP 2: Enable maker-checker at each action level
Navigate to Admin > System > Configure Maker Checker Tasks
Click on Edit at right top corner on the page
And enable maker-checker for Client creation and client activation
STEP 3: Assign checker permission to appropriate roles
Example: Monoj is manager, so make sure manage role has "client activation-checker" permission.
Navigate to Admin > System > Manage Roles and Permissions
click on the appropriate role and give checker permission
We are done with configuration. Now if you create client then it will not be created unless checker approve it (till it is approved, it will be waiting in checker inbox ). Similarly any other action configured for MC workflow will behave the same.










