Skip to content
_LENDING/

From disbursement to final repayment, one immutable trail

Run disbursements, repayment waterfalls, and investor attribution on a ledger that keeps every loan's position exact for its entire life.

disbursement
loan account
repayment
investors
_THE PROBLEM/

A loan book is a thousand tiny waterfalls

Splitting repayments by hand is how books drift.

Every repayment splits across fees, interest, and principal, differently per product, per delinquency state, per funding source. Hard-coded waterfall logic drifts from the loan agreements, and audits become archaeology.

01

Repayment waterfalls are hard-coded, and edge cases (early, partial, late) corrupt loan positions.

02

Outstanding principal and accrued interest are recomputed in batch, never live.

03

Investor and warehouse funding cannot be attributed cleanly across the book.

04

The audit trail from disbursement to write-off lives across three systems.

_PROOF/ Liberis runs embedded lending on Formance and closed the gap to zero reconciliation errors.

_FLOW OF FUNDS/

Disburse once, track forever

Funding out, repayments in, every split explicit.

The disbursement draws from its funding source, each repayment splits across fees, interest, and principal by the declared waterfall, and the loan position is derived live, not recomputed nightly.

loan position
disbursementfunding → borrower
loan accountlive position
repaymentwaterfall split
investorsattributed returns
_CAPABILITIES/

The primitives lenders need

Built on the open-source Formance ledger.

Declarative waterfalls, live loan positions, and funding attribution, composed for lending at scale.

_REPAYMENT WATERFALLS/

Fees, interest, and principal split declared in Numscript per product: early, partial, and late payments post deterministically.

declarative splits

Read the Numscript docs
_LIVE LOAN POSITIONS/

Outstanding principal, accrued interest, and arrears derived from the log in real time: per loan, per cohort, per book.

derived, not batch

_FUNDING ATTRIBUTION/

Attribute every disbursement and repayment to its warehouse line or investor, with returns computed from the same record.

per-investor truth

_COLLECTION RECONCILIATION/

Match PSP collections and bank deposits against expected repayments continuously, surfacing misses the day they happen.

same-day arrears

_BY THE NUMBERS/

Lending-grade, by design

reconciliation errors0customer-reported · Liberis
loan positionsliveprincipal · interest · arrears
disbursement-to-close trail100%immutable · per loan
waterfallanyper product · declarative
_NUMSCRIPT/

The waterfall is declared, not coded

Fees, then interest, then principal, in one transaction.

A repayment posts through the declared waterfall: fees first, accrued interest second, principal last: atomically, with the loan position updated by construction.

repay.num
// Split a repayment: fees → interest → principal
vars {
  account $borrower
  monetary $repayment
}

send $repayment (
  source = $borrower
  destination = {
    max [USD 15] to @loans:fees
    max @loans:interest:accrued to @loans:interest
    remaining to @loans:principal
  }
)
_VOICES/

Trusted by builders

LiberisLiberis
Formance enabled us to ship new lending products faster by providing a customizable foundation that let us reliably express the complexities of our flow of funds.

Embedded finance · reconciliation across 14 countries

See customer story
DoctolibDoctolib
Formance is the foundation of our Financial OS, the open-source approach lets us retain control over this key component.

Healthcare · Financial OS

PayflipPayflip
Formance helped us kick off our move into fintech, with robust infrastructure and intuitive developer tooling.

Benefits · fintech infrastructure

_TRUST/

Built for regulated money.

Enterprise controls, the certifications auditors ask for, and an immutable record, out of the box.

See our trust center
THE COMPLIANCE STACK
IAM, RBAC & SSO
Non-repudiation
Audit logs
Observability & monitoring
Real-time events
Admin console
_AUDIT-LOG/ NON-REPUDIATION

09:41:07Z AUDIT gateway POST /api/ledger/v2/main/transactions 200 sub:ops@acme.io

09:41:09Z LOG id:4093 NEW_TRANSACTION ledger:main

09:41:12Z LOG id:4094 SET_METADATA ledger:main

09:41:15Z LOG id:4095 REVERTED_TRANSACTION ledger:main

09:41:18Z AUDIT gateway GET /api/ledger/v2/main/logs 200 sub:audit@acme.io

CERTIFICATIONS
AICPA SOC IICERTIFIED
ISO 27001CERTIFIED
DORACOMPLIANT
REGULATORY FRAMEWORKS
EMIFCAMTLNYDFS Trust CharterOCC CharterMiCAGENIUS
_ATTESTED/
FAQ

Lending, answered

01 / HOW DO EARLY OR PARTIAL REPAYMENTS POST?

Through the same declared waterfall: the split adapts to the amount and the loan's state, and the position updates atomically. No special-case code paths.

02 / CAN I SEE OUTSTANDING PRINCIPAL LIVE?

Yes. Positions are derived from the transaction log in real time (per loan, per cohort, or across the book) and reproducible for any past date.

03 / HOW IS INVESTOR FUNDING ATTRIBUTED?

Each disbursement draws from an attributed funding account, and repayments flow back through the same attribution: returns per investor are ledger facts, not spreadsheet estimates.

04 / WHAT ABOUT DELINQUENCY AND WRITE-OFFS?

State changes post as explicit transactions (arrears, restructuring, write-off), so the full lifecycle of every loan is one continuous, auditable history.

_GET STARTED/

Lend on a book that balances itself

See how Formance fits your lending stack: book a demo or start building.