Origination with an Application Process

How to use LoanPro's APIs to build scalable origination processes.

Overview

Loan origination is a process used by lenders to acquire new borrowers, vet them via KYC and underwriting, and extend a loan offer. This process is a vital piece to offering successful lending products.

While each lending operation has its own set of origination practices, rules, and flows, LoanPro's Origination Suite is built to accommodate any origination process compliantly and at scale.

In this guide, we'll cover how to use LoanPro's APIs to build a borrower application flow into your origination process.

Prerequisites

Before continuing, ensure the following is complete:

  • This tutorial assumes you have your own LoanPro environment
  • This tutorial assumes you have completed the Quickstart Guide ↗

This guide has a complementary Postman collection. Visit our public Postman workspace to export or fork the collection:

Run In Postman

Borrower application process

As mentioned, each lending operation has its own set of origination practices. Your implementation of origination might differ from the generalized flow outlined here. Regardless, here's a breakdown of the steps included in this guide:

  1. Create and update borrower information
  2. Create loan application
  3. Generate and propose loan offers
  4. Update and activate loan account

Let's dive into what requests are included in each step.

1. Create and update borrower information

The first step in your borrower application process likely involves gathering the borrower's information. Typically, an application form will ask a borrower for their personal, contact, and income information. Whether each of these categories are captured on the same page or different pages is up to you, and LoanPro's API can be leveraged to support either decision.

Create customer profile

View the API Reference ↗

Borrowers within LoanPro are represented by the Customers entity. When a borrower is created either within the application process or outside of it, a profile for the borrower can be created by sending a POST request to the Customers endpoint:

If your application form begins with a single page that gathers the borrower's personal information, a shorter payload can be used to generate a customer profile:

{
    "status": "Active",
    "customerType": "customer.type.individual",
    "customerIdType": "customer.idType.ssn",
    "firstName": "John",
    "lastName": "Doe",
    "birthDate": "1970-01-15",
    "ssn": "000000000",
    "gender": "customer.gender.male",
    "generationCode": "customer.generationCode.none",
    "email": "[email protected]"
}

The LoanPro API returns an integer-style ID that represents the customer once created. Capture the customer ID to continue to update the profile as your borrower continues filling out the application.

Update customer profile

View the API Reference ↗

Many application forms capture the borrower's contact and income information next. In LoanPro's architecture, specific sets of borrower information are stored within nested objects, meaning you can add or update information to the customer profile after it has been created. To do so, send a PUT request to update the customer profile:

https://loanpro.simnang.com/api/public/api/1/odata.svc/Customers(:id)
{
    "Phones": {
        "results": [
            {
                "phone": "8001112233",
                "isPrimary": "1",
                "isSecondary": "0",
                "delete": false,
                "type": "customer.phoneType.cell",
                "carrierVerified": 1,
                "carrierName": null,
                "isLandLine": 0
            }
        ]
    },
    "PrimaryAddress": {
        "address1": "2700 Michigan Ave",
        "city": "Chicago",
        "state": "geo.state.IL",
        "zipcode": "60602",
        "country": "company.country.usa",
        "geoLat": "41.882648",
        "geoLon": "-87.623102",
        "verify": false
    },
    "MailAddress": {
        "address1": "2700 Michigan Ave",
        "city": "Chicago",
        "state": "geo.state.IL",
        "zipcode": "60602",
        "country": "company.country.usa",
        "geoLat": "41.882648",
        "geoLon": "-87.623102",
        "verify": false
    },
    "Employer": {
        "phone": "8642543322",
        "Address": {
            "address1": "9 Michigan Ave",
            "city": "Chicago",
            "state": "geo.state.IL",
            "zipcode": "60602",
            "country": "company.country.usa"
        },
        "hireDate": "2015-01-15",
        "incomeFrequency": "customerEmployer.incomeFrequency.annually",
        "payDateFrequency": "customerEmployer.payDateFrequency.biWeekly",
        "income": 75000,
        "companyName": "Chicago Dawgs Stands",
        "title": "Owner"
    },
    "References": {
        "results": [
            {
                "name": "Tony Doe",
                "relation": "customerReference.relation.brother",
                "Address": {
                    "country": "company.country.usa",
                    "address1": "2600 Sheridan Road",
                    "zipcode": "60201",
                    "city": "Evanston",
                    "state": "geo.state.IL"
                },
                "primaryPhone": "2024456655"
            }
        ]
    }
}

In this example, we add phone, address, employment, and reference information to the customer profile. Any of these objects can be added or omitted, depending on which information your form gathers. Additionally, the information captured here can be added to the customer profile via individual PUT requests if preferred.

Third-party KYC integrations

While LoanPro does not perform its own KYC decisioning, our platform is built with integrations in mind. With the customer's personal, contact, and income information gathered, a third-party KYC platform can be used at this point to determine the validity of the information.

LoanPro's Automated Notifications tool can automatically send a customized webhook to a KYC platform when a customer profile is created. Read Event-Based Notifications to learn more.

2. Create loan

After capturing the borrower's information, next create the loan account that will serve as placeholder until an offer is generated and selected. Creating a loan allows you to track the status of the application by using LoanPro's Loan Status tagging tool. As the borrower continues through the rest of the application and underwriting process, the loan serves as a indication of the progress.

Loan accounts are represented within LoanPro by the Loans entity. When a loan is created, it is deactivated by default—meaning that the calculator is not yet active and the account's values won't be updated by LoanPro's Daily Maintenance function. This allows users to create a loan without solidifying the terms of the account.

Additionally, customer profiles can be linked to loans when they're created to associate a borrower with the new account in a single request.

Create loan account + link customer profile

View the API Reference ↗

To create a loan and link a customer, send a POST request to the Loans endpoint:

https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans
{
    "LoanSetup": {
        "loanAmount": "1.00",
        "loanRate": 0,
        "loanClass": "loan.class.consumer",
        "loanType": "loan.type.installment",
        "contractDate": "2024-07-17",
        "firstPaymentDate": "2024-08-17"
    },
    "LoanSettings": {
        "loanStatusId": 1, // Status: Application
        "loanSubStatusId": 72 // Status: Application - Started
    },
    "Customers": {
        "results": [
            {
                "__id": 1088,
                "__setLoanRole": "loan.customerRole.primary"
            }
        ]
    }
}

This payload includes three objects: the LoanSetup object, the LoanSettings object, and the Customers object. Here's a breakdown of the purpose of each object:

ObjectInformationRequired?
LoanSetupThis object holds the setup configuration for a loan account. The information here can (and should) be updated once the borrower selects their offer.✅ Yes
LoanSettingsThis object holds optional, descriptive information for a loan account. In this example, the IDs for a Loan Status and Sub-status are included, which signify that the account is an application that was just started by the borrower.

Loan Statuses are customizable. The IDs and names of the Loan Statuses within your account might differ, and we recommend labeling loan accounts in a way that fits your current origination practices.

Read Statuses and Sub-Statuses to learn more.
❌ No
CustomersThis object holds the information for the borrower that is associated with the loan account. List the ID of the customer profile here and determine whether the customer is listed as primary or secondary on the account.

While this is not required for creating a loan account, it is highly recommended. However, this information can be added later if preferred.
❌ No

The LoanPro API returns an integer-style ID that represents the loan account once created. Capture the loan ID to continue to update the account as your borrower progress through the application process.

Update loan application status

View the API Reference ↗

Your application process will likely include a few steps for confirming the borrower's provided information. You may decide to create statuses for applications that have been "approved", "denied", or that require review from an additional team member. As applications move through these stages, send a PUT request to the loan to update its status:

https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans(:id)
{
    "LoanSettings": {
        "loanStatusId": 1, // Status: Application
        "loanSubStatusId": 73, // Status: Application - Rejected
        "__update": true,
        "__id": 1029
    }
}

Third-party decisioning integrations

While LoanPro does not perform its own offer decisioning logic, our platform is capable of integrating with a third-party decisioning platform.

LoanPro's Automated Notifications tool can automatically send a customized webhook to an offer decisioning platform when a loan account is created. Read Event-Based Notifications to learn more.

3. Generate and Propose Offers via the API Calculator

At this point, offers can be calculated via LoanPro's calculator and sent to your borrower. LoanPro's platform is powered by a robust, custom-built calculator that provides all of the calculations that represent a loan account—such as APR, full amortization schedules, daily interest accrual, statements, and more. When using LoanPro's UI or API to calculate loan values of any sort, the Loan Management System sends a request to the calculator, and its output is saved and stored within LoanPro.

However, the calculator can also be interacted with directly via its own API. Doing so allows users to use LoanPro's powerful calculator without interacting with LoanPro's UI. The API Calculator is used in this step to calculate the offers that are sent to the borrower.

Interested in learning more about LoanPro's API Calculator? Read our API Calculator Overview ↗

LoanPro's API Calculator requires the user to provide the following:

  • A function, which is listed in the endpoint and determines what type of calculation is requested
  • A payload, which provides the setup terms and values of the loan offer

In the context of generating the offers sent to borrower during an application and origination process, the following functions are used: the base function, the payment-summary function, and the calculate-apr function. Each function uses the exact same payload structure and information.

Here are some examples of the API calculator requests that are used to generate offers for a 12-month loan offer at 12% interest:

Generate TIL payment breakdown

https://{domain}.loanpro.io/api/v2/calculator/payment-summary
{
    "LoanSetup": {
        "loanAmount": 1000,
        "discount": 0,
        "underwriting": 0,
        "loanRate": 12,
        "loanRateType": "loan.rateType.annually",
        "loanTerm": 12,
        "contractDate": "2024-07-31",
        "firstPaymentDate": "2024-08-13",
        "loanClass": "loan.class.consumer",
        "loanType": "loan.type.installment",
        "discountSplit": 1,
        "paymentFrequency": "loan.frequency.monthly",
        "calcType": "loan.calcType.simpleInterest",
        "daysInYear": "loan.daysInYear.actual",
        "interestApplication": "loan.interestApplication.betweenTransactions",
        "begEnd": "loan.begend.end",
        "firstPeriodDays": "loan.firstPeriodDays.actual",
        "firstDayInterest": 1,
        "discountCalc": "loan.discountCalc.percentFixed",
        "dueDatesOnBusinessDays": "loan.businessduedates.disabled",
        "daysInPeriod": "loan.daysinperiod.30",
        "roundDecimals": 7,
        "lastAsFinal": 0,
        "nddCalc": "loan.nddCalc.standard",
        "endInterest": "loan.endInterest.no",
        "scheduleTemplate": 4,
        "curtailmentTemplate": 0,
        "feesPaidBy": "loan.feesPaidBy.date",
        "lateFeeCalc": "loan.lateFeeCalc.standard",
        "lateFeePercentBase": "loan.latefeepercentbase.regular",
        "paymentDateApp": "loan.pmtdateapp.actual"
    }
}
{
    "d": [
        {
            "count": 12,
            "payment": "88.35",
            "startDate": "2024-08-13"
        }
    ]
}

Generate payment schedule

https://{domain}.loanpro.io/api/v2/calculator/base
{
    "LoanSetup": {
        "loanAmount": 1000,
        "discount": 0,
        "underwriting": 0,
        "loanRate": 12,
        "loanRateType": "loan.rateType.annually",
        "loanTerm": 12,
        "contractDate": "2024-07-31",
        "firstPaymentDate": "2024-08-13",
        "loanClass": "loan.class.consumer",
        "loanType": "loan.type.installment",
        "discountSplit": 1,
        "paymentFrequency": "loan.frequency.monthly",
        "calcType": "loan.calcType.simpleInterest",
        "daysInYear": "loan.daysInYear.actual",
        "interestApplication": "loan.interestApplication.betweenTransactions",
        "begEnd": "loan.begend.end",
        "firstPeriodDays": "loan.firstPeriodDays.actual",
        "firstDayInterest": 1,
        "discountCalc": "loan.discountCalc.percentFixed",
        "dueDatesOnBusinessDays": "loan.businessduedates.disabled",
        "daysInPeriod": "loan.daysinperiod.30",
        "roundDecimals": 7,
        "lastAsFinal": 0,
        "nddCalc": "loan.nddCalc.standard",
        "endInterest": "loan.endInterest.no",
        "scheduleTemplate": 4,
        "curtailmentTemplate": 0,
        "feesPaidBy": "loan.feesPaidBy.date",
        "lateFeeCalc": "loan.lateFeeCalc.standard",
        "lateFeePercentBase": "loan.latefeepercentbase.regular",
        "paymentDateApp": "loan.pmtdateapp.actual"
    }
}
{
    "d": {
        "StatusArchive": {
            "loanId": null,
            "date": "2024-07-31",
            "amountDue": 0,
            "dueInterest": 0,
            "duePrincipal": 0,
            "dueDiscount": 0,
            "dueEscrow": 0,
            "dueEscrowBreakdown": "[]",
            "dueFees": 0,
            "duePni": 0,
            "payoffFees": 0,
            "nextPaymentDate": "2024-08-13",
            "nextPaymentAmount": 88.35,
            "lastPaymentDate": null,
            "lastPaymentAmount": 0,
            "principalBalance": 1000,
            "amountPastDue30": 0,
            "daysPastDue": 0,
            "dateLastCurrent": "2024-07-31",
            "dateLastCurrent30": null,
            "payoff": 1000,
            "delinquentBucket": 0,
            "delinquentBucketBalance": null,
            "perdiem": 0.33,
            "interestAccruedToday": 0.33,
            "availableCredit": 0,
            "creditLimit": 0,
            "periodStart": "2024-07-31",
            "periodEnd": "2024-08-12",
            "periodsRemaining": 12,
            "escrowBalance": 0,
            "escrowBalanceBreakdown": "[]",
            "discountRemaining": 0,
            "loanStatusId": null,
            "loanStatusText": "",
            "loanSubStatusId": null,
            "loanSubStatusText": "",
            "creditStatus": "",
            "loanAge": "0",
            "loanRecency": -1,
            "lastHumanActivity": null,
            "stoplight": null,
            "finalPaymentDate": "2025-07-13",
            "finalPaymentAmount": 88.35,
            "netChargeOff": null,
            "firstDelinquencyDate": null,
            "dateOfFirstDelinquency": null,
            "calcedECOA": null,
            "calcedECOACoBuyer": null,
            "uniqueDelinquencies": 0,
            "delinquencyPercent": 0,
            "delinquentDays": 0,
            "customFieldsBreakdown": null,
            "portfolioBreakdown": null,
            "subPortfolioBreakdown": null,
            "sourceCompanyId": null,
            "sourceCompanyText": null,
            "followUpDate": null,
            "currentInterestRate": 12,
            "id": null,
            "displayId": null
        },
        "TransactionHistory": [
            {
                "txId": "1-0-info-origin",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-07-31 00:00:00",
                "periodStart": "0000-00-00",
                "periodEnd": "0000-00-00",
                "title": "Loan Origination",
                "type": "origination",
                "infoOnly": 1,
                "infoDetails": "{\"amount\":1000,\"underwriting\":0,\"discount\":0}",
                "paymentId": 0,
                "paymentDisplayId": null,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 0,
                "period": 0,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "principalBalance": 0,
                "adbDays": 0,
                "adb": 0,
                "displayOrder": 0
            },
            {
                "txId": "1-0-spm0",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-08-13 00:00:00",
                "periodStart": "2024-07-31",
                "periodEnd": "2024-08-12",
                "title": "Scheduled Payment: 1",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "4.27",
                "chargePrincipal": "84.08",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 0,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "1000.00",
                "adbDays": 13,
                "adb": "1000.00",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm0",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-08-13 00:00:00",
                "periodStart": "2024-07-31",
                "periodEnd": "2024-08-12",
                "title": "Forecasted Payment: 1",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "4.27",
                "paymentPrincipal": "84.08",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 0,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "915.92",
                "adbDays": 13,
                "adb": "1000.00",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm1",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-09-13 00:00:00",
                "periodStart": "2024-08-13",
                "periodEnd": "2024-09-12",
                "title": "Scheduled Payment: 2",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "9.33",
                "chargePrincipal": "79.02",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 1,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "915.92",
                "adbDays": 31,
                "adb": "915.92",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm1",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-09-13 00:00:00",
                "periodStart": "2024-08-13",
                "periodEnd": "2024-09-12",
                "title": "Forecasted Payment: 2",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "9.33",
                "paymentPrincipal": "79.02",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 1,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "836.90",
                "adbDays": 31,
                "adb": "915.92",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm2",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-10-13 00:00:00",
                "periodStart": "2024-09-13",
                "periodEnd": "2024-10-12",
                "title": "Scheduled Payment: 3",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "8.25",
                "chargePrincipal": "80.10",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 2,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "836.90",
                "adbDays": 30,
                "adb": "836.90",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm2",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-10-13 00:00:00",
                "periodStart": "2024-09-13",
                "periodEnd": "2024-10-12",
                "title": "Forecasted Payment: 3",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "8.25",
                "paymentPrincipal": "80.10",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 2,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "756.80",
                "adbDays": 30,
                "adb": "836.90",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm3",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-11-13 00:00:00",
                "periodStart": "2024-10-13",
                "periodEnd": "2024-11-12",
                "title": "Scheduled Payment: 4",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "7.71",
                "chargePrincipal": "80.64",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 3,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "756.80",
                "adbDays": 31,
                "adb": "756.80",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm3",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-11-13 00:00:00",
                "periodStart": "2024-10-13",
                "periodEnd": "2024-11-12",
                "title": "Forecasted Payment: 4",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "7.71",
                "paymentPrincipal": "80.64",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 3,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "676.16",
                "adbDays": 31,
                "adb": "756.80",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm4",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-12-13 00:00:00",
                "periodStart": "2024-11-13",
                "periodEnd": "2024-12-12",
                "title": "Scheduled Payment: 5",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "6.67",
                "chargePrincipal": "81.68",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 4,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "676.16",
                "adbDays": 30,
                "adb": "676.16",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm4",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2024-12-13 00:00:00",
                "periodStart": "2024-11-13",
                "periodEnd": "2024-12-12",
                "title": "Forecasted Payment: 5",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "6.67",
                "paymentPrincipal": "81.68",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 4,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "594.48",
                "adbDays": 30,
                "adb": "676.16",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm5",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-01-13 00:00:00",
                "periodStart": "2024-12-13",
                "periodEnd": "2025-01-12",
                "title": "Scheduled Payment: 6",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "6.06",
                "chargePrincipal": "82.29",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 5,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "594.48",
                "adbDays": 31,
                "adb": "594.48",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm5",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-01-13 00:00:00",
                "periodStart": "2024-12-13",
                "periodEnd": "2025-01-12",
                "title": "Forecasted Payment: 6",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "6.06",
                "paymentPrincipal": "82.29",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 5,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "512.19",
                "adbDays": 31,
                "adb": "594.48",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm6",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-02-13 00:00:00",
                "periodStart": "2025-01-13",
                "periodEnd": "2025-02-12",
                "title": "Scheduled Payment: 7",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "5.22",
                "chargePrincipal": "83.13",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 6,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "512.19",
                "adbDays": 31,
                "adb": "512.19",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm6",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-02-13 00:00:00",
                "periodStart": "2025-01-13",
                "periodEnd": "2025-02-12",
                "title": "Forecasted Payment: 7",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "5.22",
                "paymentPrincipal": "83.13",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 6,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "429.06",
                "adbDays": 31,
                "adb": "512.19",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm7",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-03-13 00:00:00",
                "periodStart": "2025-02-13",
                "periodEnd": "2025-03-12",
                "title": "Scheduled Payment: 8",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "3.95",
                "chargePrincipal": "84.40",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 7,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "429.06",
                "adbDays": 28,
                "adb": "429.06",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm7",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-03-13 00:00:00",
                "periodStart": "2025-02-13",
                "periodEnd": "2025-03-12",
                "title": "Forecasted Payment: 8",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "3.95",
                "paymentPrincipal": "84.40",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 7,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "344.66",
                "adbDays": 28,
                "adb": "429.06",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm8",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-04-13 00:00:00",
                "periodStart": "2025-03-13",
                "periodEnd": "2025-04-12",
                "title": "Scheduled Payment: 9",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "3.51",
                "chargePrincipal": "84.84",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 8,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "344.66",
                "adbDays": 31,
                "adb": "344.66",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm8",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-04-13 00:00:00",
                "periodStart": "2025-03-13",
                "periodEnd": "2025-04-12",
                "title": "Forecasted Payment: 9",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "3.51",
                "paymentPrincipal": "84.84",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 8,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "259.82",
                "adbDays": 31,
                "adb": "344.66",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm9",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-05-13 00:00:00",
                "periodStart": "2025-04-13",
                "periodEnd": "2025-05-12",
                "title": "Scheduled Payment: 10",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "2.56",
                "chargePrincipal": "85.79",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 9,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "259.82",
                "adbDays": 30,
                "adb": "259.82",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm9",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-05-13 00:00:00",
                "periodStart": "2025-04-13",
                "periodEnd": "2025-05-12",
                "title": "Forecasted Payment: 10",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "2.56",
                "paymentPrincipal": "85.79",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 9,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "174.03",
                "adbDays": 30,
                "adb": "259.82",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm10",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-06-13 00:00:00",
                "periodStart": "2025-05-13",
                "periodEnd": "2025-06-12",
                "title": "Scheduled Payment: 11",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "1.77",
                "chargePrincipal": "86.58",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 10,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "174.03",
                "adbDays": 31,
                "adb": "174.03",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm10",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-06-13 00:00:00",
                "periodStart": "2025-05-13",
                "periodEnd": "2025-06-12",
                "title": "Forecasted Payment: 11",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "1.77",
                "paymentPrincipal": "86.58",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 10,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "87.45",
                "adbDays": 31,
                "adb": "174.03",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-spm11",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-07-13 00:00:00",
                "periodStart": "2025-06-13",
                "periodEnd": "2025-07-12",
                "title": "Scheduled Payment: 12",
                "type": "scheduledPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": 0,
                "paymentInterest": 0,
                "paymentPrincipal": 0,
                "paymentFees": 0,
                "paymentEscrow": 0,
                "paymentDiscount": 0,
                "paymentEscrowBreakdown": "",
                "chargeAmount": 88.35,
                "chargeInterest": "0.90",
                "chargePrincipal": "87.45",
                "chargeFees": 0,
                "chargeEscrow": "0.00",
                "chargeDiscount": "0.00",
                "chargeEscrowBreakdown": "{\"subsets\":[]}",
                "feesPaidDetails": "",
                "future": 1,
                "period": 11,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "87.45",
                "adbDays": 30,
                "adb": "87.45",
                "displayOrder": 0,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            },
            {
                "txId": "1-0-fpm11",
                "entityId": null,
                "entityType": "Entity.Loan",
                "modId": 0,
                "date": "2025-07-13 00:00:00",
                "periodStart": "2025-06-13",
                "periodEnd": "2025-07-12",
                "title": "Forecasted Payment: 12",
                "type": "forecastedPayment",
                "infoOnly": 0,
                "infoDetails": "",
                "paymentId": 0,
                "paymentDisplayId": 0,
                "paymentAmount": "88.35",
                "paymentInterest": "0.90",
                "paymentPrincipal": "87.45",
                "paymentFees": "0.00",
                "paymentEscrow": "0.00",
                "paymentDiscount": "0.00",
                "paymentEscrowBreakdown": "{\"subsets\":[]}",
                "chargeAmount": 0,
                "chargeInterest": 0,
                "chargePrincipal": 0,
                "chargeFees": 0,
                "chargeEscrow": 0,
                "chargeDiscount": 0,
                "chargeEscrowBreakdown": "",
                "feesPaidDetails": "",
                "future": 1,
                "period": 11,
                "principalOnly": 0,
                "advancement": 0,
                "payoffFee": 0,
                "chargeOff": 0,
                "paymentType": 0,
                "principalBalance": "0.00",
                "adbDays": 30,
                "adb": "87.45",
                "displayOrder": 9,
                "dueDateChanged": 0,
                "paymentInterestFinal": "0.00"
            }
        ],
        "LoanSetup": {
            "loanId": null,
            "active": 0,
            "loanType": "loan.type.installment",
            "apr": 11.9993,
            "payment": 88.85,
            "loanAmount": 1000,
            "discount": 0,
            "underwriting": 0,
            "loanRate": 12,
            "creditLimit": 0,
            "loanRateType": "loan.rateType.annually",
            "loanTerm": 12,
            "contractDate": "2024-07-31",
            "firstPaymentDate": "2024-08-13",
            "discountSplit": 1,
            "paymentFrequency": "loan.frequency.monthly",
            "calcType": "loan.calcType.simpleInterest",
            "daysInYear": "loan.daysInYear.actual",
            "interestApplication": "loan.interestApplication.betweenTransactions",
            "begEnd": "loan.begend.end",
            "firstPeriodDays": "loan.firstPeriodDays.actual",
            "firstDayInterest": 1,
            "discountCalc": "loan.discountCalc.percentFixed",
            "diyAlt": 0,
            "dueDateOnLastDOM": 0,
            "dueDatesOnBusinessDays": "loan.businessduedates.disabled",
            "daysInPeriod": "loan.daysinperiod.30",
            "roundDecimals": 7,
            "lastAsFinal": 0,
            "nddCalc": "loan.nddCalc.standard",
            "endInterest": "loan.endInterest.no",
            "feesPaidBy": "loan.feesPaidBy.date",
            "calcHistoryEnabled": 0,
            "calcDatesEnabled": 0,
            "rollLastPayment": 0,
            "suspendForecastTo": "0000-00-00",
            "aprForceSingle": 0,
            "scheduleRound": "0.04",
            "skipCalcEvent": true,
            "scheduleTemplate": 4,
            "useInterestTiers": 0,
            "moneyFactor": 0,
            "residual": 0,
            "tilFinanceCharge": "60.20",
            "maxInterestAmount": null,
            "financeChargeAsMIA": null,
            "id": null,
            "displayId": null
        },
        "ScheduleRolls": [
            {
                "loanId": null,
                "term": 12,
                "rate": 12,
                "solveUsing": "loan.rollScheduleSolve.dollar",
                "amount": 88.34898207629816,
                "percent": 0,
                "advancedTerms": 0,
                "solveFor": "loan.rollScheduleSolveFor.payment",
                "balance": 0,
                "balanceSet": 0,
                "difference": 0,
                "displayOrder": 1,
                "forceBalloon": 0,
                "basicRevert": 0,
                "isCurtailment": 0,
                "skipEvent": true,
                "fromTemplate": false,
                "allowCurtailments": false,
                "lastAsFinal": 0,
                "revertSchedule": false,
                "id": 1,
                "displayId": null
            }
        ]
    }
}

Calculate APR

https://{domain}.loanpro.io/api/v2/calculator/calculate-apr
{
    "LoanSetup": {
        "loanAmount": 1000,
        "discount": 0,
        "underwriting": 0,
        "loanRate": 12,
        "loanRateType": "loan.rateType.annually",
        "loanTerm": 12,
        "contractDate": "2024-07-31",
        "firstPaymentDate": "2024-08-13",
        "loanClass": "loan.class.consumer",
        "loanType": "loan.type.installment",
        "discountSplit": 1,
        "paymentFrequency": "loan.frequency.monthly",
        "calcType": "loan.calcType.simpleInterest",
        "daysInYear": "loan.daysInYear.actual",
        "interestApplication": "loan.interestApplication.betweenTransactions",
        "begEnd": "loan.begend.end",
        "firstPeriodDays": "loan.firstPeriodDays.actual",
        "firstDayInterest": 1,
        "discountCalc": "loan.discountCalc.percentFixed",
        "dueDatesOnBusinessDays": "loan.businessduedates.disabled",
        "daysInPeriod": "loan.daysinperiod.30",
        "roundDecimals": 7,
        "lastAsFinal": 0,
        "nddCalc": "loan.nddCalc.standard",
        "endInterest": "loan.endInterest.no",
        "scheduleTemplate": 4,
        "curtailmentTemplate": 0,
        "feesPaidBy": "loan.feesPaidBy.date",
        "lateFeeCalc": "loan.lateFeeCalc.standard",
        "lateFeePercentBase": "loan.latefeepercentbase.regular",
        "paymentDateApp": "loan.pmtdateapp.actual"
    }
}
{
    "d": {
        "initial": 999.9966369699874,
        "final": 999.9999996008372,
        "loanAmount": 1000,
        "rate": 11.999299407005307,
        "solution": 11.9993,
        "tries": 34
    }
}

Notice that the payloads for all three requests are identical, while only the function changes. After receiving the responses from each request, push the offer information to the borrower.

Update loan application status

View the API Reference ↗

To signify that one or more offers have been sent to the borrower, update the loan status:

https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans(:id)
{
    "LoanSettings": {
        "loanStatusId": 1, // Status: Application
        "loanSubStatusId": 74, // Status: Offers Sent
        "__update": true,
        "__id": 1029
    }
}

Generate loan agreement for selected offer

View the API Reference ↗

Once the borrower selects an offer, a loan agreement is returned to the borrower for their review and signature via LoanPro's Dynamic Templates tool.

Dynamic Templates are used to send customized disclosures and documents to borrowers. Each template serves as the building blocks of a document, and they can include LoanPro's wide array of context variables that reflect the loan's information.

Use the Dynamic Template tool to generate a loan agreement with the loan's terms. To generate a template, send a POST request to the following endpoint:

Please note: using the Dynamic Template tool requires that you first create a template within LoanPro's UI. Read Creating and Sending Dynamic Templates to learn more.

https://loanpro.simnang.com/api/public/api/1/custom.forms/export/PDF/Loan/:id
{
    "id": 9 // The ID of a pre-built APR Disclosure.
}

This request selects a template and replaces the included context variables with information that's specific to the customer profile and loan account. In the following step, the generated template can be downloaded as a PDF.

Download loan agreement

View the API Reference ↗

As mentioned, this step provides a way to download a generated template as a PDF. To do so, send a GET request to the following endpoint:

https://loanpro.simnang.com/api/public/api/1/odata.svc/DataDumps?$filter=entityType eq 'Entity.CustomForm_{:loanId}'

The response of this request lists a history of all generated Dynamic Templates for a loan account. Within that history is a URL to a download PDF of the template. This URL can be sent directly to the borrower.

And if desired, update the loan status again to signify that the agreement has been sent and is pending acceptance.

4. Update and activate loan account

At this point, the borrower has agreed to the loan terms and has signed their agreement. In this final phase of the application process, the loan account details are finalized and the account is activated—firing off the calculator and ensuring the loan account's values will be tracked daily.

Update loan terms to match selected offer

View the API Reference ↗

To start, update the loan account to reflect the offer that the borrower selected by sending a PUT request to the Loans endpoint:

https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans(:id)
{
    "LoanSetup": {
        "__update": true,
        "__id": 1038,
        "loanAmount": 1000,
        "discount": 0,
        "underwriting": 0,
        "loanRate": 12,
        "loanRateType": "loan.rateType.annually",
        "loanTerm": 12,
        "contractDate": "2024-07-31",
        "firstPaymentDate": "2024-08-13",
        "loanClass": "loan.class.consumer",
        "loanType": "loan.type.installment",
        "discountSplit": 1,
        "paymentFrequency": "loan.frequency.monthly",
        "calcType": "loan.calcType.simpleInterest",
        "daysInYear": "loan.daysInYear.actual",
        "interestApplication": "loan.interestApplication.betweenTransactions",
        "begEnd": "loan.begend.end",
        "firstPeriodDays": "loan.firstPeriodDays.actual",
        "firstDayInterest": 1,
        "discountCalc": "loan.discountCalc.percentFixed",
        "dueDatesOnBusinessDays": "loan.businessduedates.disabled",
        "daysInPeriod": "loan.daysinperiod.30",
        "roundDecimals": 7,
        "lastAsFinal": 0,
        "nddCalc": "loan.nddCalc.standard",
        "endInterest": "loan.endInterest.no",
        "scheduleTemplate": 4,
        "curtailmentTemplate": 0,
        "feesPaidBy": "loan.feesPaidBy.date",
        "lateFeeCalc": "loan.lateFeeCalc.standard",
        "lateFeePercentBase": "loan.latefeepercentbase.regular",
        "paymentDateApp": "loan.pmtdateapp.actual"
}

The payload of this request is the same payload used to generate the loan offer via the API Calculator. This will overwrite the placeholder values used when the loan application account was first created.

Activate loan account

View the API Reference ↗

Next, activate the loan account. To do so, send a POST request to the following endpoint:

https://loanpro.simnang.com/api/public/api/1/Loans(:id)/AutoPal.Activate()

Once activated, LoanPro views the account as live and eligible for LoanPro's Daily Maintenance service that calculates, updates, and stores a daily snapshot of the account values. It also means the loan might no longer fit within the definition of the origination process and is instead ready for servicing.

However, we recommend the following requests to add the finishing touches to this process.

Store the borrower agreement document within the loan account

View the API Reference ↗

For you and your borrower's records, it could prove to be beneficial to store the signed loan agreement with the account. LoanPro's document solution allows you to upload documents and associate them either with the customer profile or the loan account. In this scenario, associate the agreement with loan account by first sending a POST request to the following endpoint:

https://loanpro.simnang.com/api/public/api/1/Loans(:id)/document/upload
{
    "sectionId": 12,
    "fileName": "BorrowerAgreement.pdf",
    "customFileName": "Signed Borrower Agreement"
}

This request generates an upload URL and lists it within the response. Next, send a PUT request to the upload URL included in the response and include the file in a binary payload.

Update loan application status

View the API Reference ↗

Lastly, update the loan status to reflect that the loan is now live and the borrower is ready for repayment with a PUT request:

https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans(:id)
{
    "LoanSettings": {
        "loanStatusId": 2, // Status: Open
        "loanSubStatusId": 9, // Status: Open - Repaying
        "__update": true,
        "__id": 1029
    }
}