Interest Payments

Process interest payments to investors via check, ACH, wire, reinvestment, or compounding. Track payments for 1099-INT tax reporting.

Payment Methods

Each investor note is configured with an interest_payment_method that determines how accrued interest is disbursed. The method is set during note creation and can be changed at any time before the next payment date.

CHECK

A physical or electronic check is issued to the investor. The check number is recorded as the payment reference for bank reconciliation. Most common for individual investors.

ACH

Electronic transfer to the investor's bank account via the Automated Clearing House network. Requires the investor's routing and account numbers to be on file in CRM. Settles in 1-2 business days.

WIRE

Bank wire transfer for same-day settlement. Typically used for large interest payments or institutional investors. Wire reference ID is recorded for reconciliation.

REINVEST

Instead of disbursing cash, the accrued interest is added to the note's principal balance. This increases the base amount for future interest calculations, creating a compounding effect at the payment frequency.

COMPOUND

Similar to REINVEST, but the interest compounds continuously at each accrual period rather than only at payment dates. The accrued balance rolls into principal daily, producing slightly higher effective yields.

Important: REINVEST and COMPOUND methods are not permitted for IRA notes subject to Required Minimum Distribution (RMD) rules. The system will reject this configuration and return a validation error.

Processing a Single Payment

To process an interest payment for a specific note:

  1. Open the note: Navigate to Notes in the sidebar. Click on the note row to open the detail view.
  2. Review accrued balance: The accrued_interest_balance field shows the total interest accrued since the last payment.
  3. Click "Pay Interest": This opens the interest payment form pre-populated with the accrued balance.
  4. Confirm payment details:
    • amount -- Defaults to the full accrued balance (can be adjusted for partial payments)
    • payment_date -- Date the payment is processed
    • payment_method -- Defaults to the note's configured method
    • reference_number -- Check number, ACH trace, or wire reference
  5. Submit: Click Process Payment. The system calls POST /api/v1/investor-notes/notes/:id/payment with an idempotency key to prevent duplicate payments.
  6. Verify: The accrued balance resets (or decreases for partial payments). The payment appears in the note's payment history.

Batch Interest Payments

For scheduled payment runs (e.g., monthly or quarterly interest payments to all investors), CEF Core supports batch processing of interest payments across all notes on their payment schedule.

How Batch Processing Works

  1. The system identifies all ACTIVE notes where the next_due_date falls on or before the processing date.
  2. For each note, the accrued interest balance is calculated.
  3. Payments are generated according to each note's configured interest_payment_method.
  4. CHECK payments are batched into a single print run. ACH payments are consolidated into a single NACHA file.
  5. REINVEST and COMPOUND payments update the principal balance without generating a cash disbursement.
  6. The next_due_date advances to the next payment period.

Pro Tip: Run batch payments a few business days before the actual due date to allow time for check printing and mailing or ACH settlement. Review the batch preview report before confirming the run.

Automatic GL Journal Entries

When an interest payment is processed, CEF Core automatically generates double-entry journal entries in the General Ledger. No manual GL posting is required.

Cash Payment (CHECK, ACH, WIRE)

AccountCodeDebitCredit
Accrued Interest Payable2100Payment amount--
Cash (bank account)1010--Payment amount

Reinvestment Payment (REINVEST, COMPOUND)

AccountCodeDebitCredit
Accrued Interest Payable2100Reinvested amount--
Investor Notes Payable2000--Reinvested amount

For reinvestment, no cash leaves the fund. Instead, the investor's note principal increases, which also increases the Notes Payable liability on the balance sheet.

1099-INT Tax Reporting

CEF Core tracks the total_interest_paid field on each note to support year-end 1099-INT reporting to the IRS. This total accumulates across all payment methods, including reinvested interest.

What Gets Reported

  • All interest paid or credited during the calendar year
  • Reinvested interest counts as "paid" for tax purposes
  • Compounded interest counts as "paid" when credited
  • Reporting threshold: $10 or more per investor per year

Year-End Process

  • The 1099-INT automation module aggregates interest by investor
  • Multiple notes per investor are combined on a single 1099
  • Forms are generated in January for the prior calendar year
  • Electronic filing via IRS FIRE system is supported

Important: The total_interest_paid field resets at the beginning of each calendar year. Verify year-end totals match the GL Interest Expense account balance before generating 1099 forms.

Idempotency: Preventing Duplicate Payments

Interest payments are money operations, and CEF Core requires an idempotency key for all money operations. This prevents accidental duplicate payments caused by network retries, double-clicks, or batch re-runs.

How It Works

  1. The frontend generates a unique x-idempotency-key header (UUID) for each payment submission.
  2. The backend checks the ops.idempotency_keys table for a matching key.
  3. If the key exists, the original response is returned without processing the payment again.
  4. If the key is new, the payment is processed and the key is stored with its response.

API Reference

MethodEndpointDescription
POST/api/v1/investor-notes/notes/:id/paymentProcess interest payment for a single note (requires x-idempotency-key)
GET/api/v1/investor-notes/notes/:idView note detail with payment history and accrued balance
GET/api/v1/investor-notes/notes/:id/accrualsView accrual history to verify payment amounts

Pro Tip: The payment endpoint returns the updated note with the new accrued_interest_balance and total_interest_paid in the response body. Use this to update the UI immediately without making a second GET request.

Best Practices

  • Process Payments on Schedule: Run interest payments on the configured frequency (monthly, quarterly, etc.) to maintain investor trust and accurate accrual balances.
  • Reconcile with GL Monthly: Verify that the sum of all accrued interest balances matches the Accrued Interest Payable (2100) account in the GL.
  • Track Reference Numbers: Always record check numbers, ACH trace IDs, and wire references for bank reconciliation and investor inquiries.
  • Review Reinvestments: For notes with REINVEST or COMPOUND methods, periodically verify that the principal balance reflects all reinvested interest correctly.
  • Verify 1099 Totals: Before year-end, reconcile total_interest_paid across all notes against the GL Interest Expense account.

Managing Maturities

Learn how to handle note maturities, process renewals, configure auto-renewal settings, and manage demand note redemptions.

Maturity & Renewals Guide