Skip to main content

Loanproductconfiguration

Represents a loan product configuration.

accountLinkSettings object

Represents the settings for linking a deposit account.

enabledboolean

TRUE if the loan accounts created using this loan product can be linked to a deposit account, FALSE otherwise.

linkableDepositProductIdstring

If defined, loan accounts created for this loan product can only be linked to deposit accounts that use the deposit product with this ID. If null, the loan accounts for this loan product can be linked to any deposit account.

linkedAccountOptionsstring[]

A set of linked account options.

Possible values: [AUTO_LINK_ACCOUNTS, AUTO_CREATE_LINKED_ACCOUNTS]

settlementMethodstring

The type of of automated transfer that should be made from linked deposit accounts into loan accounts created from this loan product.

Possible values: [FULL_DUE_AMOUNTS, PARTIAL_DUE_AMOUNTS, NO_AUTOMATED_TRANSFERS]

accountingSettings object

Accounting settings, defines the accounting settings for the product

accountingMethodstring

The calculation method used for accounting.

Possible values: [NONE, CASH, ACCRUAL]

accountingRules object[]

A list of accounting rules for the product.

  • Array [
  • financialResourcestring

    General ledger financial resource used to setup the product accounting rules and determine the credit and debit accounts when logging journal entries.

    Possible values: [PORTFOLIO_CONTROL, FUND_SOURCE, WRITE_OFF_EXPENSE, INTEREST_INCOME, PAYMENT_HOLIDAY_INTEREST_INCOME, TAXES_PAYABLE, FEE_INCOME, PENALTY_INCOME, NEGATIVE_INTEREST_PAYABLE_RECEIVABLE, NEGATIVE_INTEREST_PAYABLE, INTEREST_RECEIVABLE, PAYMENT_HOLIDAY_INTEREST_RECEIVABLE, FEE_RECEIVABLE, PENALTY_RECEIVABLE, TAXES_RECEIVABLE, DEFERRED_INTERESTS_INCOME, DEFERRED_FEE_INCOME, DEFERRED_TAXES, DEPOSIT_REFERENCE, SAVINGS_CONTROL, INTEREST_EXPENSE, INTEREST_PAYABLE, NEGATIVE_INTEREST_INCOME, NEGATIVE_INTEREST_RECEIVABLE, OVERDRAFT_PORTFOLIO_CONTROL, OVERDRAFT_INTEREST_INCOME, OVERDRAFT_WRITE_OFF_EXPENSE, OVERDRAFT_INTEREST_RECEIVABLE, INTER_BRANCH_TRANSFER, INTEREST_FROM_ARREARS_INCOME, INTEREST_FROM_ARREARS_RECEIVABLE, INTEREST_FROM_ARREARS_WRITE_OFF_EXPENSE, PROFIT_EXPENSE, PROFIT_PAYABLE, MUDARIB_SHARE, DISTRIBUTABLE_PROFIT, INTEREST_FROM_FEES_INCOME, INTEREST_FROM_FEES_RECEIVABLE, INTEREST_FROM_FEES_WRITE_OFF_EXPENSE, CREDIT_BALANCE_PAYABLE]

    glAccountCodestring

    The unique identifier of the account that is mapped to the financial resource.

    transactionChannelIdstring

    The key of the transaction rule that uses this rule

  • ]
  • interestAccrualCalculationstring

    The accounting interest calculation option selected for the product.

    Possible values: [NONE, AGGREGATED_AMOUNT, BREAKDOWN_PER_ACCOUNT]

    interestAccruedAccountingMethodstring

    The interval defined for a product when the interest accrues should be maintained.

    Possible values: [NONE, DAILY, END_OF_MONTH]

    allowCustomRepaymentAllocationboolean

    TRUE if an additional payment may be allocated on the account, ignoring the default repayment allocation order, FALSE otherwise.

    arrearsSettings object

    Represents a grouping of all arrears settings.

    dateCalculationMethodstring

    The arrears date calculation method.

    Possible values: [ACCOUNT_FIRST_WENT_TO_ARREARS, LAST_LATE_REPAYMENT, ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD]

    monthlyToleranceDayinteger<int32>

    Defines the tolerance monthly date

    nonWorkingDaysMethodstring

    Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears

    Possible values: [INCLUDED, EXCLUDED]

    toleranceCalculationMethodstring

    Defines the tolerance calculation method

    Possible values: [ARREARS_TOLERANCE_PERIOD, MONTHLY_ARREARS_TOLERANCE_DAY]

    toleranceFloorAmountnumber

    The tolerance floor amount.

    tolerancePercentageOfOutstandingPrincipal object

    Used for keeping decimal constraints.

    defaultValuenumber

    The default value, will be used in case no other value was filled in by the user.

    maxValuenumber

    The maximum value.

    minValuenumber

    The minimum value.

    tolerancePeriod object

    Decimal integer, like min/max/default.

    defaultValueinteger<int32>

    The default value, will be used in case no other value was filled in by the user.

    maxValueinteger<int32>

    The maximum value.

    minValueinteger<int32>

    The minimum value.

    availabilitySettings object

    Holds information about product availability.

    availableForstring[]

    Holds the entities this product is available for. i.e Individuals

    Possible values: [INDIVIDUALS, PURE_GROUPS, SOLIDARITY_GROUPS]

    branchSettings object

    Holds information about branch availability for the product.

    allBranchesboolean

    Indicates if this product should be available for all branches

    branchesstring[]

    Holds the ids of the branches this product should be available for.

    categorystring

    Shows the available loan product categories

    Possible values: [PERSONAL_LENDING, PURCHASE_FINANCING, RETAIL_MORTGAGES, SME_LENDING, COMMERCIAL, UNCATEGORIZED]

    creditArrangementSettings object

    The funding settings, holds the settings regarding the funding for the loan product.

    creditArrangementRequirementstring

    Shows whether accounts created after this product can/should be part of a line of credit.

    Possible values: [OPTIONAL, REQUIRED, NOT_REQUIRED]

    currency object

    Represents a currency eg. USD, EUR.

    codestring

    Currency codes according to ISO-4217 currency codes

    Possible values: [AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYR, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SLE, SOS, SRD, STD, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VEF, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XCG, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZIG, ZWG, ZMK, ZWL, ZMW, SSP]

    feeSettings object

    Defines the fee settings for loan product.

    allowArbitraryFeesboolean

    Indicates if arbitrary fees will be allowed.

    fees object[]

    List of all fees that can be applied for accounts of this loan product.

  • Array [
  • accountingRules object[]

    A list of accounting rules defined for this fee.

  • Array [
  • financialResourcestring

    General ledger financial resource used to setup the product accounting rules and determine the credit and debit accounts when logging journal entries.

    Possible values: [PORTFOLIO_CONTROL, FUND_SOURCE, WRITE_OFF_EXPENSE, INTEREST_INCOME, PAYMENT_HOLIDAY_INTEREST_INCOME, TAXES_PAYABLE, FEE_INCOME, PENALTY_INCOME, NEGATIVE_INTEREST_PAYABLE_RECEIVABLE, NEGATIVE_INTEREST_PAYABLE, INTEREST_RECEIVABLE, PAYMENT_HOLIDAY_INTEREST_RECEIVABLE, FEE_RECEIVABLE, PENALTY_RECEIVABLE, TAXES_RECEIVABLE, DEFERRED_INTERESTS_INCOME, DEFERRED_FEE_INCOME, DEFERRED_TAXES, DEPOSIT_REFERENCE, SAVINGS_CONTROL, INTEREST_EXPENSE, INTEREST_PAYABLE, NEGATIVE_INTEREST_INCOME, NEGATIVE_INTEREST_RECEIVABLE, OVERDRAFT_PORTFOLIO_CONTROL, OVERDRAFT_INTEREST_INCOME, OVERDRAFT_WRITE_OFF_EXPENSE, OVERDRAFT_INTEREST_RECEIVABLE, INTER_BRANCH_TRANSFER, INTEREST_FROM_ARREARS_INCOME, INTEREST_FROM_ARREARS_RECEIVABLE, INTEREST_FROM_ARREARS_WRITE_OFF_EXPENSE, PROFIT_EXPENSE, PROFIT_PAYABLE, MUDARIB_SHARE, DISTRIBUTABLE_PROFIT, INTEREST_FROM_FEES_INCOME, INTEREST_FROM_FEES_RECEIVABLE, INTEREST_FROM_FEES_WRITE_OFF_EXPENSE, CREDIT_BALANCE_PAYABLE]

    glAccountCodestring

    The unique identifier of the account that is mapped to the financial resource.

    transactionChannelIdstring

    The key of the transaction rule that uses this rule

  • ]
  • amortizationSettings object

    The settings for defining period intervals.

    amortizationProfilestring

    Type of amortization profile used for fee

    Possible values: [NONE, SUM_OF_YEARS_DIGITS, STRAIGHT_LINE, EFFECTIVE_INTEREST_RATE]

    amortizationRescheduleConfigurationstring

    Flag for signaling if fee amortization should be continued or finished at account reschedule

    Possible values: [END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT, CONTINUE_AMORTIZATION_ON_THE_RESCHEDULED_REFINANCED_ACCOUNT]

    frequencystring

    Frequency settings of the fee amortization

    Possible values: [ACCOUNT_INSTALLMENTS_DUE_DATES, ACCOUNT_INSTALLMENTS_DUE_DATES_DAILY_BOOKING, CUSTOM_INTERVAL]

    intervalCountinteger<int32>

    Total number of intervals

    intervalTypestring

    Defines the options for an interval

    Possible values: [PREDEFINED_INTERVALS, FULL_TERM]

    periodCountinteger<int32>

    Period count used in conjunction with periodUnit to determine the next date of the interval

    periodUnitstring

    Amortization unit to determine the interval between amortizations

    Possible values: [DAYS, WEEKS, MONTHS, YEARS]

    amountnumber

    The amount of the fee.

    amountCalculationFunctionNamestring

    External function

    amountCalculationMethodstring

    Defines the fee amount calculation method of loan product

    Possible values: [FLAT, LOAN_AMOUNT_PERCENTAGE, REPAYMENT_PRINCIPAL_AMOUNT_PERCENTAGE, LOAN_AMOUNT_PERCENTAGE_NUMBER_OF_INSTALLMENTS, FLAT_NUMBER_OF_INSTALLMENTS, IOF_PERCENTAGE_OF_DISBURSED_AMOUNT, IOF_PERCENTAGE_OF_INSTALLMENT_PRINCIPAL, IOF_PERCENTAGE_OF_LATE_INSTALLMENT_PRINCIPAL, MAMBU_FUNCTION, FEE_RATE_ON_OUTSTANDING_PRINCIPAL]

    feeApplicationstring

    The fee application type of loan product

    Possible values: [REQUIRED, OPTIONAL]

    idstring

    The id of the fee.

    namestring

    The name of the fee.

    percentageAmountnumber

    The amount of the fee in percents applied to percentSource

    statestring

    The current fee state of loan product

    Possible values: [ACTIVE, INACTIVE]

    taxSettings object

    Defines settings for taxes on the loan product

    taxableCalculationMethodstring

    Defines method used by the loans to compute the taxes for the revenues

    Possible values: [DEFAULT, NON_TAXABLE, CUSTOM_TAX]

    triggerstring

    The event that will trigger a fee.

    Possible values: [MANUAL, MANUAL_PLANNED, DISBURSEMENT, CAPITALIZED_DISBURSEMENT, UPFRONT_DISBURSEMENT, LATE_REPAYMENT, PAYMENT_DUE, PAYMENT_DUE_APPLIED_ON_DUE_DATES, ARBITRARY, IOF, EARLY_REPAYMENT_CHARGE, FEE_INCLUDED_IN_PMT]

  • ]
  • fundingSettings object

    The funding settings, holds the settings regarding the funding for the loan product.

    enabledboolean

    Indicates whether the product has the investor funds enabled or not.

    funderInterestCommission object

    Used for keeping decimal constraints.

    defaultValuenumber

    The default value, will be used in case no other value was filled in by the user.

    maxValuenumber

    The maximum value.

    minValuenumber

    The minimum value.

    funderInterestCommissionAllocationTypestring

    Define how the Interest is allocated to the investors(if the investors can define their own percentages for their own contribution to the loan, or if all of them are using the same percentage).

    Possible values: [PERCENTAGE_OF_LOAN_FUNDING, FIXED_INTEREST_COMMISSIONS]

    lockFundsAtApprovalboolean

    Shows whether investor funds are locked or not at the loan account's approval.

    organizationInterestCommission object

    Used for keeping decimal constraints.

    defaultValuenumber

    The default value, will be used in case no other value was filled in by the user.

    maxValuenumber

    The maximum value.

    minValuenumber

    The minimum value.

    requiredFundsnumber

    The required investor funds percentage, for opening an account with external funding. If null, the investor funds are not enabled.

    gracePeriodSettings object

    The funding settings, holds the settings regarding the funding for the loan product.

    gracePeriod object

    Decimal integer, like min/max/default.

    defaultValueinteger<int32>

    The default value, will be used in case no other value was filled in by the user.

    encodedKeystring

    The encoded key of the integer constraint, auto generated, unique

    maxValueinteger<int32>

    The maximum value.

    minValueinteger<int32>

    The minimum value.

    gracePeriodTypestring

    The grace period type for a loan account.

    Possible values: [NONE, PAY_INTEREST_ONLY, INTEREST_FORGIVENESS]

    idstring

    The ID of the loan product, which must be globally unique.

    interestSettings object

    The interest settings, defines constraints regarding interest that will be used on the loan account crated based on this product.

    accrueLateInterestboolean

    Whether late interest should be accrued, applied and paid

    compoundingFrequencystring

    The frequency on which the accrued interest will be added to the principal for interest calculation.

    Possible values: [DAILY, SEMI_ANNUALLY]

    daysInYearstring

    Shows how many days in a year should be used for loan calculations.

    Possible values: [ACTUAL_365_FIXED, ACTUAL_364, ACTUAL_360, ACTUAL_ACTUAL_ISDA, E30_360, BUS_252, E30_42_365]

    decoupleInterestFromArrearsboolean
    indexRateSettings object

    The interest settings, defines constraints regarding interest that will be used on the loan account created based on this product.

    accrueInterestAfterMaturityboolean

    If the product supports this option, specify if the interest should be accrued after the account maturity date

    allowNegativeInterestRateboolean

    Indicator whether the loan product allows negative values for interest rate or interest spread

    indexSourceIdstring

    Id of index source.

    interestChargeFrequencystring

    The interest change frequency method for a loan account. Shows the possible methods for obtaining the balance based on which the interest will be calculated for loan repayment.

    Possible values: [ANNUALIZED, EVERY_MONTH, EVERY_FOUR_WEEKS, EVERY_WEEK, EVERY_DAY, EVERY_X_DAYS]

    interestChargeFrequencyCountinteger<int32>

    the count of units to apply over the interval

    interestRate object

    Used for keeping decimal constraints.

    defaultValuenumber

    The default value, will be used in case no other value was filled in by the user.

    maxValuenumber

    The maximum value.

    minValuenumber

    The minimum value.

    interestRateCeilingValuenumber

    Interest spread + index interest rate can't be more than this amount (valid only for index interest rate products).

    interestRateFloorValuenumber

    Interest spread + index interest rate can't be less than this amount (valid only for index interest rate products).

    interestRateReviewCountinteger<int32>

    Interest rate review frequency unit count

    interestRateReviewUnitstring

    The interest rate review unit values. Shows how often is index interest rate reviewed.

    Possible values: [DAYS, WEEKS, MONTHS]

    interestRateSourcestring

    The interest rate review unit values. Shows how often is index interest rate reviewed.

    Possible values: [FIXED_INTEREST_RATE, INDEX_INTEREST_RATE]

    interestRateTermsstring

    Defines the option of how is the interest rate determined when being accrued for an account.

    Possible values: [FIXED, TIERED, TIERED_PERIOD, TIERED_BAND]

    interestRateTiers object[]

    The list of interest rate tiers available for the current settings instance

  • Array [
  • endingBalancenumber

    The top-limit value for the account balance in order to determine if this tier is used or not

    interestRatenumberrequired

    The rate used for computing the interest for an account which has the balance less than the ending balance

  • ]
  • interestApplicationMethodstring

    The interest application method for a loan account. It shows the method used by the loans defining how the interest gets applied.

    Possible values: [AFTER_DISBURSEMENT, REPAYMENT_DUE_DATE, FIXED_DAYS_OF_MONTH]

    interestBalanceCalculationMethodstring

    The interest balance calculation method for a loan account. Shows the possible methods for obtaining the balance based on which the interest will be calculated for loan repayment.

    Possible values: [ONLY_PRINCIPAL, PRINCIPAL_AND_INTEREST, PRINCIPAL_AND_FEE, PRINCIPAL_INTEREST_AND_FEE]

    interestCalculationMethodstring

    The interest calculation method for a loan account. Shows the different interest calculation methods.

    Possible values: [FLAT, DECLINING_BALANCE, DECLINING_BALANCE_DISCOUNTED, EQUAL_INSTALLMENTS]

    interestRateSettings object[]

    Adjustable interest rates settings

  • Array [
  • indexSourceIdstring

    Index rate source id.

    interestRate object

    Used for keeping decimal constraints.

    defaultValuenumber

    The default value, will be used in case no other value was filled in by the user.

    maxValuenumber

    The maximum value.

    minValuenumber

    The minimum value.

    interestRateCeilingValuenumber

    Maximum value allowed for index based interest rate. Valid only for index interest rate.

    interestRateFloorValuenumber

    Minimum value allowed for index based interest rate. Valid only for index interest rate.

    interestRateReviewCountinteger<int32>

    Interest rate review frequency unit count. Valid only for index interest rate.

    interestRateReviewUnitstring

    The interest rate review unit values. Shows how often is index interest rate reviewed.

    Possible values: [DAYS, WEEKS, MONTHS]

    interestRateSourcestringrequired

    The interest rate review unit values. Shows how often is index interest rate reviewed.

    Possible values: [FIXED_INTEREST_RATE, INDEX_INTEREST_RATE]

  • ]
  • interestTypestring

    Shows the possible values for how we compute and apply the interest.

    Possible values: [SIMPLE_INTEREST, CAPITALIZED_INTEREST, COMPOUNDING_INTEREST]

    pmtAdjustmentThreshold object

    Represents PMT Adjustment threshold settings for loan accounts and loan products.

    methodstring

    Represents the method used to calculate the PMT adjustment threshold. Supported value is CALENDAR_DAYS

    Possible values: [WORKING_DAYS, CALENDAR_DAYS]

    numberOfDaysinteger<int32>

    The number of days that trigger a PMT Adjustment.

    scheduleInterestDaysCountMethodstring

    Methods that determine how the number of interest days for a repayment are computed.

    Possible values: [REPAYMENT_PERIODICITY, ACTUAL_DAYS_COUNT]

    internalControls object

    Constraints and automated actions and that will be applied on the accounts.

    dormancyPeriodDaysinteger<int32>

    Specifies the number of days for an account to be fully paid in order to auto close it.

    fourEyesPrinciple object

    Settings for Four Eyes Principle

    activeForLoanApprovalboolean

    Requires separate users to create and approve loan accounts

    lockSettings object

    Settings applied when transitioning accounts to Locked state

    cappingConstraintTypestring

    Specifies constraint types for capping charges.

    Possible values: [SOFT_CAP, HARD_CAP]

    cappingMethodstring

    Specifies how principal will be used when calculating capping charges.

    Possible values: [OUTSTANDING_PRINCIPAL_PERCENTAGE, ORIGINAL_PRINCIPAL_PERCENTAGE]

    cappingPercentagenumber

    Specifies the percentage of principal that cannot be exceeded by the sum of interest, fees and penalty balances.

    lockPeriodDaysinteger<int32>

    Specifies the number of days for in which the account will be locked if it stays in arrears.

    loanAmountSettings object

    The amount settings, holds all amount properties.

    loanAmount object

    Used for keeping decimal constraints.

    defaultValuenumber

    The default value, will be used in case no other value was filled in by the user.

    maxValuenumber

    The maximum value.

    minValuenumber

    The minimum value.

    trancheSettings object

    Represents the loan product tranche settings.

    maxNumberOfTranchesinteger<int32>

    The number of tranches supported by the loan product.

    namestring

    The name of the loan product.

    newAccountSettings object

    The new account settings, defines the settings and constraints used by new loan account created based on this product.

    accountInitialStatestring

    All the generic account states applicable to loans.

    Possible values: [PARTIAL_APPLICATION, PENDING_APPROVAL, APPROVED, ACTIVE, ACTIVE_IN_ARREARS, CLOSED]

    idGeneratorTypestring

    All the generic account states applicable to loans.

    Possible values: [INCREMENTAL_NUMBER, RANDOM_PATTERN]

    idPatternstring

    The pattern that will be used for ID validation (as referred to as an input mask).

    notesstring

    The notes or description of the loan product.

    offsetSettings object

    The offset settings, holds information about offset.

    allowOffsetboolean

    Indicates whether the product supports offset

    paymentSettings object

    Model representation of the payment settings configuration

    amortizationMethodstring

    Payments Method used by loan accounts for repayments schedule generation.

    Possible values: [STANDARD_PAYMENTS, BALLOON_PAYMENTS, OPTIMIZED_PAYMENTS, PAYMENT_PLAN]

    latePaymentsRecalculationMethodstring

    The late payment recalculation method. Is used by loan accounts to have the schedule recalculated when late payments are posted on accounts.

    Possible values: [OVERDUE_INSTALLMENTS_INCREASE, LAST_INSTALLMENT_INCREASE, NO_RECALCULATION]

    paymentMethodstring

    The payment allocation method used by the loans defining how the payments get performed.

    Possible values: [HORIZONTAL, VERTICAL]

    prepaymentSettings object

    The prepayment settings, holds all prepayment properties.

    applyInterestOnPrepaymentMethodstring

    The apply interest method type for pre-payments.

    Possible values: [AUTOMATIC, MANUAL]

    elementsRecalculationMethodstring

    The elements recalculation method types

    Possible values: [PRINCIPAL_EXPECTED_FIXED, TOTAL_EXPECTED_FIXED]

    ercFreeAllowancenumber

    ERC free allowance in percentage

    futurePaymentsAcceptancestringrequired

    Future payments allowance types.

    Possible values: [NO_FUTURE_PAYMENTS, ACCEPT_FUTURE_PAYMENTS, ACCEPT_OVERPAYMENTS]

    prepaymentAcceptancestring

    Pre-payment acceptance types.

    Possible values: [ACCEPT_PREPAYMENTS, NO_PREPAYMENTS]

    prepaymentRecalculationMethodstring

    The prepayment recalculation method types.

    Possible values: [NO_RECALCULATION, RESCHEDULE_REMAINING_REPAYMENTS, RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS, RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT, RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT, REDUCE_AMOUNT_PER_INSTALLMENT, REDUCE_NUMBER_OF_INSTALLMENTS, REDUCE_NUMBER_OF_INSTALLMENTS_NEW]

    principalPaidInstallmentStatusstring

    The status of installment after the principal was paid off as part of an over-payment.

    Possible values: [PARTIALLY_PAID, PAID, ORIGINAL_TOTAL_EXPECTED_PAID]

    principalPaymentSettings object

    Defines the principal payment settings constraints for the loans that will be created based on this product.

    amount object

    Used for keeping decimal constraints.

    defaultValuenumber

    The default value, will be used in case no other value was filled in by the user.

    maxValuenumber

    The maximum value.

    minValuenumber

    The minimum value.

    defaultPrincipalRepaymentIntervalinteger<int32>

    How many repayments the principal has to be paid

    includeFeesInFloorAmountboolean

    If true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account

    percentage object

    Used for keeping decimal constraints.

    defaultValuenumber

    The default value, will be used in case no other value was filled in by the user.

    maxValuenumber

    The maximum value.

    minValuenumber

    The minimum value.

    principalCeilingValuenumber

    The maximum principal due amount a repayment made with this settings can have

    principalFloorValuenumber

    The minimum principal due amount a repayment made with this settings can have

    principalPaymentMethodstring

    The principal payment method

    Possible values: [FLAT, OUTSTANDING_PRINCIPAL_PERCENTAGE, PRINCIPAL_PERCENTAGE_LAST_DISB, TOTAL_BALANCE_PERCENTAGE, TOTAL_BALANCE_FLAT, TOTAL_PRINCIPAL_PERCENTAGE]

    totalDueAmountFloornumber

    The minimum total due amount a repayment made with this settings can have

    totalDuePaymentstring

    The principal payment method

    Possible values: [FLAT, OUTSTANDING_PRINCIPAL_PERCENTAGE, PRINCIPAL_PERCENTAGE_LAST_DISB, TOTAL_BALANCE_PERCENTAGE, TOTAL_BALANCE_FLAT, TOTAL_PRINCIPAL_PERCENTAGE]

    repaymentAllocationOrderstring[]

    A list of basic repayment allocation elements such as the principal, interest & fees.

    Possible values: [PRINCIPAL, INTEREST, FEE, PENALTY]

    penaltySettings object

    Defines the penalty settings for the product that will be used by the loan accounts based on this product

    loanPenaltyCalculationMethodstringrequired

    The loan penalty calculation method types

    Possible values: [NONE, OVERDUE_BALANCE, OVERDUE_BALANCE_AND_INTEREST, OVERDUE_BALANCE_INTEREST_AND_FEE, MAMBU_FUNCTION_OVERDUE_PRINCIPAL, OUTSTANDING_PRINCIPAL]

    loanPenaltyGracePeriodinteger<int32>

    Number of days to wait before applying the loan penalty amounts

    penaltyRate object

    Used for keeping decimal constraints.

    defaultValuenumber

    The default value, will be used in case no other value was filled in by the user.

    maxValuenumber

    The maximum value.

    minValuenumber

    The minimum value.

    redrawSettings object

    The redraw settings for the product.

    allowRedrawboolean

    Indicates whether the product support redraw (prepayments which are stored at loan account level as a Redrawable balance)

    scheduleSettings object

    Defines the settings and constraints for schedule for the loans that are created based on this product.

    billingCycles object

    Defines the billing cycles settings for revolving credit products

    enabledboolean

    If the billing cycle status is enabled or disabled

    startDaysinteger<int32>[]

    The billing cycle start days in case it is enabled

    defaultRepaymentPeriodCountinteger<int32>

    Interval Repayment Methodology Settings.

    firstRepaymentDueDateOffset object

    Decimal integer, like min/max/default.

    defaultValueinteger<int32>

    The default value, will be used in case no other value was filled in by the user.

    maxValueinteger<int32>

    The maximum value.

    minValueinteger<int32>

    The minimum value.

    fixedDaysOfMonthinteger<int32>[]

    Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is ScheduleDueDatesMethodDTO#FIXED_DAYS_OF_MONTH.

    numInstallments object

    Decimal integer, like min/max/default.

    defaultValueinteger<int32>

    The default value, will be used in case no other value was filled in by the user.

    maxValueinteger<int32>

    The maximum value.

    minValueinteger<int32>

    The minimum value.

    previewSchedule object

    Defines the Preview Schedule settings for revolving products

    numberOfPreviewedInstalmentsinteger<int32>
    previewScheduleEnabledboolean

    Preview Schedule status.

    repaymentPeriodUnitstring

    The frequency of the loan repayment.

    Possible values: [DAYS, WEEKS, MONTHS, YEARS]

    repaymentReschedulingMethodstringrequired

    The repayment rescheduling method used in calculations.

    Possible values: [NONE, NEXT_WORKING_DAY, PREVIOUS_WORKING_DAY, EXTEND_SCHEDULE]

    repaymentScheduleEditOptionsstring[]

    Shows the properties from the repayment schedule that can be edited.

    Possible values: [ADJUST_PAYMENT_DATES, ADJUST_PRINCIPAL_PAYMENT_SCHEDULE, ADJUST_INTEREST_PAYMENT_SCHEDULE, ADJUST_FEE_PAYMENT_SCHEDULE, ADJUST_PENALTY_PAYMENT_SCHEDULE, ADJUST_NUMBER_OF_INSTALLMENTS, ADJUST_PAYMENT_HOLIDAYS]

    repaymentScheduleMethodstringrequired

    The method used by the loans to compute the repayment schedule.

    Possible values: [NONE, FIXED, DYNAMIC]

    roundingSettings object

    Defines the rounding settings used in the loan computation.

    repaymentCurrencyRoundingstringrequired

    Repayment currency rounding method

    Possible values: [NO_ROUNDING, ROUND_TO_NEAREST_WHOLE_UNIT, ROUND_UP_TO_NEAREST_WHOLE_UNIT]

    repaymentElementsRoundingMethodstring

    Rounding options for principal, interest and penalties

    Possible values: [NO_ROUNDING, ROUND_ALL, PAYMENT_DUE]

    roundingRepaymentScheduleMethodstringrequired

    Rounding method for repayment schedule

    Possible values: [NO_ROUNDING, ROUND_REMAINDER_INTO_LAST_REPAYMENT, ROUND_PRINCIPAL_AND_INTEREST_REMAINDER_INTO_LAST_REPAYMENT]

    scheduleDueDatesMethodstringrequired

    The schedule due dates method. Used by the loan accounts to determine the due dates of the repayments.

    Possible values: [INTERVAL, FIXED_DAYS_OF_MONTH]

    shortMonthHandlingMethodstring

    The short month handling method type for a loan account.

    Possible values: [LAST_DAY_IN_MONTH, FIRST_DAY_OF_NEXT_MONTH]

    securitySettings object

    The settings and constraints for securities.

    isCollateralEnabledboolean

    Shows whether collateral (assets or other goods) are accepted in order to reach required securities percentage from loan amount, as defined in this product.

    isGuarantorsEnabledboolean

    Shows whether guarantors (other clients) are accepted in order to reach the required securities percentage from loan amount, as defined in this product.

    requiredGuarantiesnumber

    The securities percentage from loan amount that is needed in order for this account to be approved. Null if the securities are not required.

    statestring

    Shows the possible states of a product

    Possible values: [ACTIVE, INACTIVE]

    taxSettings object

    Tax settings, defines some settings for taxes on the loan product

    taxCalculationMethodstring

    Shows whether the tax is added on top of the target amount or not.

    Possible values: [INCLUSIVE, EXCLUSIVE]

    taxSourceIdstring

    tax source id.

    taxesOnFeesEnabledboolean

    Shows whether taxes on fees are enabled for this product or not.

    taxesOnInterestEnabledboolean

    Shows whether taxes on interest are enabled for this product or not.

    taxesOnPenaltyEnabledboolean

    Shows whether taxes on penalties are enabled for this product or not.

    typestring

    Shows the possible loan product types

    Possible values: [FIXED_TERM_LOAN, DYNAMIC_TERM_LOAN, INTEREST_FREE_LOAN, TRANCHED_LOAN, REVOLVING_CREDIT, INTEREST_ONLY_EQUAL_INSTALLMENTS, DYNAMIC_MORTGAGE, REVOLVING_CREDIT_CARD]

    Loanproductconfiguration
    {
    "accountLinkSettings": {
    "enabled": true,
    "linkableDepositProductId": "string",
    "linkedAccountOptions": [
    "AUTO_LINK_ACCOUNTS"
    ],
    "settlementMethod": "FULL_DUE_AMOUNTS"
    },
    "accountingSettings": {
    "accountingMethod": "NONE",
    "accountingRules": [
    {
    "financialResource": "PORTFOLIO_CONTROL",
    "glAccountCode": "string",
    "transactionChannelId": "string"
    }
    ],
    "interestAccrualCalculation": "NONE",
    "interestAccruedAccountingMethod": "NONE"
    },
    "allowCustomRepaymentAllocation": true,
    "arrearsSettings": {
    "dateCalculationMethod": "ACCOUNT_FIRST_WENT_TO_ARREARS",
    "monthlyToleranceDay": 0,
    "nonWorkingDaysMethod": "INCLUDED",
    "toleranceCalculationMethod": "ARREARS_TOLERANCE_PERIOD",
    "toleranceFloorAmount": 0,
    "tolerancePercentageOfOutstandingPrincipal": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "tolerancePeriod": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    }
    },
    "availabilitySettings": {
    "availableFor": [
    "INDIVIDUALS"
    ],
    "branchSettings": {
    "allBranches": true,
    "branches": [
    "string"
    ]
    }
    },
    "category": "PERSONAL_LENDING",
    "creditArrangementSettings": {
    "creditArrangementRequirement": "OPTIONAL"
    },
    "currency": {
    "code": "AED"
    },
    "feeSettings": {
    "allowArbitraryFees": true,
    "fees": [
    {
    "accountingRules": [
    {
    "financialResource": "PORTFOLIO_CONTROL",
    "glAccountCode": "string",
    "transactionChannelId": "string"
    }
    ],
    "amortizationSettings": {
    "amortizationProfile": "NONE",
    "amortizationRescheduleConfiguration": "END_AMORTIZATION_ON_THE_ORIGINAL_ACCOUNT",
    "frequency": "ACCOUNT_INSTALLMENTS_DUE_DATES",
    "intervalCount": 0,
    "intervalType": "PREDEFINED_INTERVALS",
    "periodCount": 0,
    "periodUnit": "DAYS"
    },
    "amount": 0,
    "amountCalculationFunctionName": "string",
    "amountCalculationMethod": "FLAT",
    "feeApplication": "REQUIRED",
    "id": "string",
    "name": "string",
    "percentageAmount": 0,
    "state": "ACTIVE",
    "taxSettings": {
    "taxableCalculationMethod": "DEFAULT"
    },
    "trigger": "MANUAL"
    }
    ]
    },
    "fundingSettings": {
    "enabled": true,
    "funderInterestCommission": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "funderInterestCommissionAllocationType": "PERCENTAGE_OF_LOAN_FUNDING",
    "lockFundsAtApproval": true,
    "organizationInterestCommission": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "requiredFunds": 0
    },
    "gracePeriodSettings": {
    "gracePeriod": {
    "defaultValue": 0,
    "encodedKey": "string",
    "maxValue": 0,
    "minValue": 0
    },
    "gracePeriodType": "NONE"
    },
    "id": "string",
    "interestSettings": {
    "accrueLateInterest": true,
    "compoundingFrequency": "DAILY",
    "daysInYear": "ACTUAL_365_FIXED",
    "decoupleInterestFromArrears": true,
    "indexRateSettings": {
    "accrueInterestAfterMaturity": true,
    "allowNegativeInterestRate": true,
    "indexSourceId": "string",
    "interestChargeFrequency": "ANNUALIZED",
    "interestChargeFrequencyCount": 0,
    "interestRate": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "interestRateCeilingValue": 0,
    "interestRateFloorValue": 0,
    "interestRateReviewCount": 0,
    "interestRateReviewUnit": "DAYS",
    "interestRateSource": "FIXED_INTEREST_RATE",
    "interestRateTerms": "FIXED",
    "interestRateTiers": [
    {
    "endingBalance": 0,
    "interestRate": 0
    }
    ]
    },
    "interestApplicationMethod": "AFTER_DISBURSEMENT",
    "interestBalanceCalculationMethod": "ONLY_PRINCIPAL",
    "interestCalculationMethod": "FLAT",
    "interestRateSettings": [
    {
    "indexSourceId": "string",
    "interestRate": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "interestRateCeilingValue": 0,
    "interestRateFloorValue": 0,
    "interestRateReviewCount": 0,
    "interestRateReviewUnit": "DAYS",
    "interestRateSource": "FIXED_INTEREST_RATE"
    }
    ],
    "interestType": "SIMPLE_INTEREST",
    "pmtAdjustmentThreshold": {
    "method": "WORKING_DAYS",
    "numberOfDays": 0
    },
    "scheduleInterestDaysCountMethod": "REPAYMENT_PERIODICITY"
    },
    "internalControls": {
    "dormancyPeriodDays": 0,
    "fourEyesPrinciple": {
    "activeForLoanApproval": true
    },
    "lockSettings": {
    "cappingConstraintType": "SOFT_CAP",
    "cappingMethod": "OUTSTANDING_PRINCIPAL_PERCENTAGE",
    "cappingPercentage": 0,
    "lockPeriodDays": 0
    }
    },
    "loanAmountSettings": {
    "loanAmount": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "trancheSettings": {
    "maxNumberOfTranches": 0
    }
    },
    "name": "string",
    "newAccountSettings": {
    "accountInitialState": "PARTIAL_APPLICATION",
    "idGeneratorType": "INCREMENTAL_NUMBER",
    "idPattern": "string"
    },
    "notes": "string",
    "offsetSettings": {
    "allowOffset": true
    },
    "paymentSettings": {
    "amortizationMethod": "STANDARD_PAYMENTS",
    "latePaymentsRecalculationMethod": "OVERDUE_INSTALLMENTS_INCREASE",
    "paymentMethod": "HORIZONTAL",
    "prepaymentSettings": {
    "applyInterestOnPrepaymentMethod": "AUTOMATIC",
    "elementsRecalculationMethod": "PRINCIPAL_EXPECTED_FIXED",
    "ercFreeAllowance": 0,
    "futurePaymentsAcceptance": "NO_FUTURE_PAYMENTS",
    "prepaymentAcceptance": "ACCEPT_PREPAYMENTS",
    "prepaymentRecalculationMethod": "NO_RECALCULATION",
    "principalPaidInstallmentStatus": "PARTIALLY_PAID"
    },
    "principalPaymentSettings": {
    "amount": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "defaultPrincipalRepaymentInterval": 0,
    "includeFeesInFloorAmount": true,
    "percentage": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "principalCeilingValue": 0,
    "principalFloorValue": 0,
    "principalPaymentMethod": "FLAT",
    "totalDueAmountFloor": 0,
    "totalDuePayment": "FLAT"
    },
    "repaymentAllocationOrder": [
    "PRINCIPAL"
    ]
    },
    "penaltySettings": {
    "loanPenaltyCalculationMethod": "NONE",
    "loanPenaltyGracePeriod": 0,
    "penaltyRate": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    }
    },
    "redrawSettings": {
    "allowRedraw": true
    },
    "scheduleSettings": {
    "billingCycles": {
    "enabled": true,
    "startDays": [
    0
    ]
    },
    "defaultRepaymentPeriodCount": 0,
    "firstRepaymentDueDateOffset": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "fixedDaysOfMonth": [
    0
    ],
    "numInstallments": {
    "defaultValue": 0,
    "maxValue": 0,
    "minValue": 0
    },
    "previewSchedule": {
    "numberOfPreviewedInstalments": 0,
    "previewScheduleEnabled": true
    },
    "repaymentPeriodUnit": "DAYS",
    "repaymentReschedulingMethod": "NONE",
    "repaymentScheduleEditOptions": [
    "ADJUST_PAYMENT_DATES"
    ],
    "repaymentScheduleMethod": "NONE",
    "roundingSettings": {
    "repaymentCurrencyRounding": "NO_ROUNDING",
    "repaymentElementsRoundingMethod": "NO_ROUNDING",
    "roundingRepaymentScheduleMethod": "NO_ROUNDING"
    },
    "scheduleDueDatesMethod": "INTERVAL",
    "shortMonthHandlingMethod": "LAST_DAY_IN_MONTH"
    },
    "securitySettings": {
    "isCollateralEnabled": true,
    "isGuarantorsEnabled": true,
    "requiredGuaranties": 0
    },
    "state": "ACTIVE",
    "taxSettings": {
    "taxCalculationMethod": "INCLUSIVE",
    "taxSourceId": "string",
    "taxesOnFeesEnabled": true,
    "taxesOnInterestEnabled": true,
    "taxesOnPenaltyEnabled": true
    },
    "type": "FIXED_TERM_LOAN"
    }