Mifos Configs
Mifos Configs
Mifos Configs
The following required software components to run Mifos are all open source and freely available for download.
Java: Mifos is written and developed with the Java 6 SE programming language to successfully run Mifos on your machine requires the Java environment installed. o Current Version: JDK 6 Update 24 o Note: Only the JRE is needed to run an instance of Mifos for testing, staging, or production. If you will be developing on Mifos, you must install the JDK) Previous updates before 24 should work fine with Mifos. MySQL Community Edition: To successfully manage and process all of the data within Mifos requires a RDBMS on the back-end. MySQL must be properly downloaded and configured prior to running Mifos. o Current Version: mySQL Community Edition 5.1 (both the 32 bit and 64 bit versions of MySQL will work) TomCat: Mifos is a web-based application and requires Apache Tomcat to be run as your Java Servlet container either locally or on your web server. (Core Windows zip) o Current Version: Apache Tomcat 6.0.32
Create a folder called Mifos Install to download Mifos and other required components to run Mifos. We recommend setting up this folder at the root level: (C:\MifosInstall)
Download Mifos
Save the Mifos download zip file to this Mifos Install folder. If you've already saved it elsewhere you can copy and paste it here. Unzip or extract the contents of the folder here to Mifos Install. We're going to first install the other required software before installing Mifos.
Before you do install a Java SDK, check to see if you have any previous versions of Java installed and uninstall them (unless you need them for something else) - either the JVM (Java Virtual Machine) or the JDK (Developers Kit).
I had a previous version installed and had to uninstall it via Start menu->Control Panel>Add/Remove Programs. (ex: I had to remove java 1.4.2.) Download and install the Java SE JDK installer (JDK 6.0) o Current version is JDK 6 Update 22 (as of Oct 25, 2010) o Keep in mind that newer release *could* cause changes, so be mindful if something is very new
Apache Tomcat
Go to the Apache Tomcat Download Page for the 6.0 Branch (7.0 has been released but not fully tested by our team) Download the core binary distribution 32-bit Windows zip file for Apache Tomcat o Go to Binary Distributions, and then Core, then right click and save the zip folder to the Mifos Install folder.
Unzip and extract contents of folder to Mifos Install. *IMPORTANT that you extract to here.*
Download mySQL Community Edition 5.1 and save to Mifos Install (choose Windows Essentials 32-bit version with MSI Installer)
Double click the downloaded file to begin running the Installer. Select Typical installation and click Next.
Click Install.
Click Next and then select Detailed Configuration for Instance Configuration Wizard and click Next.
Keep the selection for Developer Machine Under Server Type and click Next.
Select C: Installation Path for InnoDB Tablespace Settings and click Next.
Select Decision Support (DSS)/OLAP for Number of Concurrent Users and click Next.
Select Enable TCP/IP Networking, choose Port Number: 3306, select Enable Strict Mode and click Next.
Set up your root password under security options. Select Modify Security Settings. Enter your root password and confirm it. You can leave the password as its default, mysql, if you like. Please note if you make any changes.
*If you'd previously installed a Mifos database, your window will look like this and you'll need to enter your current root password.
Once all configuration settings have been successfully applied, click Finish to close the Wizard.
Configure MySQL
Configuring MySQL can be done in a number of different ways:
By directly editing values in the my.ini file. Using MySQL GUI Tools or MySQL Workbench Using MySQL Workbench
In this example, we're going to configure the MySQL database by directly editing the my.ini file. MySQL GUI Tools have been phased out and MySQL Workbench can be used if you're administering multiple databases. Configuration by directly editing my.ini file
Locate your my.ini file in the folder where MySQL Server has been installed. My location is: C:\Program Files\MySQL\MySQL Server 5.1
Open this file to edit it in a text editor like Notepad. There are six parameters we'll configure:
max_connections=300 innodb_buffer_pool_size=1024M innodb_file_per_table log-error=mysql_error.log log-slow-queries=mysql_slow_query.log long_query_time=1
Scroll to the bottom of the file and enter the following 4 entries on separate lines: o innodb_file_per_table o long_query_time = 1 o log-error = mysql_error.log o log-slow-queries = mysql_slow_query.log
Save changes and close out the my.ini file. Open up the file one more time to ensure the changes were saved.
Enter the DOS command line. This can be done by entering cmd in the Run window.
Log in to MySQL using root account. By default password will be mysql unless you changed it while installing MySQL. o To log in, type:
mysql -uroot -p o
Press enter and you'll be prompted for your password (this is the password you set defined for root while configuring MySQL).
Now let's enter the first command to create the database called mifos. o Type the following and press enter (make sure to include semi-colons):
You should see a message that states Query OK, 1 row affected... To confirm the database was successfully created, type the following and press enter:
show databases;
Now let's create the user, mifos, its password, and grant it necessary privileges. o The password is determined by the string that follows identified by. For this example, I've made my password nonsecure but you should choose a secure password. All commands would be different according to which password you select. So the command works like this: GRANT ALL on '<DATABASE NAME>'.* to '<USER ID>'@'<HOST NAME>' identified by '<PASSWORD>'; o Type the following (making necessary change for your password after "identified by") and press enter:
GRANT ALL on mifos.* to 'mifos'@'localhost' identified by
'<PASSWORD>';
Execute this last command to complete the user creation process. Type the following and press enter:
FLUSH PRIVILEGES;
Now let's exit out of MySQL command line by typing exit and pressing enter.
Initiate MySQL
Next we need to initialize the Mifos database, by running the three commands below from the directory that contains this INSTALL file. These commands assume a database username of "mifos" and in my case I'm using the password "nonsecure". Adjust them if your database password is different.
mysql -D mifos -u mifos -p<PASSWORD> < sql/latest-schema.sql mysql -D mifos -u mifos -p<PASSWORD> < sql/latest-data.sql mysql -D mifos -u mifos -p<PASSWORD> < sql/init_mifos_password.sql
We're still in the DOS command line but will need to cd (change directory) into the directory that contains the INSTALL file. In my case this was Mifos Install.
Execute the first command (you'll know the command is successfully executed when the command line prompt appears again below). Replace <PASSWORD> with your password:
o mysql -D mifos -u mifos -p<PASSWORD> < sql/latest-schema.sql
You can now exit out of the command line window by clicking x.
Update local.properties file if you changed mysql password for user id mifos.
In my example, I used the password of nonsecure for my mysql database. By default, Mifos expects a database called Mifos with the user id of mifos and password mifos. Since I set my password to to mysql to a different one, unique from mifos, you'll need to customize your local.properties file to specify this new password.
Open your local.properties file. It is located in the config folder which is in the same directory where INSTALL is located.
Highlight the current password of mifos and replace it with your actual password. Save the changes.
Click the Advanced tab. Then click to open Environment Variables. In this next step, we'll be setting system variables, make sure you aren't creating user variables.
Set up JAVA_HOME environment variable. o This should be the directory/folder where the JDK is installed. First, locate where you have the JDK installed. In my example, my JDK was located here: C:\Program Files\Java\jdk1.6.0_21 (Screenshot below shows location of my JDK)
Under System variables, click New to set up a new variable. In variable name, enter JAVA_HOME For Variable value, enter or copy and paste the location of the JDK - in my example - C:\Program Files\Java\jdk1.6.0_21 (this will be unique to wherever you installed the JDK).
Set up CATALINA_HOME environment variable o This time, it should be the directory/folder where the Apache Tomcat is installed (in my example, this is the Mifos Install folder where I previously unzipped it to). The location for my example was C:\Mifos Install\apache-tomcat-6.0.29\apache-tomcat6.0.29 Once again this will be unique to your instance. Screenshot below shows location of my Apache Tomcat.
Still under System variables, click New to set up another new variable. In Variable name, enter CATALINA_HOME For Variable value enter the location of your Apache Tomcat. In my example, C:\Mifos Install\apache-tomcat-6.0.29\apache-tomcat6.0.29 (ONCE AGAIN - THIS WILL BE UNIQUE TO YOUR INSTANCE)
Set up CATALINA_OPTS. o Click New. For Variable name, enter: CATALINA_OPTS For Variable value, enter or copy and paste the following (make sure to include the initial hyphen): -Xms1024M -Xmx1024M -XX:MaxPermSize=256m
Set up MIFOS_CONF. o Since we customized our local.properties file, we need to set up a system variable for MIFOS_CONF so Mifos knows which directory in which to locate the custom local.properties file. o In my case, this directory is: C:\Mifos Install\mifos-v1.6.1\mifosv1.6.1\config This will be unique to your installation and where you've placed your folders.
o o
Click New. For variable name, enter: MIFOS_CONF For Variable value, enter the location of your config folder; in my example: C:\Mifos Install\mifos-v1.6.1\mifos-v1.6.1\config
Navigate back to the Mifos Install directory. Click into the mifos_v1.5.0.1 directory. You will now copy and paste the mifos.war file into the CATALINA_HOME/webapps directory.
Locate your CATALINA_HOME directory (it's where you install Apache Tomcat to). Navigate into the webapps folder and check to see if any of the following temporary directories exist, if so - delete them: o CATALINA_HOME/webapps/mifos o CATALINA_HOME/work/Catalina/<hostname>/mifos (where <hostname> is the namer of your server)
Configure Mifos
Before running Mifos, you can configure it to support your organizational structure. Configuration is an important stage to ensure that Mifos meets your business requirements optimally. Because some settings in Mifos can only be changed from their default values once, before Mifos is run for the first time, you should review the default Mifos configuration. See our Mifos Configuration Guide to learn more about these settings. The below steps outline how to use a custom configuration. However, to keep this install simple, I'm going to use the default configuration and make no changes.
1. 1. Using the Default Configuration: A default configuration is provided. If you want to quickly get Mifos up and running to try it out, then no configuration is needed. 2. Using a Custom Configuration: This is a very important step in setting up Mifos to match your business processes - in Mifos there are a number of one-time settings you must configure properly before running the application for the first time. Please read over the Mifos Configuration Guide to know the different Mifos parameters you can configure. These include: 1. Setting your Language and Locale 2. Accounting settings including your Chart of Accounts for general ledger transactions, rules for interest, rounding, etc. 3. Calendar settings including working days, available workflow states, etc. 4. Client settings including Officer Hierarchy (whether or not Centers exist) 5. Process settings such as order of transaction import for M-PESA 6. Reporting settings such as allowing of back-dated transactions 7. Trapdoor settings that can only be configured one time.
8. If you created a MIFOS_CONF environment variable (directory for Mifos custom configuration files) in the previous step you can now follow the Mifos Configuration Guide for further details and options.
3. Changing the Default Mifos Configuration: To make changes to the default configuration, edit the file config/applicationConfiguration.custom.properties to the MIFOS_CONF directory defined in the previous step, Step 2. 4. Changing the Default Database Connection Settings: To use non-default settings for your database connection -- such as a different port number, user name, or password -- edit the file config/local.properties to the MIFOS_CONF directory defined in Step 2.
Run Mifos
Execute Tomcat startup script in CATALINA_HOME/bin o Navigate to the bin folder in your CATALINA_HOME directory. o Double-click and run the startup.bat script
Tomcat status window should open up showing status of mifos.war being deployed.
Mifos.war is completely deployed once you get a message similar to: INFO: Server startup in 103984 ms
Alternative, if Tomcat was installed as a service on Windows, navigate to Control Panel >Administrative Tools > Services to verify that the service's status is "Started" Next, visit the base url in a internet browser: http://localhost:8080/mifos o username: mifos o password: testmifos
Configuration
Mifos Configuration Guide
Mifos Configuration
The following topics are for system administrators and Mifos specialists configuring Mifos who are deploying Mifos. Table of Contents
Mifos Configuration Overview Before you run Mifos... o About the One-Time Settings o Using a Custom Chart of Accounts o Creating your own Financial Action Mappings o Customizing the Application Configuration File Locale Accounting Calendar Clients Process Reporting Batch Jobs o Adjusting Session Timeout o Scheduling Batch Jobs o Customizing your Database Connection Mifos version 1.2 and older Mifos versions greater than 1.2 and upgrades
o Database-Configured Settings Before your users access Mifos... o Starting Mifos o Customizing the User Interface User Interface Labels List Box Items (Look-Up Options) Required and Hidden Fields Create Additional Fields o Defining Office Hierarchy o Creating Roles o Creating Users o Configuring Payment Types o Setting Lateness and Dormancy Definitions o Defining Holidays o Information on Reporting and PPI Surveys
Overview
The topics assume that you have installed Mifos and configured its third-party applications as described in Installing Mifos, and that you are ready to configure the administrative settings in Mifos. After you configure these settings, your Mifos deployment will be ready for you or someone else to create loan and savings products, add new clients and groups, open accounts for clients and groups, and configure reporting. The administrative configuration process involves two groups of settings, which should be configured at two different times:
Before you run Mifos: Certain administrative settings can only be configured when Mifos is not running. Among them are settings whose default values you have only one opportunity to change-before you run Mifos for the first time. Before your users access Mifos: There are also administrative settings you should configure before your users access Mifos. You configure these settings via the Mifos user interface, on the Admin tab.
Note for version 1.0 users: Changes since Mifos version 1.0 include moving install-time settings out of the database and into plain-text files. If you are using Mifos version 1.0, see Configuring Mifos version 1.0.
When Mifos runs for the first time, it writes values to its database. Although many of these values can be changed later, some cannot. Specifically, the values from the Chart of Accounts can only be written to the database once. Similarly, TRAPDOOR properties in the application configuration file can only be assigned non-default values once, before you run Mifos for the first time. After that point, a TRAPDOOR property value can only be changed to its default setting.
The Chart of Accounts used by Mifos can be customized to exclude certain General Ledger (GL) accounts or use a different hierarchy of accounts. Note that you have only one opportunity to make these customizations, before you run Mifos for the first time. To customize the Chart of Accounts:
1. Create a copy of the default Chart of Accounts configuration file that ships with Mifos and name it mifosChartOfAccounts.custom.xml. 2. Customize mifosChartofAccounts.custom.xml as described in Chart of Accounts. 3. Mifos 1.6.x and earlier: Place your customized file on the app server classpath before you run your first instance of Mifos in your final, production environment. 4. Mifos versions greater than 1.6.x and trunk development:: Place your customized file in one of the MifosConfigurationLocations before you run your first instance of Mifos in your final, production environment.
Note: Once Mifos is deployed, you won't be able to delete GL accounts or change the account hierarchy. See the bulleted lists below for more information. After Mifos is deployed, you can only make the following changes to your GL accounts:
Add new GL accounts (excluding top-level accounts) Change account names (excluding top-level accounts)
You cannot make the following GL account changes after Mifos is deployed:
Delete GL accounts Create new top-level accounts Modify top-level account names Modify the account hierarchy (moving parents/children) Modify GL codes
Unlike the Chart of Accounts, financial action mappings can be customized any time Mifos is not running.
GL accounts are used in conjunction with particular actions. For example, when principal is added to a new loan account (a credit), Mifos choses a GL account based on a mapping. The default mappings that Mifos uses are stored in applicationContext.xml, a file that ships with Mifos. For Mifos to function correctly, all actions must be mapped to an existing GL account. To customize the financial action mappings:
1. Create a file named mifosBeanConfig.custom.xml. 2. Customize mifosBeanConfig.custom.xml (see the example below). 3. Mifos 1.6.x and earlier: Place your customized file on the app server classpath before you run your first instance of Mifos in your final, production environment. 4. Mifos versions greater than 1.6.x and trunk development:: Place your customized file in one of the MifosConfigurationLocations before you run your first instance of Mifos in your final, production environment. 5. The mappings will take effect once Mifos is restarted.
Example Use the following as a starting point for creating your own mifosBeanConfig.custom.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id = "financialRules" class="org.mifos.application.accounts.financial.util.helpers.FinancialRules " abstract="false" factory-method="getInstance"> <property name="actionToDebitAccount"> <map> <entry key="PRINCIPALPOSTING" value="11201"/> <entry key="INTERESTPOSTING" value="11201"/> <entry key="FEEPOSTING" value="11201"/> <entry key="PENALTYPOSTING" value="11200"/> <entry key="ROUNDING" value="31401"/> <entry key="MANDATORYDEPOSIT" value="11201"/> <entry key="VOLUNTORYDEPOSIT" value="11201"/> <entry key="MANDATORYWITHDRAWAL" value="24000"/> <entry key="VOLUNTORYWITHDRAWAL" value="23000"/> <entry key="SAVINGS_INTERESTPOSTING" value="41000"/> <entry key="DISBURSAL" value="13101"/> <entry key="MISCFEEPOSTING" value="11201"/> <entry key="MISCPENALTYPOSTING" value="11201"/> <entry key="CUSTOMERACCOUNTMISCFEESPOSTING" value="11201"/> <entry key="MANDATORYDEPOSIT_ADJUSTMENT" value="24000"/> <entry key="VOLUNTORYDEPOSIT_ADJUSTMENT" value="23000"/> <entry key="MANDATORYWITHDRAWAL_ADJUSTMENT" value="11201"/> <entry key="VOLUNTORYWITHDRAWAL_ADJUSTMENT" value="11201"/> <entry key="WRITEOFF" value="13201"/> <entry key="RESCHEDULE" value="11201"/> </map> </property> <property name="actionToCreditAccount"> <map>
<entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry <entry </map> </property> </bean> </beans>
key="PRINCIPALPOSTING" value="13100"/> key="INTERESTPOSTING" value="31100"/> key="FEEPOSTING" value="31300"/> key="PENALTYPOSTING" value="31102"/> key="ROUNDING" value="31401"/> key="MANDATORYDEPOSIT" value="24000"/> key="VOLUNTORYDEPOSIT" value="23000"/> key="MANDATORYWITHDRAWAL" value="11201"/> key="VOLUNTORYWITHDRAWAL" value="11201"/> key="SAVINGS_INTERESTPOSTING" value="24100"/> key="DISBURSAL" value="11201"/> key="MISCFEEPOSTING" value="31301"/> key="MISCPENALTYPOSTING" value="31102"/> key="CUSTOMERACCOUNTMISCFEESPOSTING" value="31301"/> key="MANDATORYDEPOSIT_ADJUSTMENT" value="11201"/> key="VOLUNTORYDEPOSIT_ADJUSTMENT" value="11201"/> key="MANDATORYWITHDRAWAL_ADJUSTMENT" value="24000"/> key="VOLUNTORYWITHDRAWAL_ADJUSTMENT" value="23000"/> key="WRITEOFF" value="13101"/> key="RESCHEDULE" value="13101"/>
You may notice that other unrelated sections from applicationContext.xml have been omitted. This is intentional. The code that parses this XML configuration file allows for partial changes, and only those settings specific to financial action mappings in mifosBeanConfig.custom.xml can be customized. Action names are actually constants in the FinancialActionConstants enum class. All actions must be mapped (except, currently, PENALTYPOSTING and REVERSAL_ADJUSTMENT) because Mifos assumes they are. For example, Mifos expects the mapping to contain a ROUNDING account. If the mapping doesn't exist, the application may crash or corrupt data because it cannot find an account with which to resolve rounded amounts. Values may be changed, but they must point to GL account codes as specified in the Chart of Accounts.
Mifos ships with a default application configuration file (applicationConfiguration.default.properties) that controls many aspects of how Mifos is set up, including which currency and locale it uses, its accounting rules, and many other important settings. You should never edit this default configuration file directly. Instead, use the file applicationConfiguration.custom.properties to override the values you want to change: To use the custom application configuration file:
1. Open the file applicationConfiguration.custom.properties in the conf folder of the Mifos install package. This file contains all the same properties and values as the default version. 2. Uncomment the properties whose values you want to change and edit the values. Pay special attention to TRAPDOOR properties. 3. Mifos 1.2.x and earlier: create a file named applicationConfiguration.custom.properties and place it on the app server classpath . 4. Mifos versions greater than 1.2.x and trunk development: create a file named applicationConfiguration.custom.properties in one of the MifosConfigurationLocations.
Locale
In Mifos, settings for country and language work together to create a locale-specific user interface. Choose the language you want first, then use the CountryCode value that must be paired with that language.
Property name: Localization.LanguageCode Mutability: Always Options: EN (English), ES (Spanish), FR (French) Default: EN
Use the following table to determine which LanguageCodes and CountryCodes must be paired with one another:
For locales using this language... use this CountryCode and this LanguageCode Spanish French English ES FR GB ES FR EN
Example: Setting Localization.LanguageCode to FR and Localization.CountryCode to FR cause Mifos to display a French user interface.
Country
In Mifos, settings for country and language work together to create a locale-specific user interface. To get the language you want, it's possible that you will have to use a country code that doesn't reflect where Mifos will be installed.
Property name: Localization.CountryCode Mutability: Always Options: ES (Spain), FR (France), GB (Great Britain) Default: GB
Use the following table to determine which LanguageCodes and CountryCodes must be paired with one another:
For locales using this language... use this CountryCode and this LanguageCode Spanish French English ES FR GB ES FR EN
Example: Setting Localization.LanguageCode to FR and Localization.CountryCode to FR cause Mifos to display a French user interface.
Direction
If you are using a language that requires right-to-left, this setting can be used to set the direction of the text. By default, this should be set to auto. If your locale is set up correctly, the direction should be automatically set and this direction does not need to be changed.
Property name: Localization.Direction Mutability: Always Options: auto, ltr, rtl Default: auto
Accounting
The accounting settings in applicationConfiguration.custom.properties tell Mifos which currency you want to use and provide information it needs to calculate repayment schedules, including how many decimal places of precision should be used, and how repayments should be rounded and adjusted.
Currency
The currency that Mifos uses. This setting causes Mifos to use currency set internally, in its calculations and database. Externally, you will see no effect. The user interface does not display currency symbols ($, , etc.). This is a known issue. This sets the default currency in Mifos. All accounting rules without a currency code on the property applies to the default currency.
Property name: AccountingRules.CurrencyCode Mutability: TRAPDOOR Options: 3 letter Alphabetical codes from this list - `ISO 4217 currency codes <http://www.iso.org/iso/support/currency_codes_list-1.htm>`_ Default: INR
Example: AccountingRules.CurrencyCode=INR causes Mifos to use the Indian rupee as the currency.
If you want to use an additional currency for loan products, the setting is used to set an additional currency code. Use the currency code to set specific rounding rules below for that currency. Property name: AccountingRules.AdditionalCurrencyCodes Mutability: TRAPDOOR Options: any currency code Default: none Number of interest-bearing days
The number of days per year that should be used by Mifos in its interest calculations. This setting does not apply to meeting scheduling. The meeting calendar always has 365 days. This setting also doesn't apply to fees and penalties calculation and repayment schedule generation. Because of its dependencies, once you configure this setting, you should not change it. For example, in the case of a moratorium, the loan schedule is recalculated, and changing the number of interest-bearing days in a year could change the calculation results.
Property name: AccountingRules.NumberOfInterestDays
Example: AccountingRules.NumberOfInterestDays=365 causes Mifos to use 365 days in its interest calculations.
The number of digits after the decimal that Mifos will carry for the currency. This setting interacts with the rounding mode settings: Rounding mode for currency, Rounding mode for repayments, and Rounding mode for final payment. While most MFIs use a value that represents the currency's finest level of precision, some do not. For example, the Tunisian dinar's smallest denomination is the milem, which is 1/1000 of a dinar. Instead of setting AccountingRules.DigitsAfterDecimal to 3, which would represent the dinar's finest level of precision, a Tunisian MFI might set AccountingRules.DigitsAfterDecimal to 2 (1/100 of a dinar).
Property name: AccountingRules.DigitsAfterDecimal Mutability: Always Options: 0 - 5 Default: 1
Example: If AccountingRules.CurrencyCode=USD and AccountingRules.DigitsAfterDecimal=2, the number of digits Mifos will carry represents the currency's finest level of precision (1/100 of a dollar, or a penny).
If you want to set a different digits after decimal that Mifos will carry for an additional currency, set another property with the currency code in the property name. For example, if Mifos has been configured with an additional currency LBP, to set a different digits after decimal that Mifos will cary for LBP, use the property name AccountingRules.DigitsAfterDecimal.LBP. Number of digits after decimal for interest
The number of digits after the decimal that Mifos will carry for interest.
Property name: AccountingRules.DigitsAfterDecimalForInterest Mutability: Always Options: 0 - 5
Default: 5
If you want to set a different digits after decimal that Mifos will carry for interest in an additional currency, set another property with the currency code in the property name. For example, if Mifos has been configured with an additional currency LBP, to set a different digits after decimal for interest that Mifos will cary for LBP, use the property name AccountingRules.DigitsAfterDecimalForInterest.LBP.
The number of digits after the decimal that Mifos will carry for cash flow warning threshold.
Property name: AccountingRules.DigitsAfterDecimalForCashFlowValidations Mutability: Always Options: 0 - 2 Default: 2
The maximum allowable interest rate. Unless you're advised otherwise by a Mifos specialist, use the default value for this setting (999).
Property name: AccountingRules.MaxInterest Mutability: Always Options: 0 - 999 Default: 999 (recommended)
Example: AccountingRules.MaxInterest=999 means that the interest rate Mifos uses for its calculations can be as high as 999%.
The minimum allowable interest rate. Unless you're advised otherwise by a Mifos specialist, use the default value for this setting (0).
Property name: AccountingRules.MinInterest
Example: AccountingRules.MinInterest=0 means that the interest rate Mifos uses for its calculations can be as low as 0%.
Minimum Cash Flow Threshold
Example: AccountingRules.MinCashFlowThreshold=0 means that the minimum allowed cash flow threshold for a loan product is 0.
Minimum Cash Flow Threshold
Example: AccountingRules.MaxCashFlowThreshold=99 means that the maximum allowed cash flow threshold for a loan product is 99.
Minimum Repayment Capacity The minimum allowable Repayment Capacity.
Property name: AccountingRules.MinRepaymentCapacity Mutability: always Options: 150 - 1000 Default:: 150
Example: AccountingRules.MinRepaymentCapacity=150 means that the minimum allowed repayment capacity for a loan product is 150. Maximum Repayment Capacity The maximum allowable Repayment Capacity.
Property name: AccountingRules.MaxRepaymentCapacity Mutability: always Options: 150 - 1000 Default:: 1000
Example: AccountingRules.MaxRepaymentCapacity=1000 means that the maximum allowed repayment capacity for a loan product is 1000.
Minimum Indebtedness Ratio The minimum allowable Indebtedness Ratio.
Example: AccountingRules.MinIndebtednessRatio=0 means that the mimimum indebtedness ratio for a loan product is 0.
Maximum Indebtedness Ratio The maximum allowable Indebtedness Ratio.
Example:AccountingRules.MaxIndebtednessRatio=50 means that the maximum indebtedness ratio for a loan product is 50.
Rounding mode for currency
How Mifos rounds currency amounts. This setting interacts with Number of digits after decimal.
Property name: AccountingRules.CurrencyRoundingMode Mutability: Always Options: HALF_UP, FLOOR, CEILING Default: HALF_UP
Example: Assuming that Number of digits after decimal is set to 1, a value of...
HALF_UP means that if the discarded digit is 5 or greater, the next digit is rounded up. 42.45 rounds to 42.5. 42.44 rounds to 42.4. FLOOR rounds the amount down to the nearest digit even if the discarded digit is 5 or greater. 42.45 rounds to 42.4. CEILING means that if the discarded digit is anything but zero, the next digit is rounded up. 42.41 rounds to 42.5.
How Mifos rounds repayment amounts when it calculates repayment schedules except for the last scheduled repayment. This setting interacts with Number of digits after decimal.
Property name: AccountingRules.InitialRoundingMode Mutability: Always Options: HALF_UP, FLOOR, CEILING Default: HALF_UP
Example: Assuming that Number of digits after decimal is set to 2, a value of...
HALF_UP means that if the discarded digit is 5 or greater, the next digit is rounded up. 42.485 rounds to 42.49. 42.481 rounds to 42.48.
FLOOR rounds the amount down to the nearest digit even if the discarded digit is 5 or greater. 42.486 rounds to 42.48. CEILING means that if the discarded digit is anything but zero, the next digit is rounded up. 42.481 rounds to 42.49.
The decimal place repayments are rounded to when Mifos calculates the loan repayment schedule. The precision you use must be equal to or less precise than what you specify for Number of digits after decimal. This setting does not affect the last repayment use Rounding precision for final payment instead.
Property name: AccountingRules.InitialRoundOffMultiple Mutability: Always Options: 1, 0.5, 0.1, 0.01, 0.001 Default: 1
INR, a value of 1 rounds to the closest whole rupee. GBP, a value of 0.5 rounds to the closest 50 pence. USD, a value of 0.1 rounds to the closest dime. If Number of digits after decimal is set to 1, this is the limit of precision, even though this currency has a smaller denomination (the penny).
How rounding interacts with Number of digits after decimal: The value you use for Rounding precision for repayments cannot be more precise than what you use for Number of digits after decimal. For example, you cannot specify 2 for Number of digits after decimal and 0.001 (which requires three digits after the decimal) for Rounding precision for repayments. You can specify 3 for Number of digits after decimal and 0.01 for Rounding precision for repayments. Note that in this latter situation, the amounts stored in the database will use three decimal places but the amounts that you view in the Mifos user interface will use two.
If you want to set a different Initial Round Off Multiple in an additional currency, set another property with the currency code in the property name. For example, if Mifos has been configured with an additional currency LBP, to set a different Initial Round Off Multiple, use the property name AccountingRules.InitialRoundOffMultiple.LBP. Rounding mode for final payment
See Rounding rules for loan payment schedules for a discussion of why you may choose to use a different rounding mode for the final repayment versus other repayments.
Property name: AccountingRules.FinalRoundingMode Mutability: Always Options: HALF_UP, FLOOR, CEILING Default: CEILING
Example: Assuming that Number of digits after decimal is set to 2, a value of...
HALF_UP means that if the discarded digit is 5 or greater, the next digit is rounded up. 42.485 rounds to 42.49. 42.481 rounds to 42.48. FLOOR rounds the amount down to the nearest digit even if the discarded digit is 5 or greater. 42.486 rounds to 42.48. CEILING means that if the discarded digit is anything but zero, the next digit is rounded up. 42.481 rounds to 42.49.
The decimal place the final repayment is rounded to when Mifos calculates the loan repayment schedule. The decimal place you choose can't have a greater precision than what you specify for Number of digits after decimal. In addition, the degree of precision used for the final repayment cannot be greater than what you use for the other repayments see the examples. Also, the setting must be greater or equal precision than InitialRoundingOffMultiple.
Property name: AccountingRules.FinalRoundOffMultiple Mutability: Always Options: 1, 0.5, 0.1, 0.01, 0.001 Default: 1
INR, a value of 1 rounds to the closest whole rupee. GBP, a value of 0.5 rounds to the closest 50 pence. USD, a value of 0.1 rounds to the closest dime. If Number of digits after decimal is set to 1, this is the limit of precision, even though this currency has a smaller unit (the penny).
How rounding interacts with Number of digits after decimal: The value of Rounding precision for repayments cannot be more precise than that of Number of digits after decimal. For example, you cannot specify 2 for Number of digits after decimal and 0.001
(which requires three digits after the decimal) for Rounding precision for repayments. You can specify 3 for Number of digits after decimal and 0.01 for Rounding precision for repayments. Note that in this latter situation, the amounts stored in the database will use three decimal places but the amounts that you view in the Mifos user interface will use two. About the precision used for final repayments: The precision you use for Rounding precision for final payments must be equal to or less precise than the precision you use for Rounding precision for repayments. For example, if you set Rounding precision for repayments to 0.5, you can only set Rounding precision for final repayments to 0.5 or 1 you can't set Rounding precision for final repayment to a finer degree of precision (0.1, 0.01, 0.001). If you want to set a different Final Round Off Multiple in an additional currency, set another property with the currency code in the property name. For example, if Mifos has been configured with an additional currency LBP, to set a different Final Round Off Multiple, use the property name AccountingRules.FinalRoundOffMultiple.LBP.
Calendar
In Mifos, the fiscal year starts on January 1 and ends December 31. Use the Calendar section of applictionConfiguration.custom.properties to configure other aspects of the MFI's calendar, including which days are working days and how repayment meetings should be handled if a meeting falls on on a non-working day.
Working days
The days of the week that are workdays. Mifos uses the first day you specify as the start of the fiscal week. It uses the days you do not specify as non-workdays. You must specify at least one workday. Each workday you specify should be separated by a comma with no spaces on either side.
Property name: FiscalCalendarRules.WorkingDays Mutability: Always Options: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY Default: MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY
Example: FiscalCalendarRules.WorkingDays=MONDAY,TUESDAY,WEDNESDAY,THURSDAY,F RIDAY,SATURDAY causes Mifos to treat Monday as the start of the fiscal week, for reporting purposes, and Sunday as a non-workday.
How Mifos handles rescheduling a repayment or meeting when it falls on a nonworkday. There is still an existing issue here with same_day option. Issue MIFOS-2226. This property applies to non-workdays. Mifos can either schedule the repayment or meeting for the same day (regardless of it being a non-workday), the next workday, or the next scheduled meeting or repayment.
Property name: FiscalCalendarRules.ScheduleMeetingIfNonWorkingDay Mutability: Always Options: same_day, next_working_day, next_meeting_or_repayment Default: same_day
Example: If FiscalCalendarRules.ScheduleMeetingIfNonWorkingDay=same_day, repayments or meetings that fall on a non-workday will still be scheduled for that day. If the value is set to next_working_day, a repayment or meeting that falls on a non-workday will be rescheduled for the next workday.
Clients
Use the Client section of applicationConfiguration.custom.properties to refine how Mifos represents the MFI's hierarchy and control which entities can apply for loans. This section also has settings on client information.
Center hierarchy exists
Does the MFI have one or more centers in its hierarchy? By default, Mifos assumes that an office is at the top of the hierarchy, followed by centers, groups, then clients.
Property name: ClientRules.CenterHierarchyExists Mutability: TRAPDOOR Options: true (yes), false (no) Default: true
Example: ClientRules.CenterHierarchyExists=false causes Mifos to use a hierarchy of 1. Office, 2. Groups, and 3. Clients instead of 1. Office, 2. Centers, 3. Groups, and 4. Clients. In other words, with a value of false, Center is excluded from Mifos' representation of the MFI's hierachy. Options involving centers are also removed from the Mifos user interface. For example, the Create new center option is removed from the left navigation bar of the Clients & Accounts tab.
Can clients be independent of groups or must all clients belong to a group? By default, Mifos assumes that a new client can be created without that client needing to be part of a group. Instead, the client need only belong to an office.
Property name: ClientRules.ClientCanExistOutsideGroup Mutability: TRAPDOOR Options: true (yes), false (no) Default: true
Example: ClientRules.ClientCanExistOutsideGroup=true allows you to create a new client that is assigned directly to an office instead of to a group, then to an office. To use this capability, when you are prompted to select a group in the new client creation process, click the link that reads "Click here to continue if group membership is not required for your client".
Can groups apply for loans in addition to clients or can only clients apply for loans? By default, Mifos assumes that the entity applying for a loan can be a group or a client.
Property name: ClientRules.GroupCanApplyLoans Mutability: TRAPDOOR Options: true (yes), false (no) Default: true
Set the minimum age for new clients entered into Mifos. Setting this value to 0 means a minimum age will not be enforced.
Property name: ClientRules.MinimumAgeForNewClients Mutability: Always Options: 0 -150 Default: 0
Example: ClientRules.MinimumAgeForNewClients=30 when entering a client, if their birthdate shows the client is younger than 30 years old, an error message will be displayed and the client cannot be entered.
Maximum Age for New Clients
Set the maximum age for new clients entered into Mifos. Set this value to 150 if you do not want this enforced. Property name: ClientRules.MaximumAgeForNewClients
Mutability: Always Options: 0 -150 Default: 0
Example: ClientRules.MaximumAgeForNewClients=60 when entering a client, if their birthdate shows the client is older than 60 years old, an error message will be displayed and the client cannot be entered.
Process
Use the Process section in applicationConfiguration.custom.properties to include or exclude optional steps when Mifos creates clients, groups, and accounts. These settings will be DEPRECATED in the release after Mifos 2.0.
Client pending approval state enabled Property name: ProcessFlow.ClientPendingApprovalStateEnabled Mutability: TRAPDOOR Options: true (yes), false (no) Default: true
Workaround for setting to false In the Mifos database, execute the following command: UPDATE CUSTOMER_STATE SET CURRENTLY_IN_USE=0 WHERE STATUS_ID=2; To approve a newly added client:
1. After you create a client in Mifos, click View client details now > Edit client status. 2. In the <client name> - Change status pane, select Active then enter a Note. 3. Click Preview > Submit.
If you use the default setting (true), an approval step is added to the process of adding a new group. Specifically, instead of a newly added group going straight to Active status, it goes to an Application Pending Approval status. Because of a problem with this property (issue 2252), don't use the properties file to set it to false. Instead, use the workaround below.
Property name: ProcessFlow.GroupPendingApprovalStateEnabled Mutability: TRAPDOOR Options: true (yes), false (no) Default: true
Workaround for setting to false In the Mifos database, execute the following command: UPDATE CUSTOMER_STATE SET CURRENTLY_IN_USE=0 WHERE STATUS_ID=8 To approve a newly added group:
1. After you create a group in Mifos, click View group details now > Edit group status. 2. In the <group name> - Change status pane, select Active and enter a Note. 3. Click Preview > Submit. Loan pending approval state enabled
If you use the default setting (true), loans will go into pending approval after it is created. If you set this to false, loans are directly approved. We do not recommend this
Property name: ProcessFlow.LoanPendingApprovalStateEnabled Mutability: TRAPDOOR Options: true (yes), false (no) Default: true
Workaround for setting to false In the Mifos database, execute the following command: UPDATE ACCOUNT_STATE SET CURRENTLY_IN_USE=0 WHERE ACCOUNT_STATE_ID=2 To approve a newly created loan account:
1. After you create the account in Mifos, click View loan account details now > Edit account status. 2. In the <account name> - Change status pane, select Application Approved then enter a Note. 3. Click Preview > Submit.
If you use the default setting (true), an approval step is added to the process of creating a new savings account for a group or client. Because of a problem with this property (issue 2252), don't use the properties file to set it to false. Instead, use the workaround below.
Property name: ProcessFlow.SavingsPendingApprovalStateEnabled Mutability: TRAPDOOR Options: true (yes), false (no) Default: true
Workaround for setting to false In the Mifos database, execute the following command: UPDATE ACCOUNT_STATE SET CURRENTLY_IN_USE=0 WHERE ACCOUNT_STATE_ID=14 To approve a newly created savings account:
1. After you create the account in Mifos, click View savings account details now > Edit account status. 2. In the <account name> - Change status pane, select Application Approved then enter a Note. 3. Click Preview > Submit.
Reporting
Use the Reporting section in applictionConfiguration.custom.properties to customize some of the reporting- and repayment-related capabilities in Mifos.
Upload Storage Directory
Allows Mifos to upload both admin documents and report templates at a non-volatile location. A custom upload storage directory is reflected on the System Information page.
Property name: GeneralConfig.UploadStorageDirectory Mutability: Always Options: $HOME stands for home directory of the logged in user character '/' between subdirectories, or an absolute path C:/reports (use forward slash for paths on windows) Default: $HOME/.mifos/uploads
Example: GeneralConfig.UploadStorageDirectory=C:/reports
Allows Mifos to accept transactions dated earlier than the current date.
Property name: BackDatedTransactionsAllowed Mutability: Always Options: true (yes), false (no) Default: true
Example: BackDatedTransactionsAllowed=true allows users to enter transactions that have dates earlier than the date on which the transactions are entered in Mifos. If the value is set to false, transactions must use the current date.
Collection sheet data generation
This setting has no effect--it works with a collection sheet batch job that was disabled in Mifos version 1.1. When the collection sheet batch job is enabled, this setting allows you to generate collection sheet data for a future meeting. The value you specify represents the difference (in days) between the current day and the future meeting day for which you want to generate collection sheet data.
Property name: CollectionSheet.DaysInAdvance Mutability: Always Default: 1
Example: If you set CollectionSheet.DaysInAdvance to 1, the batch job will generate collection sheet data for tomorrow's meetings (1 day from today). If you set it to 2, it will generate data for meetings that happen the day after tomorrow (2 days from today).
Branch Manager name
If you are using a plugin in Mifos that needs an order of accounts set for which the transactions should be applied, use this setting. This example is for the MPESA plugin
Property name: ke.co.safaricom.MPesaXlsImporter.ImportTransactionOrder Mutability: Always
Default: none
where AL1, NL1, and SP1 are short names of the products to which you want to apply the transactions to.
If you are using the MPESA plugin in Mifos for Loan Disbursals, MPESA has a maximum limit for Loan Disbursals. The default is at 50000 right now.
Property name: MPESA.DisbursalMax Mutability: Always Default: 50000
Example: MPESA.DisbursalMax=50000
Batch Jobs
Use the Batch Jobs section in applicationConfiguration.custom.properties to customize the batch job settings in Mifos.
Example: GeneralConfig.BatchSizeForBatchJobs = 50
Record Committing Size for Batch Jobs This is the size of number of accounts to be stored in the database cache before they are committed
By default, Mifos gives users up to 30 minutes of inactivity before it times out their sessions and requires them to log in again. To change this value, edit the following section in the deployment descriptor file, web.xml, which ships in the Mifos WAR at WEB-INF:
<session-config> <session-timeout>30</session-timeout> </session-config>
The data that you and other Mifos users work with is maintained by batch jobs, which are a series of scripts that are executed on the computer where Mifos is installed. These scripts perform calculations, act on the Mifos database, and ensure, for example, that the repayment information entered in Mifos today is reflected in the reports that are generated tomorrow. Keep the following tips in mind with regard to batch jobs:
By default, the Mifos batch jobs are scheduled to run every day at midnight. For the batch jobs to run, the computer where Mifos is installed must be running. If a user is logged in when the batch jobs start to run, they will be automatically logged out. No logins are permitted until the batch jobs complete. Reports that are generated before the batch jobs are complete will not reflect the results of the batch jobs.
Batch jobs are scheduled in task.xml. In Mifos version 1.3 and later, task.xml is placed in one of the MifosConfigurationLocations. In earlier versions, task.xml can be customized by editing the Mifos WAR (WEB-INF/classes/org/mifos/framework/util/resources/batchjobs). There is a 'Batch Jobs' page to display information about configured batch jobs. You can check the latest batch job status, its next start time and trigger details. Moreover, you can start selected batch jobs on-demand. See Managing Batch Jobs in Mifos for more information.
You can customize various aspects of your database connection, such as which host to connect to, the database name, your user name and password, as well as the connection pool settings, by placing a file called deploymifosDB.properties on the app server classpath while Mifos is not running. A sample of this file is in the Mifos install package, in the conf folder. Note: The file deploymifosDB.properties is based on hibernate.properties. If the latter changes in a future release of Mifos, your copy of deploymifosDB.properties may also require changes.
Mifos versions greater than 1.2.x and upgrades
See MigratingToPostV12DatabaseConfiguration for modifying your database connection if you upgrade from version 1.2.x to 1.3.x (or later). See LocalPropertiesFile if you've started with Mifos version 1.3.x (or later, including trunk development builds).
Database-Configured Settings
Some Mifos features are configured directly in the database. The settings described below are located in the config_key_value_integer table in the Mifos schema:
Loan Schedule Independent of Meeting (LSIM) allows loan payments to be scheduled independent of the meeting schedule. This feature is disabled by default. Note that this feature has some known issues (see issue 2005). To enable this feature, set the flag for repaymentSchedulesIndependentOfMeetingIsEnabled to 1 and apply your change. The value for Minimum Days Between Disbursal and First Repayment is used when Loan Schedule Independent of Meeting is enabled. This setting determines how tight the interval can be between disbursing a loan and requiring the first repayment for same. The default value is 1, which ensures that a loan disbursal and the first repayment can never be less than one day apart. The value for Maximum Days Between Disbursal and First Repayment Day is used when Loan Schedule Independent of Meeting is enabled. This setting limits the number of days that can pass between disbursing a loan and requiring the first repayment for same. The default value is 365. Loan with Individual Monitoring can be used when a group opens a loan account. It lets you specify, at disbursal time, how much of the total loan amount each group member will receive. This feature is disabled by default. To enable it, set the flag for loanIndividualMonitoringIsEnabled to 1.
Starting Mifos
To access the settings on the Admin tab, you need to start the Mifos application. To start Mifos:
1. Execute the Tomcat script named startup.sh/.bat in CATALINA_HOME/bin (for example, C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin), or if Tomcat was installed as a service on Windows, navigate to Control Panel > Administrative Tools > Services to verify that the status of the Mifos service is Started. 2. Next, visit http:///localhost:8080//mifos in a web browser. 3. Enter mifos as your Username and testmifos as your Password.
The options in the Data Display and Rules group allow you to customize certain labels and list-box items, hide or require certain fields, and define new fields for additional information you want to collect.
To define labels:
1. On the Admin tab, click the Define labels link under Data Display and Rules. 2. Edit the label name you want to change. 3. Click Submit.
You can use Define Look-Up Options to populate the contents of list boxes. Once you add a look-up option and Mifos is in production, you should not remove it because it may be in use. Additional look-up options can be added after Mifos is in production. To create new list box items or edit existing items:
1. On the Admin tab, click Define Look-up Options. 2. Add or edit the options. 3. Click Submit
Use the Define mandatory/hidden fields link to designate which fields are viewable in various parts of Mifos, which are required, and which are hidden. Some sites that have interfaced with other systems have found the External id field useful as a required field. To make a field viewable, required, or hidden:
1. On the Admin tab, click the Define mandatory/hidden fields link. 2. Make your selections. If both the Hidden and Mandatory check boxes are cleared, the field is viewable and users can supply information for it, but it is not required. If the Mandatory check box is selected, a user cannot submit their changes without filling in that option. If Hidden is selected, the field is not within view. 3. Click Submit.
Use the Define additional fields option to create a new user interface option, for example, to collect information from clients that isn't already requested by Mifos. Use the View additional fields option to see which new options have already been created. To create a new field:
1. On the Admin tab, click Define additional fields. 2. Select the Mifos category under which your new field will appear. If you select Clients, for example, your new field will appear in the user interface options for new client creation. 3. Provide text for the new label and whether the field's value is numerical or text. Optionally, you can also designate whether the field is mandatory and you can provide a default value for the option. 4. Click Preview > Submit. 5. To view your new field, click View additional fields then select the category.
Office hierarchy is Mifos' view of how your MFI is organized. Mifos uses the office hierarchy information you provide for a wide variety of essential actions, including creating users defining new clients and groups, managing transactions, and reporting. At minimum, Mifos requires two levels of hierarchy: a Head Office, provided by default (Mifos HO), and at least one Branch Office. At maximum, there can be five levels: Head Office, Regional Office, Sub-Regional Office, Area Office, and Branch Office.
Defining office hierarchy in Mifos involves first removing office types that aren't represented in your organization and then adding those offices that are. To remove office types:
1. On the Admin tab in Mifos, click the View office hierarchy link under Offices. 2. Clear the check box(es) for office types that don't represent your MFI's organization. For example, if one or more Division offices aren't in your oganization's structure, clear the Division check box. You cannot remove Head Office and Branch Office as office types. They are required. 3. Click Preview > Submit.
To add offices:
1. On the Admin tab, click the Define a new office link under Offices. 2. Provide information for the new office. Any office types you removed in the above procedure are absent from the Office type list. You can only have one Head Office. 3. Click Preview > Submit.
Creating Roles
After you define your MFI's office hierarchy in Mifos, it's time to create roles, which are collections of actions that a user can perform in Mifos. To create a role:
1. On the Admin tab, click Manage roles and permissions under System users. 2. Note that the Admin role is the only pre-defined role. Click the new Role link to create a new role. 3. Provide a Role Name and select actions or groups of actions that a person can perform in this role. 4. Click Preview > Submit.
Creating Users
Once you define roles in Mifos you can create the users who will be assigned those roles. There are two types of users in Mifos: Loan Officers or Non-Loan Officers. A Loan Officer can only belong to a Branch Office. To create a user:
1. On the Admin tab, click Define new system user under System users. 2. Click the office to which the user will belong. 3. Provide information for the user, including their User Hierarchy (Non-Loan Officer or Loan Officer). 4. Add Role(s) that the user will perform. 5. Click Preview > Submit.
Mifos uses Cash as the default value for accepted payments. To specify a different or additional payment type: On the Admin tab under Data Display and Rules, click Define Lookup options. Payment Modes can be added or changed here. To specify what payment types are accepted for each type of transaction: On the Admin tab under Organization Preferences, click Define accepted payment types.
Before loan and savings products can be defined, the default loan lateness and savings dormancy definitions should be reviewed and changed, if necessary. Both of these settings are configured on the Admin tab via the View lateness/dormancy definition link.
The loan lateness definition is the number of days of non-payment that can pass before Mifos changes a loan account's status from Active in good standing to Active-Bad Standing. The default value is 10 days. The savings dormancy definition is the number of days of inactivity after which Mifos changes the status of a savings account from Active to On Hold. The default value is 30 days.
Defining Holidays
So that it can correctly calculate repayment schedules, Mifos needs to know what your MFI's holidays are and how you would like repayments handled if a repayment happens to fall on a holiday. Mifos can either schedule the repayment for the same day (regardless of it being a holiday), the next workday, or the next scheduled meeting or repayment. Note that in Mifos, holidays are different from non-workdays. To define a holiday:
1. On the Admin tab, click Define new holidays under Organization Preferences. 2. Provide information about the holiday and select a Repayment Rule. 3. Click Preview > Submit.
As a system administrator you may also be reponsible for setting up reports for your users and adding a PPI survey to your deployment. Use the following links for more information:
Reporting in Mifos: Describes how to use BIRT (Business Intelligence Reporting Tools) to build and upload non-standard reports. PPI Survey Conventions: Adding a PPI survey must be done at the source code level and requires assistance from a Mifos specialist. Use this link to learn about some of the requirements.