Helm Portfolio for Dummies
Syllabus Next Module →
Module 01 of 10

What is Portfolio?

Get oriented. Understand what Portfolio does, what it doesn't, and where it fits in the broader platform — in plain English.

15 minutes No prerequisites

The Elevator Pitch

Imagine you manage a private equity fund. You've raised $100M from a dozen investors. Over the next 10 years, you'll call their capital in installments, invest it into companies, harvest returns, and send distributions back. At every step, each investor wants to know: how much have I put in, what is it worth now, and what have I gotten back?

That's what Portfolio does. It's an investor-facing portfolio monitoring and reporting platform. It tracks capital commitments, transactions, valuations, and calculates the performance metrics (IRR, TVPI, DPI) that investors care about.

Think of it this way

Portfolio is the scoreboard, not the game engine. It records what happened (subscriptions, capital calls, distributions) and computes metrics from those records. It doesn't originate deals, process payments, or handle investor onboarding — those happen elsewhere in the Delio/Verivend ecosystem.

What Portfolio Does

Let's break down the module's capabilities into three layers:

Layer 1: Data Store
Records the facts of fund activity
  • Investors — who has committed capital
  • Assets — the funds and direct investments being managed
  • Transactions — subscriptions, capital calls, distributions, transfers, fees
  • Cash Flows — the individual financial records within transactions (what the calc service actually reads)
  • Valuations — point-in-time asset NAVs (net asset values)
Layer 2: Calculation Engine
Computes performance metrics from raw data
  • Committed / Called / Uncalled Capital — where is the money?
  • DPI (Distributions to Paid-In) — how much has come back?
  • TVPI (Total Value to Paid-In) — what's the total return multiple?
  • RVPI (Residual Value to Paid-In) — what's still unrealized?
  • XIRR — annualized rate of return, accounting for timing of cash flows
  • Allocation breakdowns — by geography, sector, vintage, strategy
Layer 3: Reporting & Presentation
Surfaces data to users through dashboards and documents
  • Dashboard widgets — capital overview, valuation bridge, allocation charts
  • Tables — investors, investments, ledger, transactions (with Excel export)
  • PDF generation — quarterly performance reports, capital call notices, distribution notices
  • Multi-currency — display in any supported currency with exchange rate conversion

What Portfolio Does NOT Do

Portfolio is frequently compared to tools it was never designed to compete with. Here's the boundary:

Capability Portfolio? Where It Lives Instead
Track investor commitments & transactions Yes -
Calculate IRR / TVPI / DPI Yes -
Generate quarterly performance reports Yes -
Double-entry accounting / general ledger No Fund admin systems (Allvue, Investran, eFront)
Waterfall / carried interest calculations No Fund admin systems
Process actual payments (ACH, wire) No Verivend payment infrastructure
Investor onboarding / KYC No Delio Core / Verivend
Deal origination and management No Delio Core
Chart of accounts No Not built anywhere yet
ILPA-compliant reporting templates Partial Gap area — covers metrics but not the standard template format
Master-feeder / parallel fund structures Partial Asset hierarchy exists, but not purpose-built for complex structures
Portfolio Is Not a General Ledger

A PE-grade GL has double-entry journals, a chart of accounts, multi-basis reporting, and audit-grade controls. Portfolio has none of that. It is a portfolio tracker and reporting tool — a read-heavy system optimized for showing investors where their money is, not an accounting system of record.

The Three User Types

Portfolio serves different views to different users. Understanding who sees what is fundamental:

The GPs and their operations teams — the people managing funds and sharing portfolio data with investors. They have the most access:

  • Create and manage assets (funds, direct investments)
  • Create and manage investor records
  • Record all transaction types (subscriptions, capital calls, distributions, etc.)
  • Upload bulk data via XLSX import
  • Run valuations and generate reports
  • Configure platform settings, report branding, fee display
  • See the full "Group View" — all investors across all assets

Permissions are granular: can-create-portfolio-asset, can-add-investor-transaction, can-delete-investor-transaction, can-use-import-tool, etc.

Limited Partners viewing their own portfolio. They see "My View" — scoped to their investments only:

  • Dashboard with their committed capital, paid-in, distributions, and performance metrics
  • Their investments and current valuations
  • Their documents (capital call notices, distribution notices, quarterly reports)
  • Their transaction history
  • Can request redemptions or asset transfers (which enter an approval workflow)

Investors cannot see other investors' data, create transactions, or modify anything. They can only view and make requests.

Wealth advisors and relationship managers who oversee a subset of investors:

  • See the portfolio overview and their assigned investors
  • Read-only access — cannot create or modify data
  • Useful for wealth management firms where advisors need to see their clients' positions

Where Portfolio Fits in the Ecosystem

Portfolio doesn't stand alone. It's one service in a larger platform:

Delio Core
Deals, Users, Onboarding
Portfolio
Transactions, Metrics
Calc Service
gRPC / Go
Delio Frontend
React UI
+
Horizon
Auth, Users, Permissions
+
Service Rates
FX Rates DB

Here's how data typically flows:

  1. Delio Core creates an investor and a fund — sends them to Portfolio via the Machine API
  2. An admin uploads transaction data (subscriptions, capital calls) via XLSX bulk import or enters them through the UI
  3. When someone views the dashboard, Portfolio asks the Go Calculation Service (via gRPC) to compute metrics from the raw data
  4. The calc service reads directly from the same PostgreSQL database, crunches the numbers, and returns results
  5. Portfolio caches the results in Redis and serves them through widgets, tables, and charts in the React frontend
Why a separate calculation service?

Financial calculations (especially XIRR) are computationally expensive and benefit from Go's concurrency model. The Go service fires parallel goroutines for each calculation type, uses worker pools for large datasets, and handles all the decimal precision and currency conversion. Keeping this separate from the Laravel app means neither blocks the other.

Multi-Tenancy: One Codebase, Many Clients

Portfolio uses a schema-per-tenant architecture in PostgreSQL. Each client (organization) gets their own isolated database schema with the exact same table structure. There's also a "landlord" database that tracks which tenants exist.

This means:

Key Terminology

You'll encounter these terms constantly. If you already know PE basics, skim this. If not, bookmark it.

TermWhat It Means in Portfolio
AssetAny investment vehicle — a PE fund, a direct equity position, a real estate holding. The broadest container.
PE Fund (Private Equity Fund)A pooled vehicle where LPs commit capital that gets drawn down over time. Has capital calls, distributions, and NAV tracking. This is the more complex asset structure.
Direct InvestmentA direct stake in a specific company or project. Simpler model: invest, hold (track value), exit. No capital call cycle.
Sub-PositionA child asset within a fund — share classes, underlying investments. Creates a hierarchy.
NAVNet Asset Value — the current valuation of an asset or fund.
VPUValue Per Unit — NAV divided by total units outstanding.
TermWhat It Means in Portfolio
SubscriptionAn LP joining a fund — committing capital. Three flavors: Drawdown (pay later), Units Assigned (get units now), Fully Paid Up (pay everything upfront).
Capital CallThe fund asks LPs to wire a portion of their committed capital. Usually a percentage of commitment.
DistributionMoney flowing back to LPs — dividends, redemptions, or other income.
RedemptionAn LP getting capital back by surrendering units. The value gets split into return-of-capital vs. capital gain.
Asset TransferMoving ownership from one investor to another (secondary market activity).
MetricWhat It Tells YouFormula
DPIHow much cash has come back relative to what went inDistributions / Paid-In
TVPITotal return multiple (realized + unrealized)(NAV + Distributions) / Paid-In
RVPIHow much unrealized value remainsNAV / Paid-In
XIRRAnnualized return rate, accounting for cash flow timingNumerical solver (Newton/Secant method)
Capital GainsValue created beyond what was investedNAV + Distributions - Paid-In

Knowledge Check

Question 1

A client asks: "Can Portfolio calculate our carried interest waterfall?" What's the right answer?

Yes — it handles all fund performance calculations
No — Portfolio calculates investor-level metrics (IRR, TVPI, DPI) but not waterfall distributions or carried interest. Those require a fund accounting system.
Maybe — it depends on the fund structure
Correct! Portfolio tracks what went in and what came back, and computes return metrics from that data. But the GP economics — carry, hurdle rates, clawbacks — are outside its scope.
Not quite. Portfolio is a portfolio tracker, not a fund accounting system. It calculates investor-level return metrics (IRR, TVPI, DPI) but does not handle waterfall mechanics, carried interest, or GP economics.
Question 2

Where do the DPI, TVPI, and XIRR numbers actually get calculated?

In the Laravel Portfolio app's PHP code
In the React frontend using JavaScript
In a separate Go microservice that the Laravel app calls via gRPC
Correct! The heavy calculation work — XIRR, TVPI, DPI, allocation breakdowns, valuation bridges — lives in a dedicated Go gRPC microservice called portfolio-calculations. The Laravel app handles data storage and business logic, then calls the Go service when metrics are needed. The Go service reads from the same PostgreSQL database and returns computed results.
Not quite. While the Laravel app orchestrates the process and caches results, the actual financial calculations (XIRR, TVPI, DPI, etc.) are performed by a separate Go microservice (portfolio-calculations) communicating over gRPC. We'll cover this architecture in detail in Module 2.
Question 3

An investor logs into Portfolio. What can they see?

Everything — all investors, all assets, all transactions
Only their own portfolio — their investments, documents, transactions, and performance metrics. They can view and request (redemptions, transfers) but not create or modify data.
They can see all assets but only their own transactions
Correct! Investors see "My View" — scoped entirely to their own data. They can view their dashboard, investments, documents, and transactions. They can request redemptions or asset transfers (which enter an approval workflow), but they cannot create transactions, modify data, or see other investors.
Not quite. Investors see a strictly scoped "My View" — only their own investments, documents, and transactions. They cannot see other investors' data or the full "Group View" that fund managers access.

What's Next

Now that you know what Portfolio is (and isn't), the next module dives into how it's built. You'll map the architecture — the Laravel app, the Go calculation service, the multi-tenant PostgreSQL setup, and the three API surfaces that feed data in and out.