Skip to main content

Refunds for Revolving Loans

A refund returns some or all of a disbursed amount to the customer. On revolving loans, refunds are posted using a dedicated REFUND transaction type, linked to the original disbursement it refunds.

Previously, refunding a revolving loan meant using one of two workarounds, each with drawbacks:

  • Adjusting the disbursement — this loses the account's transaction history and recalculations, because of the bulk adjustment algorithm.
  • Posting a repayment — this can only refund principal, via a repayment on a specific transaction channel.

The REFUND transaction type avoids both problems: it preserves the account's full transaction history, and it supports refunding principal, interest, and (where the refund exceeds what's owed) crediting the excess to the account's Credit Balance.

note

This page documents the API-only Refund transaction type for Revolving Credit loans. Refund of manual fees, and refunds of disbursements that carry disbursement fees, are not supported yet.

Terminology

  • Refund — a transaction that returns some or all of a disbursed amount to the customer, linked to the original disbursement.
  • Interest Refund — a separate transaction posted when the "Refund interest" setting is enabled and a refund reduces interest the customer had already paid.
  • Max days for refund — a product-level setting that limits how long after a disbursement a refund can still be made.

Creating a refund

A refund is always linked to the disbursement it refunds, by encoded key. A single disbursement can have multiple refunds posted against it — for example, several partial refunds over time, or a partial refund followed later by a full refund of the remainder.

  • A partial refund returns part of the disbursed amount. It reduces the outstanding principal balance by the refunded amount; it does not affect past transactions or already-accrued or already-applied interest.
  • A full refund returns the entire outstanding principal of the refunded disbursement, bringing it to zero — no further interest accrues on it going forward. If the refunded amount is more than the outstanding principal balance, the excess is credited to the account's Credit Balance instead of being rejected.

Refunds support custom fields and a transaction channel, the same as other loan transactions. Notifications can be configured separately for REFUND, REFUND_ADJUSTMENT, and INTEREST_REFUND transactions, and webhook payloads for these include a link back to the originating disbursement.

How a refund is calculated

Refunds recalculate the schedule and interest only from the refund date forward. Past transactions and historical interest are never touched:

  • All past transactions, and any interest or fees already accrued or applied, are left unchanged.
  • The principal balance is reduced by the refunded amount.
  • Only the upcoming installment(s), or the current installment if there's only one on the schedule, are recalculated — on the new, reduced principal balance, starting from the refund date.
  • Paid installments remain Paid. Late installments remain Late — a refund never settles an installment that's already late, and the customer still owes any overdue amount.

For an account with a single current installment, a refund is applied to that installment as follows:

  • The refund amount marks the principal on the installment as paid.
  • The refund does not pay off the interest or fees due on that installment — those remain outstanding.

Example — a partial refund on a single disbursement:

T0: Disbursement 1,000
T+30: Interest Applied 10 (on 1,000)
T+45: Refund 300 -> new principal balance 700
-> Interest Applied 10 stays unchanged
-> Future interest is calculated on 700 going forward
-> Going forward: interest on 700

On a full refund that exceeds the outstanding principal, the excess moves to the account's Credit Balance, and installments are affected as follows:

  • Installments consisting only of principal and interest move to Grace.
  • Installments that also have fees due remain Late.
  • Late installments are never settled by the refund.

Interest refund and taxes

By default, a refund only affects principal, and interest is recalculated on the new, reduced principal balance.

If the product setting Refund interest is enabled, a separate INTEREST_REFUND transaction is posted for the difference between the interest the customer already paid and the interest recalculated on the outstanding principal after the refund.

If taxes are enabled on interest or fees, they are refunded alongside the interest or fee they apply to, with the tax posted as its own accounting entry, separate from the interest entry.

Example (10% tax on interest):

Interest paid 50 + tax 5 = 55
Recalculated 35 + tax 3.50 = 38.50
Interest refund 15, tax refund 1.50 -> Credit Balance +16.50

Refunds requested after the interest has already been invoiced for a billing cycle do not recalculate the invoiced interest — an interest adjustment is posted instead.

Maximum number of days for refund

Products with refunds enabled can set a maximum number of days after disbursement during which a refund is still allowed. A refund is rejected once refund date − disbursement date exceeds this setting.

When a refund is rejected for exceeding the maximum, and interest income needs to be corrected as a result, the accounting entry posted is Debit Interest Income / Credit Interest Receivable.

Accounting

Refunding principal logs journal entries equivalent to a disbursement adjustment. Refunded interest and refunded tax are posted as their own, separate accounting entries.

Limitations

The following are not supported yet:

  • Refund of manual fees.
  • Refunds of disbursements that carry disbursement fees.

Frequently asked questions

Can I post more than one refund against the same disbursement?

Yes. Multiple partial refunds are allowed against a single disbursement, and a full refund can follow one or more earlier partial refunds.

What happens if a refund is more than what's left owing on the disbursement?

The excess is credited to the account's Credit Balance rather than being rejected.

Does a refund ever settle a late installment?

No. Late installments are never marked as paid by a refund — the customer still owes any overdue amount.