v1.0

Accounting

Read-only accounting and financial reporting endpoints

Access chart of accounts, journal entries, financial reports, and deal-scoped accounting data. All accounting endpoints are read-only.

Entity filtering: Syndicator-bound keys only see entries for deals where they have participation. Broker-bound keys only see entries for their deals.

Chart of Accounts

List Accounts

GET /api/public/v1/accounting/chart-of-accounts

Required Scope: accounting:read

Account Tree (Hierarchical)

GET /api/public/v1/accounting/chart-of-accounts/tree

Returns accounts in a parent-child tree structure.

Get Account

GET /api/public/v1/accounting/chart-of-accounts/{accountId}

Journal Entries

List Entries

GET /api/public/v1/accounting/entries
ParameterTypeDefaultDescription
pagenumber1Page number
limitnumber50Items per page (max 100)
statusstring—draft, posted, voided
source_typestring—Filter by source type
date_afterstring—ISO date
date_beforestring—ISO date
account_codestring—Filter by account code
deal_idstring—Filter by deal

Required Scope: accounting:read

Get Entry

GET /api/public/v1/accounting/entries/{id}

Legacy Paths

The following paths are supported for backward compatibility:

GET /api/public/v1/accounting/journal-entries
GET /api/public/v1/accounting/journal-entries/{id}
GET /api/public/v1/accounting/journal-entries/deal/{dealId}

Deal Accounting

Deal-scoped journal entries and revenue recognition.

Deal Journal Entries

GET /api/public/v1/deals/{dealId}/accounting/entries

Returns all posted journal entries related to a specific deal, grouped by journal entry.

ParameterTypeDescription
date_afterstringISO date
date_beforestringISO date
account_codestringFilter by account code

Required Scope: accounting:read

Response:

{
  "dealId": "deal_123",
  "entries": [
    {
      "id": "je_456",
      "entryNumber": "JE-2026-0042",
      "entryDate": "2026-01-15T00:00:00Z",
      "postingDate": "2026-01-15T00:00:00Z",
      "description": "Deal funding - Acme Coffee",
      "reference": "deal_123",
      "status": "posted",
      "sourceType": "dealFunding",
      "sourceId": "deal_123",
      "totalDebit": 10000,
      "totalCredit": 10000,
      "createdAt": "2026-01-15T08:30:00Z",
      "lines": [
        {
          "id": "le_789",
          "accountId": "acct_001",
          "accountCode": "1200",
          "accountName": "MCA Receivable",
          "accountType": "asset",
          "description": "Funded amount",
          "debitAmount": 10000,
          "creditAmount": 0,
          "dealId": "deal_123",
          "syndicatorId": null
        },
        {
          "id": "le_790",
          "accountId": "acct_002",
          "accountCode": "1000",
          "accountName": "Cash",
          "accountType": "asset",
          "description": "Cash disbursement",
          "debitAmount": 0,
          "creditAmount": 10000,
          "dealId": "deal_123",
          "syndicatorId": null
        }
      ]
    }
  ],
  "total": 5
}

Deal Revenue Recognition

GET /api/public/v1/deals/{dealId}/accounting/revenue

Returns revenue-related journal entries with a summary of recognized vs deferred revenue.

Required Scope: accounting:read

Response:

{
  "dealId": "deal_123",
  "method": "effective_interest",
  "entries": [ ... ],
  "summary": {
    "totalRevenueRecognized": 1250.50,
    "totalDeferredRevenue": 1749.50,
    "entryCount": 12
  }
}

Financial Reports

Trial Balance

GET /api/public/v1/accounting/reports/trial-balance
ParameterTypeDescription
fiscal_period_idstringSpecific fiscal period
as_of_datestringPoint-in-time balance

Balance Sheet

GET /api/public/v1/accounting/reports/balance-sheet
ParameterTypeDescription
as_of_datestringPoint-in-time snapshot

Income Statement

GET /api/public/v1/accounting/reports/income-statement
ParameterTypeDescription
fiscal_period_idstringSpecific period
date_fromstringStart date
date_tostringEnd date

Cash Flow Statement

GET /api/public/v1/accounting/reports/cash-flow
ParameterTypeDescription
date_fromstringStart date
date_tostringEnd date

A/R Aging Report

GET /api/public/v1/accounting/reports/ar-aging
ParameterTypeDescription
as_of_datestringAging as of date

General Ledger

GET /api/public/v1/accounting/reports/general-ledger/{accountId}
ParameterTypeDescription
fiscal_period_idstringPeriod filter
date_fromstringStart date
date_tostringEnd date

Deal Subledger

GET /api/public/v1/accounting/reports/subledger/deal/{dealId}

All journal entries and ledger lines for a specific deal.

Syndicator Subledger

GET /api/public/v1/accounting/reports/subledger/syndicator/{syndicatorId}

Ledger entries for a specific syndicator. Syndicator-bound keys can only access their own subledger.


Scopes

All accounting endpoints require accounting:read scope.