Loan Products

Create Loan Product

POST {base url}/v1/loanProducts

Name
Type
Description

Authorization header*

String

API user secret key

Body

Name
Type
Description

name

string

product name

description

string

product description

type

string

loan type (FIXED_TERM_LOAN, INTEREST_FREE_TERM_LOAN)

currency

string

loan currency (USD/NGN)

initialState

string

Loan state (PENDING_APPROVAL, PARTIAL_APPLICATION)

userTypes

array

Loan user type (clients and companies)

branch

array

branches that can access the loan product (["all_branches" or "id of the branch"])

enableLinking

boolean

Enable deposit linking (true if theproduct will be link to deposit product)

minAmount

number

Minimum loan amount

maxAmount

number

Maximum loan amount

paymentMethod

string

Loan payment method (STANDARD_PAYMENT, BALLON_PAYMENT)

paymentInterval

string

Loan payment interval (INTERVAL, END_OF_MONTH)

paymentMade

string

Payment made on loan (WEEK, MONTH, YEAR)

defaultInstallments

number

Loan default installment

minInstallments

number

Loan minimum installment

maxInstallments

number

Loan maximum installment

defaultDueDateOffSet

number

Default due date offset

minDueDateOffSet

number

Minimum due date offset

maxDueDateOffSet

number

Maximum due date offset

enableGracePeriod

boolean

Enable grace period on loan

defaultGracePeriod

number

Default grace period

minGracePeriod

number

Minimum due date offset

maxGracePeriod

number

Maximum due date offset

principalRoundingSchedule

string

Principle rounding schedule on loan

currencyRoundingSchedule

string

Currency rounding schedule on loan

acceptPrepayment

boolean

Accept prepayment on loan

paymentAllocation

string

Payment allocation (HORIZONTAL/VERTICAL)

prepaymentAllocationOrder

string

Prepayment allocation order

Enable penalty

string

Enable penalty

Enable collateral

string

Enable collateral

enableFundingSource

string

Enable funding source

feeIncome

string

Assets GL

methodology

string

Loan methodology (ACCRUAL or CASH)

feeReceivable

string

Assets GL

penaltyIncome

string

Income GL

interestIncome

string

Income GL

writeOffExpense

string

Expense GL

portfolioControl

string

Asset GL

penaltyReceivable

string

Asset GL

interestReceivable

string

Asset GL

fees

array

Fees on loan

{
        "name": "test product",
        "type": "FIXED_TERM_LOAN",
        "currency": "NGN",
        "initialState": "PENDING_APPROVAL",
        "description": "test product",
        "userType": [
            "clients",
            "companies"
        ],
        "branch": [
            "all_branches or id of the individual branches the product will be available to"
        ],
        "enableLinking": false,
        "minAmount": 10000,
        "maxAmount": 10000000,
        "interest": {
            "daysInAYear": 365,
            "interestType": "SIMPLE_INTEREST",
            "interestCharged": "%_PER_YEAR",
            "interestPosting": "ON_DISBURSEMENT",
            "maxInterestRate": 40,
            "minInterestRate": 30,
            "repaymentInterest": "REPAYMENT_PERIOD",
            "defaultInterestRate": 35,
            "interestCalculation": "DECLINING_BALANCE"
        },
        "scheduling": {
            "paymentMade": {
                "value": 1,
                "period": "WEEK/MONTH/YEAR"
            },
            "paymentMethod": "STANDARD_PAYMENT",
            "maxGracePeriod": 5,
            "minGracePeriod": 2,
            "maxInstallments": 10,
            "minInstallments": 4,
            "paymentInterval": "INTERVAL",
            "maxDueDateOffset": 3,
            "minDueDateOffset": 1,
            "enableGracePeriod": true,
            "defaultGracePeriod": 3,
            "principalCollected": 1,
            "defaultInstallments": 6,
            "defaultDueDateOffset": 2,
            "currencyRoundingSchedule": "NO_ROUNDING",
            "principalRoundingSchedule": "NO_ROUNDING"
        },
        "collection": {
            "acceptPrepayment": false,
            "paymentAllocation": "HORIZONTAL",
            "prepaymentAllocationOrder": {
                "fee": 0,
                "penalty": 1,
                "interest": 2,
                "principal": 3
            }
        },
        "penalty": {
            "enablePenalty": false
        },
        "security": {
            "enableCollateral": false,
            "enableFundingSource": false
        },
        "accounting": {
            "feeIncome": "2029427635",
            "methodology": "ACCRUAL",
            "feeReceivable": "4048468827",
            "penaltyIncome": "2029427635",
            "interestIncome": "2029427635",
            "writeOffExpense": "1014905527",
            "portfolioControl": "4048468827",
            "penaltyReceivable": "4048468827",
            "transactionSource": "4048468827",
            "interestReceivable": "4048468827"
        },
        "fees": [
            {
                "value": 75,
                "feeName": "management fee",
                "feeType": "ON_DISBURSEMENT",
                "feePayment": "FLAT or PERCENTAGE_0F_DISBURSE_AMOUNT"
            }
        ]
        ]
    }

Update loan product

PATH /api/v1/loanProducts/{loanId}

Update single loan product

Headers

Name
Type
Description

Authorization header*

String

API user secret key

Body

Name
Type
Description

description

string

Product name

type

string

Loan type

category

string

Loan category

currency

string

Loan currency (USD/NGN)

initialState

string

Loan state

userTypes

array

Loan user type

branch

array

Branches loan product is available to

enableLinking

boolean

Enable deposit linking

minAmount

number

Minimum loan amount

maxAmount

number

Maximum loan amount

paymentMethod

string

Loan payment mehtod

paymentInterval

string

Loan payment interval

paymentMade

string

Payment made on loan

defaultInstallments

number

Loan default installment

minInstallments

number

Loan minimum installment

maxInstallments

number

Loan maximum installment

defaultDueDateOffSet

number

Default due date offset

minDueDateOffSet

number

Minimum due date offset

maxDueDateOffSet

number

Maximum due date offset

enableGracePeriod

boolean

Enable grace period on loan

defaultGracePeriod

number

Default grace period

minGracePeriod

number

Minimum due date offset

maxGracePeriod

number

Maximum due date offset

principalRoundingSchedule

string

Principle rounding schedule on loan

currencyRoundingSchedule

string

Currency rounding schedule on loan

acceptPrepayment

boolean

Accept prepayment on loan

paymentAllocation

string

Payment allocation

prepaymentAllocationOrder

string

Prepayment allocation order

Enable penalty

string

Enable penalty

Enable collateral

string

Enable collateral

enableFundingSource

string

Enable funding source

feeIncome

string

Assets GL

methodology

string

Loan methodology

feeReceivable

string

Assets GL

penaltyIncome

string

Income GL

interestIncome

string

Income GL

writeOffExpense

string

Expense GL

portfolioControl

string

Asset GL

penaltyReceivable

string

Asset GL

interestReceivable

string

Asset GL

fees

array

Fees on loan

Response

{
        "name": "test product",
        "type": "FIXED_TERM_LOAN",
        "currency": "NGN",
        "initialState": "PENDING_APPROVAL",
        "description": "test product",
        "userType": [
            "clients",
            "companies"
        ],
        "branch": [
            "all_branches or id of the individual branches the product will be available to"
        ],
        "enableLinking": false,
        "minAmount": 10000,
        "maxAmount": 10000000,
        "interest": {
            "daysInAYear": 365,
            "interestType": "SIMPLE_INTEREST",
            "interestCharged": "%_PER_YEAR",
            "interestPosting": "ON_DISBURSEMENT",
            "maxInterestRate": 40,
            "minInterestRate": 30,
            "repaymentInterest": "REPAYMENT_PERIOD",
            "defaultInterestRate": 35,
            "interestCalculation": "DECLINING_BALANCE"
        },
        "scheduling": {
            "paymentMade": {
                "value": 1,
                "period": "WEEK/MONTH/YEAR"
            },
            "paymentMethod": "STANDARD_PAYMENT",
            "maxGracePeriod": 5,
            "minGracePeriod": 2,
            "maxInstallments": 10,
            "minInstallments": 4,
            "paymentInterval": "INTERVAL",
            "maxDueDateOffset": 3,
            "minDueDateOffset": 1,
            "enableGracePeriod": true,
            "defaultGracePeriod": 3,
            "principalCollected": 1,
            "defaultInstallments": 6,
            "defaultDueDateOffset": 2,
            "currencyRoundingSchedule": "NO_ROUNDING",
            "principalRoundingSchedule": "NO_ROUNDING"
        },
        "collection": {
            "acceptPrepayment": false,
            "paymentAllocation": "HORIZONTAL",
            "prepaymentAllocationOrder": {
                "fee": 0,
                "penalty": 1,
                "interest": 2,
                "principal": 3
            }
        },
        "penalty": {
            "enablePenalty": false
        },
        "security": {
            "enableCollateral": false,
            "enableFundingSource": false
        },
        "accounting": {
            "feeIncome": "2029427635",
            "methodology": "ACCRUAL",
            "feeReceivable": "4048468827",
            "penaltyIncome": "2029427635",
            "interestIncome": "2029427635",
            "writeOffExpense": "1014905527",
            "portfolioControl": "4048468827",
            "penaltyReceivable": "4048468827",
            "transactionSource": "4048468827",
            "interestReceivable": "4048468827"
        },
        "fees": [
            {
                "value": 75,
                "feeName": "management fee",
                "feeType": "ON_DISBURSEMENT",
                "feePayment": "FLAT or PERCENTAGE_0F_DISBURSE_AMOUNT"
            }
        ]
        ]
    }

Get all loan products

GET {base url}/v1/loanProducts?page={page}&perPage={perPage}

Get all company loan products

Query Parameters

Name
Type
Description

page

number

page to return

perPage

number

number of items per page

Headers

Name
Type
Description

Authorization*

Bearer token

The bearer token is the API users Secret Key

{
    "message": "unauthorized",
    "code": 92
}
{
  "data": [
      {
          "id": "79963366-6aad-489a-82db-84d5374f707a",
          "organizationId": "a5f38f16-6c44-408f-b7ff-6775f02b83ac",
          "depositProductId": null,
          "name": "testing new ",
          "type": "FIXED_TERM_LOAN",
          "currency": "NGN",
          "initialState": "PENDING_APPROVAL",
          "description": "ererererer",
          "userType": [
              "clients",
              "companies"
          ],
          "branch": [
              "ikeja",
              "marina, CMS"
          ],
          "enableLinking": false,
          "enablePenalty": false,
          "minAmount": 10000,
          "maxAmount": 100000,
          "tranches": null,
          "interest": {
              "daysInAYear": 360,
              "interestType": "SIMPLE_INTEREST",
              "interestCharged": "%_PER_MONTH",
              "interestPosting": "ON_DISBURSEMENT",
              "maxInterestRate": 8,
              "minInterestRate": 1,
              "repaymentInterest": "REPAYMENT_PERIOD",
              "defaultInterestRate": 5,
              "interestCalculation": "FLAT"
          },
          "scheduling": {
              "paymentMade": {
                  "value": 3,
                  "period": "MONTH"
              },
              "paymentMethod": "BALLON_PAYMENT",
              "maxInstallments": 10,
              "minInstallments": 1,
              "paymentInterval": "INTERVAL",
              "maxDueDateOffset": 10,
              "minDueDateOffset": 1,
              "enableGracePeriod": false,
              "principalCollected": 10,
              "defaultInstallments": 4,
              "defaultDueDateOffset": 4,
              "currencyRoundingSchedule": "UP_TO_NEAREST_WHOLE_UNIT",
              "principalRoundingSchedule": "NO_ROUNDING"
          },
          "collection": {
              "acceptPrepayment": false,
              "paymentAllocation": "HORIZONTAL",
              "prepaymentAllocationOrder": {
                  "fee": 0,
                  "penalty": 1,
                  "interest": 2,
                  "principal": 3
              }
          },
          "penalty": {
              "enablePenalty": false,
              "maxPenaltyRate": 100,
              "minPenaltyRate": 10,
              "defaultPenaltyRate": 30,
              "penaltyTolerancePeriod": 50,
              "penaltyCalculationMethod": "OVERDUE_PRINCIPAL_*#_OF_LATE_DAYS_*_PENALTY_RATE"
          },
          "security": {
              "enableCollateral": false,
              "enableFundingSource": false,
              "funderInterestCommision": "FIXED_INTEREST_COMMISION",
              "maxFundedInterestCommision": 50,
              "minFundedInterestCommision": 10,
              "defaultFundedInterestCommision": 30
          },
          "accounting": {
              "feeIncome": "0000000181",
              "methodology": "ACCRUAL",
              "feeReceivable": "0000000181",
              "penaltyIncome": "0000000152",
              "interestIncome": "0000000152",
              "writeOffExpense": "1017320405",
              "portfolioControl": "0000000181",
              "penaltyReceivable": "0000000181",
              "transactionSource": "0000000181",
              "interestReceivable": "0000000181"
          },
          "status": "active",
          "created_at": "2023-10-30T12:18:21.799Z",
          "updated_at": "2023-11-27T12:45:52.720Z"
      }
  ],
  "pagination": {
      "currentPage": 1,
      "perPage": 15,
      "totalCount": 15,
      "totalPages": 1,
      "previousPage": 0,
      "nextPage": 1
  }
}

Get loan product details

GET {base url}/v1/loanProducts/{loanId}

Get single loan product details

Query Parameter

Name
Type
Description

loanId*

string

Loan product id

Headers

Name
Type
Description

Authorization*

Bearer token

The bearer token is the API users Secret Key

{
    "message": "unauthorized",
    "code": 92
}
{
    "data": {
        "id": "79963366-6aad-489a-82db-84d5374f707a",
        "organizationId": "a5f38f16-6c44-408f-b7ff-6775f02b83ac",
        "depositProductId": null,
        "name": "testing new ",
        "type": "FIXED_TERM_LOAN",
        "currency": "NGN",
        "initialState": "PENDING_APPROVAL",
        "description": "ererererer",
        "userType": [
            "clients",
            "companies"
        ],
        "branch": [
            "ikeja",
            "marina, CMS"
        ],
        "enableLinking": false,
        "enablePenalty": false,
        "minAmount": 10000,
        "maxAmount": 100000,
        "tranches": null,
        "interest": {
            "daysInAYear": 360,
            "interestType": "SIMPLE_INTEREST",
            "interestCharged": "%_PER_MONTH",
            "interestPosting": "ON_DISBURSEMENT",
            "maxInterestRate": 8,
            "minInterestRate": 1,
            "repaymentInterest": "REPAYMENT_PERIOD",
            "defaultInterestRate": 5,
            "interestCalculation": "FLAT"
        },
        "scheduling": {
            "paymentMade": {
                "value": 3,
                "period": "MONTH"
            },
            "paymentMethod": "BALLON_PAYMENT",
            "maxInstallments": 10,
            "minInstallments": 1,
            "paymentInterval": "INTERVAL",
            "maxDueDateOffset": 10,
            "minDueDateOffset": 1,
            "enableGracePeriod": false,
            "principalCollected": 10,
            "defaultInstallments": 4,
            "defaultDueDateOffset": 4,
            "currencyRoundingSchedule": "UP_TO_NEAREST_WHOLE_UNIT",
            "principalRoundingSchedule": "NO_ROUNDING"
        },
        "collection": {
            "acceptPrepayment": false,
            "paymentAllocation": "HORIZONTAL",
            "prepaymentAllocationOrder": {
                "fee": 0,
                "penalty": 1,
                "interest": 2,
                "principal": 3
            }
        },
        "penalty": {
            "enablePenalty": false,
            "maxPenaltyRate": 100,
            "minPenaltyRate": 10,
            "defaultPenaltyRate": 30,
            "penaltyTolerancePeriod": 50,
            "penaltyCalculationMethod": "OVERDUE_PRINCIPAL_*#_OF_LATE_DAYS_*_PENALTY_RATE"
        },
        "security": {
            "enableCollateral": false,
            "enableFundingSource": false,
            "funderInterestCommision": "FIXED_INTEREST_COMMISION",
            "maxFundedInterestCommision": 50,
            "minFundedInterestCommision": 10,
            "defaultFundedInterestCommision": 30
        },
        "accounting": {
            "feeIncome": "0000000181",
            "methodology": "ACCRUAL",
            "feeReceivable": "0000000181",
            "penaltyIncome": "0000000152",
            "interestIncome": "0000000152",
            "writeOffExpense": "1017320405",
            "portfolioControl": "0000000181",
            "penaltyReceivable": "0000000181",
            "transactionSource": "0000000181",
            "interestReceivable": "0000000181"
        },
        "status": "active",
        "created_at": "2023-10-30T12:18:21.799Z",
        "updated_at": "2023-11-27T12:45:52.720Z",
        "productFees": [
            {
                "id": "3607de7a-0023-4666-8395-ae1662a6c4e6",
                "loanProductId": "79963366-6aad-489a-82db-84d5374f707a",
                "fees": [
                    {
                        "value": 200,
                        "feeName": "test 1 2",
                        "feeType": "ON_EVERY_REPAYMENT",
                        "feePayment": "FLAT"
                    },
                    {
                        "value": 2,
                        "feeName": "one of off fee",
                        "feeType": "ONE_OFF_ON_FIRST_REPAYMENT",
                        "feePayment": "PERCENTAGE_0F_DISBURSE_AMOUNT"
                    }
                ],
                "created_at": "2023-10-30T12:18:21.799Z",
                "updated_at": "2023-11-27T12:45:52.777Z"
            },
            {
                "id": "d2a4dc5c-be53-4dec-9b8f-506a242a9d9d",
                "loanProductId": "79963366-6aad-489a-82db-84d5374f707a",
                "fees": [
                    {
                        "value": 200,
                        "feeName": "test 1 2",
                        "feeType": "ON_EVERY_REPAYMENT",
                        "feePayment": "FLAT"
                    },
                    {
                        "value": 2,
                        "feeName": "one of off fee",
                        "feeType": "ONE_OFF_ON_FIRST_REPAYMENT",
                        "feePayment": "PERCENTAGE_0F_DISBURSE_AMOUNT"
                    }
                ],
                "created_at": "2023-11-01T10:21:10.776Z",
                "updated_at": "2023-11-27T12:45:52.777Z"
            },
            {
                "id": "6f75cb82-e25b-41ea-86ac-dad84d00d475",
                "loanProductId": "79963366-6aad-489a-82db-84d5374f707a",
                "fees": [
                    {
                        "value": 200,
                        "feeName": "test 1 2",
                        "feeType": "ON_EVERY_REPAYMENT",
                        "feePayment": "FLAT"
                    },
                    {
                        "value": 2,
                        "feeName": "one of off fee",
                        "feeType": "ONE_OFF_ON_FIRST_REPAYMENT",
                        "feePayment": "PERCENTAGE_0F_DISBURSE_AMOUNT"
                    }
                ],
                "created_at": "2023-11-06T12:27:17.906Z",
                "updated_at": "2023-11-27T12:45:52.777Z"
            },
            {
                "id": "0e0e511d-4952-4d73-944e-40ae65cdeefe",
                "loanProductId": "79963366-6aad-489a-82db-84d5374f707a",
                "fees": [
                    {
                        "value": 200,
                        "feeName": "test 1 2",
                        "feeType": "ON_EVERY_REPAYMENT",
                        "feePayment": "FLAT"
                    },
                    {
                        "value": 2,
                        "feeName": "one of off fee",
                        "feeType": "ONE_OFF_ON_FIRST_REPAYMENT",
                        "feePayment": "PERCENTAGE_0F_DISBURSE_AMOUNT"
                    }
                ],
                "created_at": "2023-11-06T12:33:12.514Z",
                "updated_at": "2023-11-27T12:45:52.777Z"
            },
            {
                "id": "4bd7ee7f-5b82-4514-94dd-8928f61f66d2",
                "loanProductId": "79963366-6aad-489a-82db-84d5374f707a",
                "fees": [
                    {
                        "value": 200,
                        "feeName": "test 1 2",
                        "feeType": "ON_EVERY_REPAYMENT",
                        "feePayment": "FLAT"
                    },
                    {
                        "value": 2,
                        "feeName": "one of off fee",
                        "feeType": "ONE_OFF_ON_FIRST_REPAYMENT",
                        "feePayment": "PERCENTAGE_0F_DISBURSE_AMOUNT"
                    }
                ],
                "created_at": "2023-11-06T12:18:32.572Z",
                "updated_at": "2023-11-27T12:45:52.777Z"
            },
            {
                "id": "533d86fd-6b52-44c3-b7e4-bd923c9cf54e",
                "loanProductId": "79963366-6aad-489a-82db-84d5374f707a",
                "fees": [
                    {
                        "value": 200,
                        "feeName": "test 1 2",
                        "feeType": "ON_EVERY_REPAYMENT",
                        "feePayment": "FLAT"
                    },
                    {
                        "value": 2,
                        "feeName": "one of off fee",
                        "feeType": "ONE_OFF_ON_FIRST_REPAYMENT",
                        "feePayment": "PERCENTAGE_0F_DISBURSE_AMOUNT"
                    }
                ],
                "created_at": "2023-11-06T12:26:51.685Z",
                "updated_at": "2023-11-27T12:45:52.777Z"
            },
            {
                "id": "6d26f4a6-943f-4fba-bf69-9b4f55cf9b81",
                "loanProductId": "79963366-6aad-489a-82db-84d5374f707a",
                "fees": [
                    {
                        "value": 200,
                        "feeName": "test 1 2",
                        "feeType": "ON_EVERY_REPAYMENT",
                        "feePayment": "FLAT"
                    },
                    {
                        "value": 2,
                        "feeName": "one of off fee",
                        "feeType": "ONE_OFF_ON_FIRST_REPAYMENT",
                        "feePayment": "PERCENTAGE_0F_DISBURSE_AMOUNT"
                    }
                ],
                "created_at": "2023-11-06T12:33:52.355Z",
                "updated_at": "2023-11-27T12:45:52.777Z"
            }
        ]
    }stri

Last updated