The following topics are for system administrators and Mifos specialists configuring Mifos who are deploying Mifos.
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:
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.
This section describes the install-time settings in Mifos, or those that can only be configured when Mifos is not running. It also describes install-time settings whose values can only be changed to non-default values once, before you run Mifos for the first time.
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:
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:
You cannot make the following GL account changes after Mifos is deployed:
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:
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.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="VOLUNTARYDEPOSIT" value="11201"/>
<entry key="MANDATORYWITHDRAWAL" value="24000"/>
<entry key="VOLUNTARYWITHDRAWAL" 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="VOLUNTARYDEPOSIT_ADJUSTMENT" value="23000"/>
<entry key="MANDATORYWITHDRAWAL_ADJUSTMENT" value="11201"/>
<entry key="VOLUNTARYWITHDRAWAL_ADJUSTMENT" value="11201"/>
<entry key="WRITEOFF" value="13201"/>
<entry key="RESCHEDULE" value="11201"/>
</map>
</property>
<property name="actionToCreditAccount">
<map>
<entry key="PRINCIPALPOSTING" value="13100"/>
<entry key="INTERESTPOSTING" value="31100"/>
<entry key="FEEPOSTING" value="31300"/>
<entry key="PENALTYPOSTING" value="31102"/>
<entry key="ROUNDING" value="31401"/>
<entry key="MANDATORYDEPOSIT" value="24000"/>
<entry key="VOLUNTARYDEPOSIT" value="23000"/>
<entry key="MANDATORYWITHDRAWAL" value="11201"/>
<entry key="VOLUNTARYWITHDRAWAL" value="11201"/>
<entry key="SAVINGS_INTERESTPOSTING" value="24100"/>
<entry key="DISBURSAL" value="11201"/>
<entry key="MISCFEEPOSTING" value="31301"/>
<entry key="MISCPENALTYPOSTING" value="31102"/>
<entry key="CUSTOMERACCOUNTMISCFEESPOSTING" value="31301"/>
<entry key="MANDATORYDEPOSIT_ADJUSTMENT" value="11201"/>
<entry key="VOLUNTARYDEPOSIT_ADJUSTMENT" value="11201"/>
<entry key="MANDATORYWITHDRAWAL_ADJUSTMENT" value="24000"/>
<entry key="VOLUNTARYWITHDRAWAL_ADJUSTMENT" value="23000"/>
<entry key="WRITEOFF" value="13101"/>
<entry key="RESCHEDULE" value="13101"/>
</map>
</property>
</bean>
</beans>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:
The following settings in your applicationConfiguration.custom.properties file control locale in Mifos.
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.
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 | ES | ES |
| French | FR | FR |
| English | GB | EN |
Example: Setting Localization.LanguageCode to FR and Localization.CountryCode to FR cause Mifos to display a French user interface.
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.
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 | ES | ES |
| French | FR | FR |
| English | GB | EN |
Example: Setting Localization.LanguageCode to FR and Localization.CountryCode to FR cause Mifos to display a French user interface.
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.
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.
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.
Example: AccountingRules.CurrencyCode=INR causes Mifos to use the Indian rupee as the currency.
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.
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).
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).
The number of digits after the decimal that Mifos will carry for interest.
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.
The maximum allowable interest rate.
Unless you're advised otherwise by a Mifos specialist, use the default value for this setting (999).
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).
Example: AccountingRules.MinInterest=0 means that the interest rate Mifos uses for its calculations can be as low as 0%.
The minimum allowable cash flow threshold
Example: AccountingRules.MinCashFlowThreshold=0 means that the minimum allowed cash flow threshold for a loan product is 0.
The maximum allowable cash flow threshold
Example: AccountingRules.MaxCashFlowThreshold=99 means that the maximum allowed cash flow threshold for a loan product is 99.
Example: AccountingRules.MaxRepaymentCapacity=1000 means that the maximum allowed repayment capacity for a loan product is 1000.
Example: AccountingRules.MinIndebtednessRatio=0 means that the mimimum indebtedness ratio for a loan product is 0.
Example:AccountingRules.MaxIndebtednessRatio=50 means that the maximum indebtedness ratio for a loan product is 50.
How Mifos rounds currency amounts.
This setting interacts with Number of digits after decimal.
Example: Assuming that Number of digits after decimal is set to 1, a value of...
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.
Example: Assuming that Number of digits after decimal is set to 2, a value of...
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.
Example: If the currency is...
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.
How Mifos rounds the final scheduled repayment.
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.
Example: Assuming that Number of digits after decimal is set to 2, a value of...
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.
Example: If the currency is...
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.
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.
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.
Example: FiscalCalendarRules.WorkingDays=MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,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 non-workday. 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.
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.
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.
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.
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.
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.
Example: ClientRules.GroupCanApplyLoans=true allows groups, as well as clients, to apply for loans.
Set the minimum age for new clients entered into Mifos. Setting this value to 0 means a minimum age will not be enforced.
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.
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
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.
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.
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:
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.
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:
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
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:
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.
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:
Use the Reporting section in applictionConfiguration.custom.properties to customize some of the reporting- and repayment-related capabilities in Mifos.
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.
Example: GeneralConfig.UploadStorageDirectory=C:/reports
Allows Mifos to accept transactions dated earlier than the current date.
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.
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.
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).
This setting is currently invalid.
Property name: RolesAndPermissions.BranchManager.RoleName
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
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.
Use the Batch Jobs section in applicationConfiguration.custom.properties to customize the batch job settings in Mifos.
You can set Hibernate cache size for batch jobs.
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:
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.
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).
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:
- 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.
After you define the administrative settings that can only be configured when Mifos is not running (including the one-time settings), it's time to configure some of the settings on the Admin tab in Mifos. Not every setting on the Admin tab is described here, just the fundamental ones that must be configured before another Mifos system user defines items like products, clients, groups, accounts, meeting schedules, and surveys.
To access the settings on the Admin tab, you need to start the Mifos application.
To start Mifos:
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:
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:
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:
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:
To add offices:
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:
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:
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.
Most MFIs are applied following loan repayment order:
1. Penalty
2. Fees
3. Interest
4. Principal
as is the standard in banking solutions.
MFIs, which have a need to modify this repayment order, can do it by configure this repayment order in Mifos config file.
After enabling this option, all overdue interests will be paid first, before principal amount.
To configure repayment order open applicationConfiguration.custom.properties file and set:
OverdueInterestPaidFirst=true (always repay overdue interest first)
OverdueInterestPaidFirst=false (standard payment order)
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.
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:
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:
Cloud Foundry is an open platform as a service, providing a choice of clouds, developer frameworks and application services. You can place there your application so others may see it in web. Thanks to Cloud Foundry you don't have to worry about infrastructure such as servers. If you want to provide data access to your database created in cloud, you need to configure your system variables.
There is a JSON array under VCAP_SERVICES that has complete information for the bound services. System variable which contains JSON document looks like following:
export VCAP_SERVICES='{"mysql-5.1":[
{
"name":"mysql-4f700",
"label":"mysql-5.1",
"plan":"free",
"tags":["mysql","mysql-5.1","relational"],
"credentials":{
"name":"mifos",
"hostname":"localhost",
"host":"localhost",
"port":3306,
"user":"mifos",
"username":"mifos",
"password":"mifos"
}
},
]}'
| Attribute | Explanation |
| name | The name of database |
| hostname/host | Database address |
| port | Number of port |
| username/user | Name of user |
| password | Password |
Note: Variable VCAP_SERVICES has priority (before properties).