Skip to content

Global Configuration Settings

Apache Fineract has a set of system-wide configuration flags that control platform behaviour across all tenants and products. These are set once at the instance level and apply to all operations.


Reading All Configuration Settings

bash
GET /fineract-provider/api/v1/configurations
Authorization: Basic <base64>
Fineract-Platform-TenantId: default

Response is a list of configuration objects:

json
{
  "globalConfiguration": [
    {
      "id": 1,
      "name": "maker-checker",
      "enabled": false,
      "trapDoor": false
    },
    {
      "id": 3,
      "name": "reschedule-repayments-on-holidays",
      "enabled": true,
      "trapDoor": false
    }
  ]
}

trapDoor: true means the setting cannot be changed after it has been enabled - used for irreversible configuration choices.

Updating a Setting

bash
PUT /fineract-provider/api/v1/configurations/{id}
Authorization: Basic <base64>
Fineract-Platform-TenantId: default
Content-Type: application/json
json
{
  "enabled": true
}

Some settings accept a value (integer) rather than just enabled. Check the configuration object for a value field.


Full Configuration Reference

Approval Workflow

NameDefaultEffect when enabled
maker-checkerDisabledRequires a second user to approve submitted operations before execution. See Maker-Checker guide.

Repayment Scheduling

NameDefaultEffect when enabled
reschedule-repayments-on-holidaysEnabledRepayments falling on a configured holiday are rescheduled per the holiday's rescheduling rule
reschedule-future-repaymentsEnabledWhen a holiday is added after loan disbursement, future repayments falling in the holiday window are retroactively rescheduled
allow-transactions-on-non_workingdayDisabledStaff can record transactions on days not in the working days schedule
allow-transactions-on-holidayDisabledStaff can record transactions on configured holiday dates

Interest Calculation

NameDefaultEffect when enabled
interest-charged-from-dateDisabledAccrual starts from the interestChargedFromDate field on the loan (if set), rather than the disbursement date
days-in-year-custom-strategyDisabledUses a custom days-in-year calculation (e.g., 360 or actual/365) instead of the product default

Loan Lifecycle

NameDefaultEffect
loan-reschedule-is-first-payment-allowedDisabledAllows the first repayment to be rescheduled
is-interest-to-be-recovered-first-when-greater-than-emiDisabledWhen a repayment amount exceeds the EMI, recover interest before principal
is-principal-compounding-disabled-for-overdue-loansDisabledDisables principal compounding for loans that are overdue
enable-addressDisabledEnables the address module for clients, allowing multiple structured addresses per client
enable-business-dateEnabledActivates Business Date logic for COB processing. Should always remain enabled in production.
enable-post-dated-checks-moduleDisabledEnables post-dated cheque tracking for loans
enable-auto-generated-external-idDisabledAuto-generates an externalId for new entities if none is provided

COB (Close of Business)

NameDefaultEffect when enabled
enable-business-dateEnabledCOB uses Business Date rather than system date for processing. See Business Date guide.
loan-arrears-aging-is-based-on-meeting-dateDisabledFor group-based loans, arrears calculation uses the group meeting date rather than the instalment due date

Client & Account Features

NameDefaultEffect when enabled
enable-addressDisabledEnables structured address storage for clients (country, city, street, postal code)
enable-client-classificationDisabledEnables the client classification code field on client profiles
enable-client-typesDisabledEnables the client type code field (individual, business, cooperative)
enable-genderDisabledEnables the gender field on client profiles
enable-staff-name-for-clientsDisabledDisplays the assigned loan officer name on client profiles

Account Number Formatting

NameValue fieldEffect
loan-account-number-formatInteger (1-3)Controls auto-generated loan account number format
savings-account-number-formatIntegerControls auto-generated savings account number format
client-number-formatIntegerControls auto-generated client number format
group-number-formatIntegerControls auto-generated group number format

Account number format codes:

  • 1 - Numeric ID with zero padding
  • 2 - Random alphanumeric string
  • 3 - Prefix + numeric ID

Accounting

NameDefaultEffect when enabled
financial-activity-account-linked-to-single-productDisabledRestricts financial activity accounts to only one product mapping

For most regulated institutions:

SettingRecommended
maker-checkerEnabled - require 4-eyes approval for loan approvals and disbursements
reschedule-repayments-on-holidaysEnabled - always reschedule on holidays
reschedule-future-repaymentsEnabled - retroactively update schedules when holidays are added
allow-transactions-on-non_workingdayDisabled - prevents backdated or off-schedule entries
allow-transactions-on-holidayDisabled - prevents transactions on closed days
enable-business-dateEnabled - required for correct COB processing
enable-addressEnabled - useful for most institutions
enable-auto-generated-external-idEnabled - simplifies integration reconciliation

For development / test environments:

  • Disable maker-checker to avoid approval loops during testing
  • Enable allow-transactions-on-non_workingday and allow-transactions-on-holiday for flexible test data entry

Checking a Specific Setting

bash
GET /fineract-provider/api/v1/configurations?name=maker-checker

Or by ID if known:

bash
GET /fineract-provider/api/v1/configurations/1