Products

This page includes configuration for managing deposit and loan products of the organization. Endpoints for managing risk levels are included in this page as well.

PRODUCTS

Package products is a package for managing products. TODO: restructure types

CreateDepositProduct

POST /v1/products/deposit

Creates a new deposit product..

Request Body (DepositProduct)
Name Description Type
product_id The ID of the deposit product String
name The name of the deposit product String
notes The description of the product String
category The category of the deposit product DepositCategory
currencies A list of currencies that can be used by accounts of this product Array[String]
controls The controls for the deposit product DepositControls
settings The settings for the product DepositSettings
active True if the product is active Boolean
template_ids The list of template IDs of documents associated with the product Array[String]
type The type of the product DepositProductType
create_time The time the product was created Timestamp
update_time The time the product was last updated Timestamp
  • Name Description Type
    product_id The ID of the deposit product String
    name The name of the deposit product String
    notes The description of the product String
    category The category of the deposit product DepositCategory
    currencies A list of currencies that can be used by accounts of this product Array[String]
    controls The controls for the deposit product DepositControls
    settings The settings for the product DepositSettings
    active True if the product is active Boolean
    template_ids The list of template IDs of documents associated with the product Array[String]
    type The type of the product DepositProductType
    create_time The time the product was created Timestamp
    update_time The time the product was last updated Timestamp

ListDepositProducts

GET /v1/products/deposit

Lists deposit products..

Parameters
Name Description Type
Query Parameters
page_token The page token to use for listing deposit products String
page_size The page size to use for listing deposit products Integer
order_by The order to order deposit products in String
filter The filter to filter the deposit products by String
  • Name Description Type
    total The total number of products matching the filter Integer
    remaining The number of products remaining in the list, including the products in the response Integer
    products The list of deposit products Array[DepositProduct]
    next_page_token The next page token to use for listing deposit products String

GetDepositProduct

GET /v1/products/deposit/{ProductID}

Retrieves the specified deposit product..

Parameters
Name Description Type
Query Parameters
product_id The ID of the deposit product to retrieve String
  • Name Description Type
    product_id The ID of the deposit product String
    name The name of the deposit product String
    notes The description of the product String
    category The category of the deposit product DepositCategory
    currencies A list of currencies that can be used by accounts of this product Array[String]
    controls The controls for the deposit product DepositControls
    settings The settings for the product DepositSettings
    active True if the product is active Boolean
    template_ids The list of template IDs of documents associated with the product Array[String]
    type The type of the product DepositProductType
    create_time The time the product was created Timestamp
    update_time The time the product was last updated Timestamp

UpdateDepositProduct

PUT /v1/products/deposit/{ProductID}

Updates the specified deposit product..

Parameters
Name Description Type
Query Parameters
product_id The ID of the deposit product to update String
Request Body (DepositProduct)
Name Description Type
product_id The ID of the deposit product String
name The name of the deposit product String
notes The description of the product String
category The category of the deposit product DepositCategory
currencies A list of currencies that can be used by accounts of this product Array[String]
controls The controls for the deposit product DepositControls
settings The settings for the product DepositSettings
active True if the product is active Boolean
template_ids The list of template IDs of documents associated with the product Array[String]
type The type of the product DepositProductType
create_time The time the product was created Timestamp
update_time The time the product was last updated Timestamp
  • Name Description Type
    product_id The ID of the deposit product String
    name The name of the deposit product String
    notes The description of the product String
    category The category of the deposit product DepositCategory
    currencies A list of currencies that can be used by accounts of this product Array[String]
    controls The controls for the deposit product DepositControls
    settings The settings for the product DepositSettings
    active True if the product is active Boolean
    template_ids The list of template IDs of documents associated with the product Array[String]
    type The type of the product DepositProductType
    create_time The time the product was created Timestamp
    update_time The time the product was last updated Timestamp

UpdateDepositAccounts

POST /v1/products/deposit/{ProductID}:updateAccounts

Updates all deposit accounts of the deposit product..

Parameters
Name Description Type
Query Parameters
product_id The ID of the deposit product to trigger account updates for String
Request Body (NewBatchUpdate)
Name Description Type
action The action to perform BatchUpdateAction

DeleteDepositProduct

DELETE /v1/products/deposit/{ProductID}

Deletes the specified deposit product..

Parameters
Name Description Type
Query Parameters
product_id The ID of the deposit product to delete String

CreateLoanProduct

POST /v1/products/loan

Creates a new loan product..

Request Body (LoanProduct)
Name Description Type
product_id The ID of the product String
name The name of the loan product String
type The type of the loan product LoanType
active A flag that indicates whether the loan product is active Boolean
notes The notes of the loan product String
allow_custom_repayment_allocation A flag that indicates whether the loan product allows a payment to be customly allocated, ignoring the default repayment allocation order Boolean
category The category of the loan product LoanCategory
currency_code The code of the currency used for the loan product String
internal_controls The constraints and automated actions and that will be applied on accounts of the product LoanInternalControls
template_ids The list of IDs of templates for documents related to the product Array[String]
settings The settings applied to the loan product LoanSettings
create_time The time the loan product was created Timestamp
update_time The time the loan product was last updated Timestamp
  • Name Description Type
    product_id The ID of the product String
    name The name of the loan product String
    type The type of the loan product LoanType
    active A flag that indicates whether the loan product is active Boolean
    notes The notes of the loan product String
    allow_custom_repayment_allocation A flag that indicates whether the loan product allows a payment to be customly allocated, ignoring the default repayment allocation order Boolean
    category The category of the loan product LoanCategory
    currency_code The code of the currency used for the loan product String
    internal_controls The constraints and automated actions and that will be applied on accounts of the product LoanInternalControls
    template_ids The list of IDs of templates for documents related to the product Array[String]
    settings The settings applied to the loan product LoanSettings
    create_time The time the loan product was created Timestamp
    update_time The time the loan product was last updated Timestamp

ListLoanProducts

GET /v1/products/loan

Lists loan products..

Parameters
Name Description Type
Query Parameters
page_token The token for the page of loan products to be returned String
page_size The maximum number of loan products to be returned Integer
order_by The field to order loan products by String
filter The filter to apply to loan products String
  • Name Description Type
    total The total number of products matching the filter Integer
    remaining The number of products remaining in the list, including the products in the response Integer
    products The list of loan products Array[LoanProduct]
    next_page_token The token for the next page of loan products String

GetLoanProduct

GET /v1/products/loan/{ProductID}

Retrieves the specified loan product..

Parameters
Name Description Type
Query Parameters
product_id The ID of the loan product to be retrieved String
  • Name Description Type
    product_id The ID of the product String
    name The name of the loan product String
    type The type of the loan product LoanType
    active A flag that indicates whether the loan product is active Boolean
    notes The notes of the loan product String
    allow_custom_repayment_allocation A flag that indicates whether the loan product allows a payment to be customly allocated, ignoring the default repayment allocation order Boolean
    category The category of the loan product LoanCategory
    currency_code The code of the currency used for the loan product String
    internal_controls The constraints and automated actions and that will be applied on accounts of the product LoanInternalControls
    template_ids The list of IDs of templates for documents related to the product Array[String]
    settings The settings applied to the loan product LoanSettings
    create_time The time the loan product was created Timestamp
    update_time The time the loan product was last updated Timestamp

UpdateLoanProduct

PUT /v1/products/loan/{ProductID}

Updates the specified loan product..

Parameters
Name Description Type
Query Parameters
product_id The ID of the loan product to be updated String
Request Body (LoanProduct)
Name Description Type
product_id The ID of the product String
name The name of the loan product String
type The type of the loan product LoanType
active A flag that indicates whether the loan product is active Boolean
notes The notes of the loan product String
allow_custom_repayment_allocation A flag that indicates whether the loan product allows a payment to be customly allocated, ignoring the default repayment allocation order Boolean
category The category of the loan product LoanCategory
currency_code The code of the currency used for the loan product String
internal_controls The constraints and automated actions and that will be applied on accounts of the product LoanInternalControls
template_ids The list of IDs of templates for documents related to the product Array[String]
settings The settings applied to the loan product LoanSettings
create_time The time the loan product was created Timestamp
update_time The time the loan product was last updated Timestamp
  • Name Description Type
    product_id The ID of the product String
    name The name of the loan product String
    type The type of the loan product LoanType
    active A flag that indicates whether the loan product is active Boolean
    notes The notes of the loan product String
    allow_custom_repayment_allocation A flag that indicates whether the loan product allows a payment to be customly allocated, ignoring the default repayment allocation order Boolean
    category The category of the loan product LoanCategory
    currency_code The code of the currency used for the loan product String
    internal_controls The constraints and automated actions and that will be applied on accounts of the product LoanInternalControls
    template_ids The list of IDs of templates for documents related to the product Array[String]
    settings The settings applied to the loan product LoanSettings
    create_time The time the loan product was created Timestamp
    update_time The time the loan product was last updated Timestamp

DeleteLoanProduct

DELETE /v1/products/loan/{ProductID}

Deletes the specified loan product..

Parameters
Name Description Type
Query Parameters
product_id The ID of the loan product to be deleted String

CreateRiskLevel

POST /v1/accounts/loans/riskLevels

Creates the provided risk level..

Request Body (RiskLevel)
Name Description Type
level_id The unique identifier for the risk level String
name The human-readable name of the loan risk level String
minimum_days The minimum number of days the account is at risk for it to be considered to be in this risk level Integer
maximum_days The maximum number of days the account is at risk for it to be considered to be in this risk level Integer
provisioning_percent The percent of loans to be provisioned (set aside as an allowance for uncollected loans) Float(64)
  • Name Description Type
    level_id The unique identifier for the risk level String
    name The human-readable name of the loan risk level String
    minimum_days The minimum number of days the account is at risk for it to be considered to be in this risk level Integer
    maximum_days The maximum number of days the account is at risk for it to be considered to be in this risk level Integer
    provisioning_percent The percent of loans to be provisioned (set aside as an allowance for uncollected loans) Float(64)

ListRiskLevels

GET /v1/accounts/loans/riskLevels

Lists the risk levels..

Parameters
Name Description Type
Query Parameters
page_token The page token to use for the request String
page_size The page size to use for the request Integer
order_by The field to order the results by String
filter The filter to apply to the results String
  • Name Description Type
    total The total number of risk levels matching the filter Integer
    remaining The number of risk levels remaining in the list, including the risk levels in the response Integer
    levels The list of risk levels Array[RiskLevel]
    next_page_token The next page token to use for the request String

GetRiskLevel

GET /v1/accounts/loans/riskLevels/{LevelID}

Retrieves the specified risk level..

Parameters
Name Description Type
Query Parameters
level_id The ID of the risk level to retrieve String
  • Name Description Type
    level_id The unique identifier for the risk level String
    name The human-readable name of the loan risk level String
    minimum_days The minimum number of days the account is at risk for it to be considered to be in this risk level Integer
    maximum_days The maximum number of days the account is at risk for it to be considered to be in this risk level Integer
    provisioning_percent The percent of loans to be provisioned (set aside as an allowance for uncollected loans) Float(64)

UpdateRiskLevel

PUT /v1/accounts/loans/riskLevels/{LevelID}

Updates the specified risk level..

Parameters
Name Description Type
Query Parameters
level_id The ID of the risk level to update String
body The new content of the risk level RiskLevel
  • Name Description Type
    level_id The unique identifier for the risk level String
    name The human-readable name of the loan risk level String
    minimum_days The minimum number of days the account is at risk for it to be considered to be in this risk level Integer
    maximum_days The maximum number of days the account is at risk for it to be considered to be in this risk level Integer
    provisioning_percent The percent of loans to be provisioned (set aside as an allowance for uncollected loans) Float(64)

DeleteRiskLevel

DELETE /v1/accounts/loans/riskLevels/{LevelID}

Deletes the specified risk level..

Parameters
Name Description Type
Query Parameters
level_id The ID of the risk level to delete String

AccountLinkSettings

The settings for linking deposit accounts to the loan account..

Name Description Type
enabled A flag indicating whether loan accounts created using the loan product should be linked to deposit accounts Boolean
deposit_product_ids A list of IDs of deposit products that can be linked to the loan account Array[String]
options A list of options for configuring the linked account Array[LinkedAccountOptions]
settlement_method The method of settlement for the loan accounts, including automated transfers from the linked deposit account into the loan account SettlementMethod

AccountingMethod

The method used to account for the product..

Name Description
None
Cash
Accrual

AccountingRule

The accounting rule for the product, mapping financial resources to a GL account. TODO: Move to package GL..

Name Description Type
account_id The account ID of the general ledger account mapped to the financial resource String
transaction_channel_id The ID of the transaction channel used String
financial_resource The financial resource used to setup the accounting rules for determining the accounts for journal entries FinancialResource

AccountingSettings

A list of accounting settings for a product..

Name Description Type
accounting_rules A list of accounting rules used for the product Array[AccountingRule]
interest_accrued The method used to determine when the interest is AccountingMethod is the method used to account for the product InterestAccrued
accounting_method The method used to account for the product AccountingMethod
interest_accounting_method The method used to account for the interest for the product AccountingMethod

AmortizationMethod

The method used to generate repayment schedules for loan accounts..

Name Description
MethodStandardPayments
MethodBalloonPayments
MethodOptimizedPayments
MethodPaymentPlan

AmortizationType

The type of profile used for amortization for a fee..

Name Description
ProfileNone
ProfileSumOfYearsDigits
ProfileStraightLine
ProfileEffectiveInterestRate

ArrearsSettings

The arrears settings for a loan account..

Name Description Type
date_calculation_method The method the date the account goes into arrears is determined DateCalculationMethod
include_non_working_days A flag indicating whether non-working days should be included when calculating penaltees and late fees Boolean
tolerance_calculation_method The method of calculating the tolerance ToleranceCalculation
monthly_tolerance_day The day of the month the tolerance is up until if ToleranceCalculationMethod is set to MonthlyArrearsToleranceDay Integer
tolerance_period The tolerance period if ToleranceCalculationMethod is set to ArrearsTolerancePeriod Duration
tolerance_floor_amount The minimum amount of tolerance applied to the loan account Amount
tolerance_percentage_of_outstanding_principal The percentage of outstanding principal within tolerance Float(64)

AvailabilitySettings

The settings for the availability of a product..

Name Description Type
available_for The type of entity that can register for the product Array[AvailableFor]
all_branches A flag indicating that the product is available for all branches Boolean
branch_ids A list of IDs of branches that the product is available for if allBranches is false Array[String]

AvailableFor

The type of entity that can register for the product..

Name Description
AvailableForIndividuals
AvailableForPureGroups
AvailableForSolidarityGroups

BalanceCalculationMethod

The method used to calculate the balance of the interest..

Name Description
MethodPrincipal
MethodPrincipalAndInterest

BatchUpdateAction

The batch update action to perform..

Name Description
UpdateInterestSettings

BillingCycleSettings

The billing cycle settings for revolving credit products..

Name Description Type
enabled A flag indicating whether the billing cycle is enabled Boolean
start_days The start days of a billing cycle in the month Array[Integer]

CappingConstraintType

The type of capping for charges..

Name Description
SoftCap
HardCap

CommissionAllocationType

The type of allocation for the commission..

Name Description
TypePercentageOfLoanFunding
TypeFixedInterestCommissions

DateCalculationMethod

The method of calculating the arrears date..

Name Description
DateAccountFirstWentToArrears
DateLastLateRepayment
DateAccountFirstBreachedMaterialityThreshold

DaysCountMethod

The method used to count the days..

Name Description
MethodRepaymentPeriodicity DaysCountMethod_MethodRepaymentPeriodicity is the method that counts the day up to the most recent repayment date
MethodActualDayCount DaysCountMethod_MethodActualDayCount is the method that counts the actual number of days

DaysInYear

The number of days in a year for the purpose of interest calculation..

Name Description
YearActual365Fixed
YearActual364
YearActual360
YearActualActualIsda
YearE30360
YearE3042365

DecimalInterval

A range of decimal values. The range is inclusive. The default value is always in the range..

Name Description Type
default The default value of the range Float(64)
max The maximum value of the range Float(64)
min The minimum value of the range Float(64)

DepositCategory

The category of a deposit product..

Name Description
DepositCategoryPersonalDeposit
DepositCategoryBusinessDeposit
DepositCategoryDailyBankingAccounts
DepositCategoryBusinessBankingAccounts
DepositCategoryStoredValueAccounts
DepositCategoryUncategorized

DepositControls

The controls for a deposit product..

Name Description Type
dormancy_period_days The number of days after which a dormant account will be automatically closed Integer
max_withdrawal_amount The maximum amount that can be withdrawn from the account per withdrawal Amount
opening_balance The constraint on the opening balance for accounts of the product DecimalInterval
recommended_deposit_amount The recommended deposit amount for accounts of the product Amount

DepositInterestSettings

The settings for deposit interest calculation..

Name Description Type
collect_interest_when_locked A flag indicating whether interest is collected when the account is locked Boolean
days_in_year The number of days in a year for the purpose of interest calculation DaysInYear
calculation_balance The balance used for interest calculation InterestCalculationBalance
paid_into_account A flag indicating whether interest is paid into the account directly Boolean
payment_settings The settings for interest payment InterestPaymentSettings
rate_settings The settings for interest rate calculation InterestRateSettings
maximum_balance The maximum amount of balance used in interest calculation Amount

DepositProduct

The terms and constraints representing a deposit product..

Name Description Type
product_id The ID of the deposit product String
name The name of the deposit product String
notes The description of the product String
category The category of the deposit product DepositCategory
currencies A list of currencies that can be used by accounts of this product Array[String]
controls The controls for the deposit product DepositControls
settings The settings for the product DepositSettings
active True if the product is active Boolean
template_ids The list of template IDs of documents associated with the product Array[String]
type The type of the product DepositProductType
create_time The time the product was created Timestamp
update_time The time the product was last updated Timestamp

DepositProductType

The type of a deposit product..

Name Description
TypeCurrentAccount
TypeRegularSavings
TypeFixedDeposit
TypeSavingsPlan
TypeInvestorAccount

DepositSettings

The settings for a deposit product..

Name Description Type
accounting The accounting settings for the product AccountingSettings
availability The availability settings for the product AvailabilitySettings
revolving_account The revolving accounts settings for the product RevolvingAccountSettings
fees The fee settings for the product FeeSettings
interest The interest settings for the product DepositInterestSettings
maturity The maturity settings for the product MaturitySettings
new_account The settings for new accounts of the product NewAccountSettings
offset The offset settings for the product OffsetSettings
overdraft_interest The overdraft interest settings for the product DepositInterestSettings
overdraft The overdraft settings for the product OverdraftSettings
tax The tax settings for the product DepositTaxSettings

DepositTaxSettings

The tax settings for a deposit account..

Name Description Type
withholding_tax_enabled True if withholding tax is enabled for accounts of the product Boolean

DueDateScheduleMethod

The method used to calculate the due date of a repayment..

Name Description
IntervalDueDates
IntervalFixedDaysOfMonth

DurationInterval

A range of duration values. The range is inclusive. The default value is always in the range..

Name Description Type
default The default value of the range Duration
min The minimum value of the range Duration
max The maximum value of the range Duration

ElementsRecalculationMethod

The method of recalculating the elements..

Name Description
MethodPrincipalExpectedFixed
MethodTotalExpectedFixed

Fee

An instance of pre-defined fee that can be applied to accounts..

Name Description Type
fee_id The ID of the fee String
name The name of the fee that is displayed to the user String
calculation_method The method used to calculate the fee FeeCalculationMethod
required Whether the fee is required when a disburse is applied Boolean
amount The amount of the fee Amount
percent The percentage value of a fee String
apply_date_method The method used to determine when the fee is applied FeeApplyDateMethod
trigger The event that will trigger the fee to be collected FeeTrigger
accounting_rules A list of rules that are applied to the fee Array[AccountingRule]
amortization_settings Period and interval configuration for amortization PeriodIntervalSettings
is_active A flag that indicates if the fee is active Boolean
is_taxable A flag that indicates if the fee is taxable Boolean
create_time The time the fee was created Timestamp
update_time The time the fee was last updated Timestamp

FeeApplyDateMethod

The method used to determine when the fee is applied. By default, the fee is applied monthly from the fee was activated..

Name Description
MonthlyFromActivation
FirstOfEveryMonth

FeeCalculationMethod

The method used to calculate the fee for a disbursement. By default, the fee is a flat amount..

Name Description
MethodFlat
MethodLoanAmountPercentage
MethodRepaymentPrincipalAmountPercentage
MethodLoanAmountPercentageNumberOfInstallments
MethodFlatNumberOfInstallments

FeeSettings

The settings for the fees for a product..

Name Description Type
allow_arbitrary A flag indicating that the product allows for arbitrary fees to be added to the account of the product Boolean
fees A list of predefined fees for the product Array[Fee]

FeeTrigger

The instance in which the fee is applied..

Name Description
Manual
ManualPlanned
Disbursement
CapitalizedDisbursement
UpfrontDisbursement
LateRepayment
MonthlyFee
PaymentDue
PaymentDueAppliedOnDueDates

FinancialResource

A type of resource used to setup the product accounting rule..

Name Description
ResourcePortfolioControl
ResourceFundSource
ResourceWriteOffExpense
ResourceInterestIncome
ResourceTaxesPayable
ResourceFeeIncome
ResourcePenaltyIncome
ResourceNegativeInterestPayableReceivable
ResourceNegativeInterestPayable
ResourceInterestReceivable
ResourceFeeReceivable
ResourcePenaltyReceivable
ResourceTaxesReceivable
ResourceDeferredInterestsIncome
ResourceDeferredFeeIncome
ResourceDeferredTaxes
ResourceDepositReference
ResourceSavingsControl
ResourceInterestExpense
ResourceInterestPayable
ResourceNegativeInterestIncome
ResourceNegativeInterestReceivable
ResourceOverdraftPortfolioControl
ResourceOverdraftInterestIncome
ResourceOverdraftWriteOffExpense
ResourceOverdraftInterestReceivable
ResourceInterBranchTransfer

FundingSettings

The settings for the funding of a loan account..

Name Description Type
investor A flag that indicates whether the loan account is funded by investor(s) Boolean
commission The minimum and maximum amount of interest commissioned DecimalInterval
commission_allocation_type The type of interest commission allocation used when paying back investors CommissionAllocationType
lock_funds_on_approval A flag that indicates whether the investor's funds should be locked when a loan account is approved Boolean
organization_commission The minimum and maximum amount of interest commissioned to the organization DecimalInterval
required_funds The minimum amount of investor funds package Amount

FuturePaymentsAcceptance

Different levels of future payments acceptance..

Name Description
NoFuturePayments
AcceptanceAcceptFuturePayments
AcceptanceAcceptOverpayments

GracePeriodSettings

The settings for the grace period of repayment..

Name Description Type
grace_period The minimum and maximum duration of the grace period DurationInterval
grace_period_type The type of repayment required during the grace period GracePeriodType

GracePeriodType

The type of grace period available..

Name Description
NoGracePeriod
PayInterestOnly
InterestForgiveness

IDGeneratorType

The type of ID generator used to generate IDs for accounts..

Name Description
TypeIncrementalNumber
TypeRandomPattern

InitialAccountState

The initial state of an account when it was created..

Name Description
StatePartialApplication
StatePendingApproval
StateApproved
StateActive
StateActiveInArrears
StateClosed

IntegerInterval

A range of integer values. The range is inclusive. The default value is always in the range..

Name Description Type
default The default value of the range Integer
max The maximum value of the range Integer
min The minimum value of the range Integer

InterestAccrued

The method used to determine when the interest is accrued..

Name Description
Never
Daily
EndOfMonth

InterestApplicationMethod

The method used to apply the interest..

Name Description
MethodAfterDisbursement
MethodRepaymentDueDate

InterestCalculationBalance

The balance used for interest calculation..

Name Description
BalanceMinimum
BalanceAverage
BalanceEndOfDay
BalanceMinimumToEndOfDay

InterestCalculationMethod

The method used to calculate the interest..

Name Description
MethodFlatInterest
MethodDecliningBalance
MethodDecliningBalanceDiscounted

InterestPaymentSettings

The settings for interest payments on a deposit account..

Name Description Type
payment_dates A list of dates on which interest payments are to be made Array[Timestamp]
frequency The amount of time between interest payment to the account Duration

InterestRateSettings

The settings for interest rate calculation..

Name Description Type
accrue_after_maturity A flag indicating whether interest is accrued after the account maturity date Boolean
index_source_id The ID of the index rate source String
frequency The period between interest charges Duration
constraints The minimum, maximum and default values for the interest rate DecimalInterval
ceiling The maximum amount of interest spread and index interest rate for index interest rate products Float(64)
floor The minimum amount of interest spread and index interest rate for index interest rate products Float(64)
source The source used for interest rate calculation InterestRateSource
rate_review The duration between interest rate reviews Duration
terms The terms used for interest rate calculation InterestRateTerms
tiers The list of interest rate tiers for the configuration Array[InterestRateTier]

InterestRateSource

The source used for interest rate calculation..

Name Description
FixedInterestRate
IndexInterestRate

InterestRateTerms

The terms used for interest rate calculation..

Name Description
Fixed
Tiered
TieredPeriod
TieredBand

InterestRateTier

A tier of interest rates on a deposit account, holding information on the method interest is computed..

Name Description Type
ending_balance The upper limit for accounts' balance in this tier Amount
ending_day The upper limit for days since account activation in this tier Integer
interest_rate The interest rate for this tier Float(64)

InterestType

The type of the interest..

Name Description
Simple
Capitalized
Compounding

IntervalType

The type of the interval used for the period..

Name Description
PredefinedIntervals
FullTerm

LatePaymentsRecalculationMethod

The method of recalculating the late payment..

Name Description
MethodOverdueInstallmentsIncrease
MethodLastInstallmentIncrease

LinkedAccountOptions

Options for configuring the linked account..

Name Description
AutoLinkAccounts
AutoCreateLinkedAccounts

LoanAmountSettings

The settings for the loan amount limitations of the loan product..

Name Description Type
loan_amount The minimum, maximum and default loan amount DecimalInterval
max_number_of_tranches The maximum number of tranches supported by the loan product Integer

LoanCategory

The category of a loan product..

Name Description
CategoryPersonalLending
CategoryPurchaseFinancing
CategoryRetailMortgages
CategorySmeLending
CategoryCommercial
CategoryUncategorized

LoanInterestSettings

The settings for interest calculation for loan accounts..

Name Description Type
accrue_late_interest A flag indicating whether late interest should be accrued Boolean
compounding_frequency The duration between interest compounding Duration
days_in_year The number of days in a year for the purpose of interest calculation DaysInYear
index_rate_settings The settings for index rate calculation InterestRateSettings
application_method The method the interest is applied onto the loan InterestApplicationMethod
balance_calculation_method The method used to calculate the balance the interest is based on BalanceCalculationMethod
calculation_method The method used to calculate the interest InterestCalculationMethod
rate_settings The settings for interest rate calculation Array[InterestRateSettings]
type The type of the interest InterestType
schedule_interest_method The method the interest's timespan is calculated DaysCountMethod

LoanInternalControls

The internal controls for loan accounts..

Name Description Type
dormancy_period The amount of time after the account is fully paid to auto-close it Duration
multi_user_approval A flag that indicates whether multiple users are required to create and approve the loan account following the four eyes principle Boolean
lock_settings The settings applied when the account is locked LockSettings

LoanPenaltyCalculationMethod

The method used to calculate loan penalties..

Name Description
MethodNoRecalculate
MethodOverdueBalance
MethodOverdueBalanceAndInterest
MethodOutstandingPrincipal

LoanProduct

A product where the bank provides a loan account to its clients..

Name Description Type
product_id The ID of the product String
name The name of the loan product String
type The type of the loan product LoanType
active A flag that indicates whether the loan product is active Boolean
notes The notes of the loan product String
allow_custom_repayment_allocation A flag that indicates whether the loan product allows a payment to be customly allocated, ignoring the default repayment allocation order Boolean
category The category of the loan product LoanCategory
currency_code The code of the currency used for the loan product String
internal_controls The constraints and automated actions and that will be applied on accounts of the product LoanInternalControls
template_ids The list of IDs of templates for documents related to the product Array[String]
settings The settings applied to the loan product LoanSettings
create_time The time the loan product was created Timestamp
update_time The time the loan product was last updated Timestamp

LoanScheduleSettings

The settings for schedules in loan products..

Name Description Type
type The type of the loan schedule RepaymentScheduleType
billing_cycle The billing cycle settings for revolving credit products BillingCycleSettings
repayment_count The number of installments Integer
schedule_due_dates_method The method used to determine the repayment due dates DueDateScheduleMethod
fixed_days_of_month The list of days in the month where the repayments are due Array[Integer]
period The period between loan repayments Duration
installment_count The minimum, maximum and default number of installments IntegerInterval
first_due_date_offset The minimum, maximum and default number of days to add to the first installment date IntegerInterval
preview_schedule The settings for previewing schedules PreviewScheduleSettings
rescheduling_method The method used when rescheduling repayments RepaymentReschedulingMethod
edit_options A list of properties that can be edited after creation Array[RepaymentScheduleEditOptions]
rounding The rounding settings used in loan computation RoundingSettings
short_month_handling_method The method used in handling short months if a fixed day of month above 28 is specified MonthHandlingMethod

LoanSettings

The settings for a loan product..

Name Description Type
account_link The settings for linking a deposit account to the loan account AccountLinkSettings
accounting The settings for the loan account's accounting AccountingSettings
arrears The settings for the loan account's arrears ArrearsSettings
availability The settings for the loan product's availability AvailabilitySettings
revolving_account The settings for the loan account's revolving account RevolvingAccountSettings
fees The settings for the loan account's fees FeeSettings
funding The settings for the loan account's funding FundingSettings
grace_period The settings for the loan account's grace period GracePeriodSettings
interest The settings for the loan account's interest LoanInterestSettings
loan_amount The settings for the loan account's loan amount LoanAmountSettings
new_account The settings for new loan accounts NewAccountSettings
offset The settings for the loan account's offset OffsetSettings
payment The settings for the loan account's payment PaymentSettings
penalty The settings for the loan account's penalty PenaltySettings
redraw The settings for the loan account's redraw RedrawSettings
schedule The settings for the loan account's schedule LoanScheduleSettings
security The settings for the loan account's security SecuritySettings
tax The settings for the loan account's tax LoanTaxSettings

LoanTaxSettings

The settings for the taxes on the loan product..

Name Description Type
include_tax A flag indicating whether the tax should be included in the target amount Boolean
tax_source_id The ID of the tax source the loan account taxes should be updated from String
enable_fee_tax A flag indicating whether tax should be applied to fees Boolean
enable_interest_tax A flag indicating whether tax should be applied to interests Boolean
enable_penalty_tax A flag indicating whether tax should be applied to penalties Boolean

LoanType

The type of the loan product..

Name Description
TypeFixedTermLoan
TypeDynamicTermLoan
TypeInterestFreeLoan
TypeTranchedLoan
TypeRevolvingCredit

LockSettings

Settings for when the loan account is locked..

Name Description Type
capping_constraint_type The type of capping for charges CappingConstraintType
principal_cap_method The method the principal is used when determining capping value PrincipalCapMethod
capping_percentage The percentage of principal that cannot be exceeded by interest, fees and penalty balances Float(64)
lock_period The duration the account is locked for if it stays in arrears Duration

MaturitySettings

The maturity settings for a deposit product..

Name Description Type
default_period The default maturity period for the product Duration
max_period The maximum maturity period for the product Duration
min_period The minimum maturity period for the product Duration

MonthHandlingMethod

The method used to handle a certain month if the regular strategy on determining repayment date does not work..

Name Description
LastDayInMonth
FirstDayOfNextMonth

NewAccountSettings

The settings for a new account..

Name Description Type
initial_state The initial state of the account when it is created InitialAccountState
id_generator_type The type of ID generator to use for the account IDGeneratorType
id_pattern The pattern to use for the ID generator String

NewBatchUpdate

The details on the batch update to trigger..

Name Description Type
action The action to perform BatchUpdateAction

OffsetSettings

The settings for the offsets for a product..

Name Description Type
allow_offset A flag indicating that the product allows for offsets Boolean

OverdraftSettings

The overdraft settings for a deposit account..

Name Description Type
enabled True if the account can be overdrafted Boolean
allow_technical_overdraft A flag to enable technical overdraft for accounts of the product Boolean
max_overdraft_limit The maximum amount of money that may be taken out of the account to go negative Amount

PaymentSettings

The settings for repayment in loan accounts..

Name Description Type
amortization_method The method used to generate repayment schedules for the loan account AmortizationMethod
late_payments_method The method used to recalculate the schedule when a late payment is made LatePaymentsRecalculationMethod
type The type of the interest payment PaymentType
prepayment The settings for the prepayment for the product PrepaymentSettings
principal_payment The settings for constraints on principal payment PrincipalPaymentSettings
allocation_order The order the funds of a repayment is allocated Array[RepaymentAllocationOrder]

PaymentType

The type of payment for the loan account..

Name Description
MethodHorizontal PaymentType_MethodHorizontal is the method of payment for the loan account where payments are made on the repayments
MethodVertical PaymentType_MethodVertical is the method of payment for the loan account where payments are made on the loan account

PenaltySettings

The settings for the penalties of the loan product..

Name Description Type
calculation_method The method loan penalties are calculated LoanPenaltyCalculationMethod
grace_period The period to wait before applying the penalty amount Duration
penalty_rate The minimum, maximum and default penalty rate DecimalInterval

PeriodFrequency

The frequency of the period interval..

Name Description
AccountInstallmentsDueDates
AccountInstallmentsDueDatesDailyBooking
CustomInterval

PeriodIntervalSettings

The settings for a period interval..

Name Description Type
amortization_type The type of profile used for amortization for a fee AmortizationType
continue_amortization A flag for signaling if fee amortization should be continued or finished at account reschedule/refinance Boolean
frequency The frequency settings of the fee amortization PeriodFrequency
interval_type The type of the interval used for the period IntervalType
interval_count The total number of intervals for the period Integer
period The duration of the period interval Duration

PrepaymentRecalculationMethod

The method of recalculating the payment when prepayments are made..

Name Description
NoRecalculation
RescheduleRemainingRepayments
RecalculateScheduleKeepSameNumberOfTerms
RecalculateScheduleKeepSamePrincipalAmount
RecalculateScheduleKeepSameTotalRepaymentAmount
ReduceAmountPerInstallment
ReduceNumberOfInstallments
ReduceNumberOfInstallmentsNew

PrepaymentSettings

The settings for the prepayment of a loan account..

Name Description Type
accept_prepayment A flag indicating whether pre-payments are accepted for the product Boolean
automatic_interest A flag indicating whether interest is automatically applied for the prepayment Boolean
elements_recalculation_method The method the declining balance is handled ElementsRecalculationMethod
future_payments_acceptance The level of acceptance for future payments (repayments with entry date set in the future) FuturePaymentsAcceptance
recalculation_method The method of recalculating the payment when prepayments are made PrepaymentRecalculationMethod
principal_paid_installment_status The new installment status when the principal is paid off PrincipalPaidInstallmentStatus

PreviewScheduleSettings

The settings for previewing schedules for loan products..

Name Description Type
enabled A flag indicating whether the preview schedule is enabled Boolean
preview_count The number of previewed installments Integer

PrincipalCapMethod

The method the principal is used when determining capping value..

Name Description
OutstandingPrincipalPercentage
OriginalPrincipalPercentage

PrincipalPaidInstallmentStatus

The status of repayment of the principal..

Name Description
StatusPartiallyPaid
StatusPaid
StatusOriginalTotalExpectedPaid

PrincipalPaymentMethod

The method of payment for the principal..

Name Description
MethodFlatPayment
MethodOutstandingPrincipalPercentage
MethodPrincipalPercentageLastDisb
MethodTotalBalancePercentage
MethodTotalBalanceFlat
MethodTotalPrincipalPercentage

PrincipalPaymentSettings

The settings for the payment of the principal for loans created based on the product..

Name Description Type
amount The minimum, maximum and default amount of principal for accounts made for this product DecimalInterval
default_interval The default number of repayments for the principal Integer
percentage The minimum, maximum and default principal payment percentage for the account made after the product DecimalInterval
ceiling The maximum amount of principal due a repayment can have Amount
floor The minimum amount of principal due a repayment can have Amount
principal_payment_method The method of determining principal payment PrincipalPaymentMethod
include_fees_in_floor_amount A flag to indicate whether the fees should be included in the floor amount in a revolving credit account Boolean
include_interest_in_floor_amount A flag to indicate whether the interest should be included in the floor amount in a revolving credit account Boolean
total_due_amount_floor The minimum due amount for revolving credit accounts Amount
total_due_payment The method of determining total amount of payment due for revolving credit accounts TotalDuePayment

RedrawSettings

The settings for redrawing loans..

Name Description Type
allow_redraw A flag indicating whether redrawing is allowed for prepayments on the loan account Boolean

RepaymentAllocationOrder

The order in which the repayments are allocated..

Name Description
OrderPrincipal
OrderInterest
OrderFee
OrderPenalty

RepaymentCurrencyRounding

The method the repayment currency is rounded..

Name Description
NoCurrencyRounding
RoundToNearestWholeUnit
RoundUpToNearestWholeUnit

RepaymentElementsRounding

The method the repayment elements are rounded..

Name Description
NoRepaymentRounding
RoundAll
RoundPaymentDue

RepaymentReschedulingMethod

The method used to reschedule repayments..

Name Description
NoRescheduleRepayment
NextWorkingDay
PreviousWorkingDay
ExtendSchedule

RepaymentScheduleEditOptions

The options for editing the repayment schedule..

Name Description
AdjustPaymentDates
AdjustPrincipalPaymentSchedule
AdjustInterestPaymentSchedule
AdjustFeePaymentSchedule
AdjustPenaltyPaymentSchedule
AdjustNumberOfInstallments
AdjustPaymentHolidays

RepaymentScheduleRounding

The method the repayment schedule is rounded..

Name Description
NoScheduleRounding
RoundRemainderIntoLastRepayment
RoundPrincipalAndInterestRemainderIntoLastRepayment

RepaymentScheduleType

The type of repayment schedule..

Name Description
NoRepaymentSchedule
FixedRepaymentSchedule
DynamicRepaymentSchedule

RevolvingAccountRequirement

The requirement settings for assigning a revolving account to a product..

Name Description
RequirementOptional
RequirementRequired
RequirementNotRequired

RevolvingAccountSettings

The settings for the credit arrangement for a product..

Name Description Type
requirement The requirement settings for assigning a revolving account to a product RevolvingAccountRequirement

RiskLevel

The configured level of risk for loans..

Name Description Type
level_id The unique identifier for the risk level String
name The human-readable name of the loan risk level String
minimum_days The minimum number of days the account is at risk for it to be considered to be in this risk level Integer
maximum_days The maximum number of days the account is at risk for it to be considered to be in this risk level Integer
provisioning_percent The percent of loans to be provisioned (set aside as an allowance for uncollected loans) Float(64)

RoundingSettings

The rounding settings used in loan computation..

Name Description Type
repayment_currency The method the repayment currency is rounded RepaymentCurrencyRounding
repayment_elements The method each element from the schedule are rounded RepaymentElementsRounding
repayment_schedule The method repayment schedules are rounded RepaymentScheduleRounding

SecuritySettings

The settings for security requirements on the loan product..

Name Description Type
enable_collateral A flag indicating whether collateral (assets or other goods) are accepted to reach required securities percentage Boolean
enable_guarantors A flag indicating whether guarantors (other clients) are accepted to reach required securities percentage Boolean
required_guaranties The amount of securities required to approve the account, in percentage Float(64)

SettlementMethod

The method of settling the loan account..

Name Description
MethodFullDueAmounts
MethodPartialDueAmounts
MethodNoAutomatedTransfers

ToleranceCalculation

The method of calculating the tolerance..

Name Description
ArrearsTolerancePeriod
MonthlyArrearsToleranceDay

TotalDuePayment

The method of determining the total amount due..

Name Description
PaymentFlat
PaymentOutstandingPrincipalPercentage
PaymentPrincipalPercentageLastDisb
PaymentTotalBalancePercentage
PaymentTotalBalanceFlat
PaymentTotalPrincipalPercentage