Mifos X Financial Service Engine

Java JDK 8

To compile the source code, and as a run time environment, Java JDK 8 is needed.

Download and install Java from


Git serves as our distributed revision control system.

You can find detailed information on how to install git on your system at


MySQL server 5.5 or 5.6

MySQL is the database used by the Mifos X Financial Service Engine.

Download and installation instructions can be found here:

On this page:


Please first check if your MySQL 'root' user has the default 'mysql' password:

 $ mysql -u root -pmysql

For quick development, unless it's already the case, it is recommended that you change your MySQL 'root' user password to 'mysql'. For doing that you need to fire the following command:

$ mysqladmin -u root -p 'oldpassword' password newpassword

Or, if you don't have any password already for Root login as Root then follow the instructions:

update mysql.user SET password=PASSWORD('newpassword') WHERE user ='root';
flush privileges;

Mifos X has support for hosting multiple tenants so we use two database schemas:

  1. mifosplatform-tenants: which is responsible for persisting the tenant information which is used when deciding what schema each incoming request in the platform should route to. It acts as a registry which contains the details of all the tenant databases, and their connection information, which is used by MifosX to connect to the appropriate tenant.
  2. mifostenant-default: All tenant specific schemas follow the pattern mifostenant-xxxx, out of the box the default schema is used to represent a demo

Create schema/database named mifosplatform-tenants

Once you have downloaded and build the Mifos X Financial Engine following these:- Build Instructions, you need to create the database 'mifosplatform-tenants':

create database `mifosplatform-tenants`;

Then open a console and go to [your project root]/incubator-fineract/fineract-provider and execute the following command:

$ ./gradlew migrateTenantListDB -PdbName=mifosplatform-tenants

This will populate all needed tables and some default data.

Create schema/database named mifostenant-default

The last thing to do is creating the default tenant so you can test-drive the software:

create database `mifostenant-default`;

When the Mifos X Financial Service Engine starts, all tables will be created or updated so you don't need to take any further action.

Mifos X Community App


If you use Windows or Mac OS download and install npm from If you use a Linux distribution with a package manager see for details on your OS.

bower and grunt

To download the dependencies, and be able to build, first install bower and grunt:

npm install -g bower
npm install -g grunt-cli