If you have an existing lending application, you can easily plug in to the weza.io Lending APIs, which give you access to the following features.
Lending product management.
Lending app management including the ability to set custom user messages and external webhooks.
Lending policy management using Lending App Versions.
Borrower credit assessments with in-built risk evaluations.
Automatic loan management.
All the Lending APIs sit on the weza.io lending service which designed to handle millions of concurrent client requests and connections at any one time.
Within the lending service, all API resources exist within one of the following levels.
Global level, meaning they are accessible by any authenticated client.
Project level, meaning they belong to an existing project.
App level, meaning they belong to an existing lending app.
The entire lending service can be logically divided into four planes based on functionality:
The Management Plane, which lets developers manage configurations of their products, app settings and lending policy.
The Data Plane, which handles data processing requests e.g lending events and assessments.
The Control Plane, which controls the data plane based on the configurations coming from the management plane, such as lending products and lending app policy.
The Account plane, which handles user accounts and financial accounts for lending apps.
Lending Apps allow you to manage information and settings for a lending application as well as managing lending policy.
Based on our team's extensive experience in digital lending, we've developed a robust and powerful framework in developing, releasing and validating an app's lending policy so as to provide you with data to make the best business decisions.
How we have achieved this is by implementing a common software technique called versioning on each lending app. An app's lending policy is not tied to the app itself but to a version of the app.
Whenever you make any changes to either the lending policy rules or settings using the
projects.apps.setCurrentVersion method, the API will automatically create a new version of the app along with the new lending policy.
All app level resources that have a direct impact on lending outcomes must be tagged with an
appVersionId . This can be specified when the resource is being created or else the latest app version/policy is automatically picked by the system. Examples of this include Lending Events and Lending Assessments.
The biggest advantage of policy versioning is that is enables an empirical approach in developing lending policies. Some of the benefits of this include.
Directly correlates an app version and lending policy with lending outcomes.
Helps to quickly test out various hypothesis and assumptions on lending processes with your borrowers.
Reduces risk and exposure when launching new products on the market.
A loan is a financial account that keeps track of a debt based cash asset. Each loan account is tied to a single lending product, lender (lending app) and borrower.
A lending contract is an agreement between a borrower and a lender (lending app) that defines principal, interest and repayment terms as well as settlement dates (amortization schedule) for a loan. A contract is required before a loan account can be created.
Loan underwriting involves determining a borrower's creditworthiness and setting the effective interest rate for a loan. There are 4 steps performed during the loan underwriting process.
The app performs a credit assessment for the borrower. A non-successful outcome immediately disqualifies the borrower.
The system uses the assessment outcome and the current lending policy to get the loan offer details below.
The borrower's current loan limit.
A list of all lending products offers that the borrower qualifies for. Each product offer contains the product ID and the risk premium interest rate.
This step requires that the current lending policy has rules that configure lending limit increases and lending product offers. The information is added to the credit assessment outcome. If any of the details is missing from the assessment outcome, the process will immediately stop.
At this point, the app will prompt the borrower to input their desired loan amount up to the allowed credit limit and it will subsequently return a list of loan offer contracts built from the product offers in step 2 and the selected loan amount.
If a borrower is satisfied with one of the loan contracts offered and accepts the terms, the app creates a loan account using the current assessment ID, product ID and loan amount. The system will re-build the contract before creating the account.
Once a loan account has been created, it can exist in on of the following active states during its lifetime, depending on the activity and age of the account. Some of them are described below. A full list of all lending account states can also be found here.
new: A loan account whose principal amount has not yet been disbursed to the borrower.
open: A loan account with one or more outstanding settlements.
closed: A loan account with no outstanding settlements and no active collection processes .
suspended: A loan account that is temporarily barred from receiving any credit services. For example, in the case of overdraft loans.
revoked: A loan account that is permanently barred from receiving any credit services. For example, in the case of overdraft loans.
deferred: A loan account with outstanding settlements but where collections have been paused temporarily or undergoing a moratorium.
Appraisal is the process of rewarding or penalizing a borrower based on performance. On the lending service, an appraisal is a type of assessment which when processed, returns an appraisal outcome. After completion, the system updates the borrower's profile with the appraised values. A loan appraisal targets a borrower's loan limit and borrower's loan interest rate waiver and is triggered in one of the following scenarios.
After the completion of a credit assessment for first time borrowers (i.e borrowers with no prior loans).
After a loan account is closed.
You can configure rules to manage the appraisal process in your lending policy.
It is possible to hook into important events within the lending service from external services (e.g payments, notifications, reporting e.t.c) using webhooks. Webhooks are configured within Lending App settings and you can manage them by patching your lending app. The supported event types are outlined below.
borrower.status_changed: Triggered when a borrower's account status has changed.
assessment.completed: Triggered when a lending assessment has finished processing.
event.completed: Triggered when a lending event has finished processing.
loan.created: Triggered when a loan account has been created.
loan.status_changed: Triggered when a loan account's status has changed.