Loans
Loan Programs
Loan programs define a set of conditions and parameters for loans originated by your platform. Based on your use case and terms with Column, your Column support team will create a loan program for you and provide the loan program ID. Your platform may have multiple loan programs, each with different conditions. Column will set one of them as the default loan program for your platform.
Loans
A loan is an object that lives under an entity, at the same level as a bank account. Just like entities can have multiple bank accounts, entities can also have multiple loans. Loans are the foundation for many lending-oriented use cases such as charge cards and installment loans.
When you originate a loan, you may specify a loan program ID. If you do not specify a loan program ID, the default loan program for your platform will be used. You may also specify an interest configuration ID. If you do not specify an interest configuration ID, the default interest configuration for the specified loan program will be used. The following are two options to set interest configurations when you create loans:
- Set
interest_config_id
to refer to an existing interest configuration. - Set
interest_config
to specify interest configuration details at loan creation.
Please work with your Column support team to learn more about interest configuration.
Examples
Create a term loan with an existing interest configuration
curl 'https://api.column.com/loans' \
-X POST \
-u :<YOUR_API_KEY> \
-H 'Content-Type: application/json' \
-d '{
"currency": "USD",
"description": "New term loan",
"entity_id": "ent_2zElEkmKNaKXjDDCwo9LASIyRzt",
"is_revolving": false,
"maturity_date": "2028-10-10",
"max_principal_balance": "100000",
"loan_program_id": "lpgm_2zElEkmKNaKXjDDCwo9LASIyRzt",
"interest_config_id": "icfg_2zElEouBhi6bHB5IdAjq1Ot8SeP"
}'
Create a line of credit with a new interest configuration
curl 'https://api.column.com/loans' \
-X POST \
-u :<YOUR_API_KEY> \
-H 'Content-Type: application/json' \
-d '{
"currency": "USD",
"description": "Charge card for John Doe",
"entity_id": "ent_2zElEkmKNaKXjDDCwo9LASIyRzt",
"is_revolving": true,
"loan_program_id": "lpgm_2zElEkmKNaKXjDDCwo9LASIyRzt",
"interest_config": {
"accrual_method": "actual_365",
"description": "Standard charge card rate",
"history": [
{
"effective_after_days": 0,
"fixed_rate": 0.0499
},
{
"effective_after_days": 30,
"pivot_relative": 0.0399
}
]
}
}'
Loan Balances
Each loan has three categories of balance fields that track its lifecycle:
- Principal balances: outstanding loan principal amounts to be paid by borrowers
- Interest balances: interest accrued on loan principal amounts to be paid by borrowers
- Fee Balances: servicing fees accrued on loan principal amounts to be paid to your platform
Both principal balances and interest balances are further split based on loan ownership:
- Total balances owned by Column and your platform
- Retained balances owned by Column
For example, principal_outstanding
is the overall principal balance owned by both Column and your platform. retained_principal_outstanding
is the retained principal balance owned by Column. Their difference is the outstanding principal balance owned by your platform.
The following is an example of a loan's balance changes according to the following events:
$1,000
was disbursed$10
in interest accrued, and$1
in servicing fees accrued- Loan was fully sold to your platform
$200
was paid:$10
to interest and$190
to principal
The following table shows how all loan balance fields change across the loan lifecycle based on these events:
Balance Field | Disbursement | Accrual | Sale | Payment |
---|---|---|---|---|
Principal Balances | ||||
principal_outstanding | $1,000 | $1,000 | $1,000 | $810 |
principal_holding | $0 | $0 | $0 | $0 |
principal_paid | $0 | $0 | $0 | $190 |
principal_charged_off | $0 | $0 | $0 | $0 |
retained_principal_outstanding | $1,000 | $1,000 | $0 | $0 |
retained_principal_paid | $0 | $0 | $0 | $0 |
Interest Balances | ||||
interest_receivable | $0 | $10 | $10 | $0 |
retained_interest_receivable | $0 | $10 | $0 | $0 |
interest_paid | $0 | $0 | $0 | $10 |
retained_interest_paid | $0 | $0 | $0 | $0 |
Fee Balances | ||||
servicing_fee_payable | $0 | $1 | $0 | $0 |
Explanation of Changes
Initial State
- All balance fields start at
$0
Disbursement: $1,000
principal_outstanding
andretained_principal_outstanding
: Increase from$0
to$1,000
, as all principal is retained by Column.
Interest & Fees Accrual
interest_receivable
andretained_interest_receivable
: Increase from$0
to$10
, as all interest is retained by Column.servicing_fee_payable
: Increases from$0
to$1
, as all servicing fees accrued are payable to your platform.principal_outstanding
andretained_principal_outstanding
: Remain at$1,000
Loan Sale to Your Platform
principal_outstanding
: Remains at$1,000
, as the loan sale only changes ownership of the principal receivable. The total principals to be paid off by the borrower remains the same.retained_principal_outstanding
: Decreases from$1,000
to$0
, as the full principal receivable is sold to your platform.interest_receivable
: Remains at$10
, as the loan sale only changes ownership of the interest receivable. Overall interest for the borrower to pay off remains the same.retained_interest_receivable
: Decreases from$10
to$0
, as the interest receivable is sold to your platform.servicing_fee_payable
: Decreases from$1
to$0
, as the servicing fee is paid to your platform in the loan sale.
Payment: $200
principal_outstanding
: Decreases from$1,000
to$810
, as$190
is paid off the principal.principal_paid
: Increases from$0
to$190
, as$190
is paid off the principal.interest_receivable
: Decreases from$10
to$0
, as$10
is paid off the interest receivable.interest_paid
: Increases from$0
to$10
, as$10
is paid off the interest receivable.
Loan Summary History
Column generates daily snapshots of loan balances and other details (Read more about Loan Summary). You can retrieve these by calling our Loan Summary History endpoint.