Fund accounting — compute P&L, run European waterfall splits, manage GL journal entries, close periods, and track daily NAV accruals.
| Model | Description | Key Fields |
| FundAccount | A fund vehicle (hedge fund, PE fund, VC fund, credit fund) | id, name, account_type, organization_id, parent_fund_account_id, allocation_pct |
| JournalEntry | Double-entry GL journal entry | id, fund_account_id, date, debit_account, credit_account, amount, description |
| PeriodClose | A locked period close with LP waterfall allocations | id, fund_account_id, period_start, period_end, nav, lp_allocations_json |
| GLFeeSchedule | Per-LP fee terms (hurdle, carry, preferred return) | id, fund_account_id, management_fee_pct, carried_interest_pct, preferred_return |
| NavAccrualEntry | Daily management-fee accrual row | id, fund_account_id, accrual_date, daily_fee, ytd_fee, is_crystallized |
Step 2 — Compute P&L for a date range
curl -X POST https://kela.com/api/v1/fundos/cfo/pnl \
-H "Authorization: Bearer $FUNDOS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fund_account_id": 1,
"from_date": "2026-01-01",
"to_date": "2026-06-30"
}'
# → {"success": true, "data": {"net_pnl": 1250000, "gross_pnl": 1480000, ...}}
Step 3 — Run European waterfall simulation
curl -X POST https://kela.com/api/v1/fundos/cfo/waterfall \
-H "Authorization: Bearer $FUNDOS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fund_account_id": 1,
"exit_proceeds": 10000000
}'
# → {"success": true, "data": {"lp_total": 8500000, "gp_total": 1500000, "tiers": [...]}}
CFO Center does not emit outbound webhook events directly. The capital_call.paid event from the Investors module triggers the downstream GL journal entry.
| Method | Path | Description | Required Params |
| GET | /api/v1/fundos/cfo/accounts | List fund accounts | — |
| GET | /api/v1/fundos/cfo/accounts/{id} | Get fund account detail | fund_account_id |
| POST | /api/v1/fundos/cfo/pnl | Compute P&L (read-only, no DB write) | fund_account_id, from_date, to_date |
| POST | /api/v1/fundos/cfo/waterfall | European waterfall simulation (read-only) | fund_account_id, exit_proceeds |
| GET | /fundos/cfo/accounts/{id}/performance | Period P&L dashboard (MTD/QTD/YTD) | fund_account_id |
| GET | /fundos/cfo/accounts/{id}/risk | Risk metrics (Sharpe, leverage, DV01) | fund_account_id |
| GET | /fundos/cfo/accounts/{id}/accruals | NAV accrual dashboard | fund_account_id |