Skip to main content
A Loan represents financing a Business has taken on: a term loan, line of credit, lease, equipment financing, or merchant cash advance. Creating a loan opens a dedicated liability account in the Business’s ledger (under NOTES_PAYABLE by default), and records the proceeds and repayments against it. A loan is made up of three related concepts:
  • Proceeds: the funds (or assets) received when the loan is drawn. A proceed is either a cash disbursement or an asset that the loan financed (for example, financed equipment). See the Loan Proceed object.
  • Payments: repayments made against the loan, each split into principal, interest, and fee portions. See the Loan Payment object.
  • Ledger account: the dedicated liability account Layer maintains for the loan, exposed as loan_account.

Attributes

id
string
required
Unique identifier for the loan.
business_id
string
required
ID of the Business that holds the loan.
external_id
string
Unique ID of the loan in your system for linking purposes.
display_name
string
required
Human-friendly name for the loan.
loan_type
enum
required
The type of loan. Values can be: TERM_LOAN, MCA, FLEX_LOAN, LINE_OF_CREDIT, LEASE, EQUIPMENT_FINANCING
loan_account
ChartAccount object
required
The dedicated ledger (liability) account for this loan.
current_balance
integer
required
Current outstanding balance of the loan, in cents.
opening_balance
Loan Opening Balance object
The loan’s active opening balance, if one has been set: pre-existing debt recorded against Opening Balance Equity rather than explained by recorded proceeds and payments. Contains ledger_account_id, ledger_account_name, balance (in cents), effective_at, created_at, updated_at, transaction_tags, memo, metadata, and reference_number. See Backfilling existing loans.
origination_date
ISO8601 date
required
Date the loan was originated.
original_principal
integer
Original principal, in cents. Present for TERM_LOAN, MCA, FLEX_LOAN, LEASE, and EQUIPMENT_FINANCING.
credit_limit
integer
Credit limit, in cents. Present for LINE_OF_CREDIT.
fee_percentage
string
Fixed fee, expressed as a percentage in a decimal string (for example, "15" for a 15% fee). Present for MCA and FLEX_LOAN.
loan_term_months
integer
Loan term in months. Present for TERM_LOAN, LEASE, and EQUIPMENT_FINANCING.
completed_at
ISO8601 timestamp
When the loan was fully repaid, if applicable.
cancelled_at
ISO8601 timestamp
When the loan was cancelled, if applicable.
archived_at
ISO8601 timestamp
When the loan was archived, if applicable.
memo
string
Internal note about the loan.
metadata
object
Arbitrary JSON object you can attach for your own use. Layer stores and returns it unchanged.
reference_number
string
Reference number for the loan.
transaction_tags
array of Tag objects
Tags applied to this loan.

Loan Proceed object

A Loan Proceed represents funds (or an asset) received when a loan is drawn. A proceed is one of two types:
  • DISBURSEMENT: a cash disbursement, received via a method such as ACH or check.
  • ASSET: an asset the loan financed (for example, financed equipment). The funded asset is referenced by asset_id.
Proceeds can be supplied inline when you create or update a loan, or managed individually with the loan proceed endpoints: list, create, fetch, update, and archive.

Attributes

id
string
required
Unique identifier for the loan proceed.
business_id
string
required
ID of the Business that holds the loan.
external_id
string
Unique ID of the proceed in your system for linking purposes.
loan_id
string
required
ID of the loan this proceed belongs to.
loan_proceed_type
enum
required
How the proceeds were received. Values can be: ASSET, DISBURSEMENT
method
enum
required
Payment method used for the proceed. Values can be: CASH, CHECK, CREDIT_CARD, ACH, CREDIT_BALANCE, OTHER
amount
integer
required
Proceed amount, in cents.
asset_id
string
ID of the asset funded by this proceed. Present for ASSET proceeds.
date
ISO8601 date
required
Date the proceed was received.
archived_at
ISO8601 timestamp
When the proceed was archived, if applicable.
memo
string
Internal note about the proceed.
metadata
object
Arbitrary JSON object you can attach for your own use.
reference_number
string
Reference number for the proceed.
transaction_tags
array of Tag objects
Tags applied to this proceed.

Loan Payment object

A Loan Payment is a repayment made against a loan. Each payment is broken into one or more splits by type (PRINCIPAL, INTEREST, FEE), and the splits must sum to the payment amount. Payments can optionally be deferred: recorded but not posted to the ledger until they are paid out or their due date is reached.

Attributes

id
string
required
Unique identifier for the loan payment.
business_id
string
required
ID of the Business that made the payment.
external_id
string
Unique ID of the payment in your system for linking purposes.
loan_id
string
required
ID of the loan this payment applies to.
splits
array of LoanPaymentSplit objects
required
The principal, interest, and fee splits that make up this payment. The split amounts sum to amount.
amount
integer
required
Total payment amount, in cents.
date
ISO8601 date
required
Date of the payment.
defer_posting
boolean
required
Whether posting to the ledger is deferred.
method
enum
required
Payment method. Values can be: CASH, CHECK, CREDIT_CARD, ACH, CREDIT_BALANCE, OTHER
processor
string
Payment processor, if any.
payment_clearing_account
ChartAccount object
The clearing account used for the payment, if any.
archived_at
ISO8601 timestamp
When the payment was archived, if applicable.
memo
string
Internal note about the payment.
metadata
object
Arbitrary JSON object you can attach for your own use.
reference_number
string
Reference number for the payment.
transaction_tags
array of Tag objects
Tags applied to this payment.