Skip to main content
Guides

Data Dictionary

Detailed definitions for every table and column in the data warehouse


This data dictionary provides detailed definitions for every table and column in the data warehouse. Tables are grouped by domain below — use the table of contents to jump to the one you need.

Tables

Fund & Portfolio Performance

Valuations

Capital Activity & Cash Flows

Loan Operations

Accounting & General Ledger

LP & Partner Data

Portfolio Companies & Ownership

Document Intelligence


Aggregate Fund Metrics

Primary table containing fund-level metrics and characteristics. One row per fund with comprehensive performance, capital structure, and operational metrics. Pagination sort: fund_name, month_end_date DESC

ColumnTypeDescription
fund_nameVARCHARName of the fund.
vintage_dateDATEDate of first capital call. Used to determine vintage year and age-based metrics
vintage_yearNUMBERCalendar year of first capital call, used for cohort analysis and benchmarking
month_end_dateDATEThe last day of the month when NAV, Value, RVPI, and TVPI were calculated
entity_type_nameVARCHARLegal structure classification of the fund entity (e.g., Fund, SPV, ...).
firm_nameVARCHARName of the investment firm.
fund_sizeNUMBERTotal committed capital across all LPs and GPs. Used for fund size cohort classification and as denominator for various metrics.
fund_aum_bucketVARCHARSize category for peer comparison based on fund_size (e.g., '100M-250M')
fund_reporting_currencyVARCHARCurrency denomination of the fund
partner_transaction_sourceVARCHARSystem of record identifier for partner transaction data (e.g., carta_gl, cats, partner_records)
total_cost_of_investmentsNUMBERAggregate cost basis of all investments made by the fund, including both active and exited positions
total_investments_at_fair_valueNUMBERCurrent fair market value of all remaining investments held by the fund, based on latest valuation marks
total_unrealized_gain_lossNUMBERAggregate unrealized gains or losses on current investment holdings (total_investments_at_fair_value - total_cost_of_investments)
total_opxNUMBERTotal operating expenses excluding management fees (legal, fund administration, etc.)
total_mgmt_feesNUMBERTotal management fees paid by all partners (total_gp_mgmt_fees + total_lp_mgmt_fees)
cost_tax_prep_feesNUMBERTotal tax preparation fees paid by the fund
cashNUMBERCash balance including (1000 - Bank, 1001 - outstanding checks, 1002 - Stablecoins, 1003 - Overnight Swap, 1004 - Money Market Funds, 1005 - Money Market Funds unrealized/gain loss, 1006 - Cash Margin, 1099 - Bank 1099able)
cost_fa_feesNUMBERTotal fees paid to the fund administrator
cost_legal_feesNUMBERTotal legal fees paid by the fund
cost_filing_feesNUMBERTotal filing fees paid by the fund
cost_other_professional_feesNUMBERAll other professional fees not associated with audit, tax prep, and legal.
cost_organization_costsNUMBERAll fees associated with organizing and creating the fund
cost_insurance_expenseNUMBERCosts associated with Directors and Officers (D&O) insurance
cost_travelNUMBERCosts associated with travel expenses
cost_syndication_costsNUMBERSyndications costs related to fundraising and placement agent
cost_software_and_technologyNUMBERCosts related to software, technology, and IT
cost_dues_and_subscriptionsNUMBERCosts associated with membership dues or subscriptions
cost_mealNUMBERCosts associated with meal and entertainment expenses
cost_market_expensesNUMBERCosts associated with marketing expenses
cost_accounting_expenseNUMBERCosts associated with accounting expenses
cost_payroll_salaryNUMBERCosts associated with payroll and salary expenses
cost_eventsNUMBERCosts associated with events
ending_total_navNUMBEREnding Net Asset Value (NAV) for both GPs and LPs
ending_lp_navNUMBEREnding Net Asset Value (NAV) for LPs
ending_gp_navNUMBEREnding Net Asset Value (NAV) for GPs
total_valueNUMBERTotal value of the fund including GPs and LPs
lp_valueNUMBERTotal value attributable to limited partners (LP NAV plus cumulative distributions to LPs).
gp_valueNUMBERTotal value attributable to general partners (GP NAV plus cumulative distributions to GPs).
total_rvpiNUMBERResidual Value to Paid-In Capital for both LPs and GPs
lp_rvpiNUMBERResidual Value to Paid-In Capital for LPs
total_tvpiNUMBERTotal Value to Paid-In Capital for both LPs and GPs
lp_tvpiNUMBERTotal Value to Paid-In Capital for LPs
total_moicNUMBERMultiple of Invested Capital for both LPs and GPs
lp_moicNUMBERMultiple of Invested Capital for LPs
lp_dpiNUMBERLP-only distributions to paid-in capital ratio (most recent month-end value)
deal_irrFLOATGross deal-level IRR for the fund expressed as a percentage, sourced from the most recent as_of_date. NULL when IRR cannot be computed.
net_lp_irrFLOATNet LP internal rate of return expressed as a percentage, sourced from the most recent as_of_date. NULL when IRR cannot be computed.
count_gpsNUMBERTotal number of general partners in the fund
count_lpsNUMBERTotal number of limited partners in the fund
total_gp_cap_contributionNUMBERAggregate capital contributions from general partners to date
total_lp_cap_contributionNUMBERAggregate capital contributions from limited partners to date
total_cap_contributionNUMBERTotal capital contributed to fund from all partners (total_gp_cap_contribution + total_lp_cap_contribution)
total_gp_mgmt_feesNUMBERCumulative management fees paid by general partners
total_lp_mgmt_feesNUMBERCumulative management fees paid by limited partners
total_gp_capital_call_receivableNUMBERTotal capital call receivable from general partners
total_lp_capital_call_receivableNUMBERTotal capital call receivable from limited partners
total_capital_call_receivableNUMBERTotal capital call receivable from all partners
total_gp_distributionNUMBERCumulative distributions paid to general partners, including return of capital and profits
total_lp_distributionNUMBERCumulative distributions paid to limited partners, including return of capital and profits
total_distributionNUMBERTotal distributions paid to all partners (total_gp_distribution + total_lp_distribution)
total_net_realizedNUMBERNet realized gains or losses from exited investments (total proceeds - cost basis of exited investments)
total_net_unrealizedNUMBERNet unrealized gains or losses on current holdings (current fair value - cost basis of current holdings)
total_distribution_payableNUMBERDistributions approved but not yet paid to partners
total_deferred_cap_callNUMBERCapital calls that have been deferred or scheduled for future dates
total_carried_interest_accruedNUMBERCarried interest earned but not yet distributed, based on waterfall calculations
total_contributions_outside_commitmentNUMBERCapital contributions exceeding original commitment amounts (e.g., for follow-on investments)
dry_powderNUMBERRemaining capital available for investments and expenses (fund_size - total_cost_of_investments - total_opx - total_mgmt_fees)
perc_capital_remainingNUMBERPercentage of fund size not yet deployed (dry_powder / fund_size * 100)
perc_mgmt_fees_to_fundsizeNUMBERManagement fees as percentage of fund size (total_mgmt_fees / fund_size * 100)
perc_mgmt_fees_to_contributionsNUMBERManagement fees as percentage of total contributions (total_mgmt_fees / total_cap_contribution * 100)
perc_cost_tax_prep_fees_to_contributionsNUMBERTax preparation fees as percentage of total contributions (cost_tax_prep_fees / total_cap_contribution * 100)
perc_cost_travel_to_contributionsNUMBERTravel expenses as percentage of total contributions (cost_travel / total_cap_contribution * 100)
perc_cost_software_and_technology_to_contributionsNUMBERSoftware and technology expenses as percentage of total contributions (cost_software_and_technology / total_cap_contribution * 100)
perc_cost_dues_and_subscriptions_to_contributionsNUMBERDues and subscriptions as percentage of total contributions (cost_dues_and_subscriptions / total_cap_contribution * 100)
perc_cost_payroll_salary_to_contributionsNUMBERPayroll and salary expenses as percentage of total contributions (cost_payroll_salary / total_cap_contribution * 100)
perc_cost_accounting_expenses_to_contributionsNUMBERAccounting expenses as percentage of total contributions (cost_accounting_expense / total_cap_contribution * 100)
perc_cost_events_to_contributionsNUMBEREvents expenses as percentage of total contributions (cost_events / total_cap_contribution * 100)
perc_cost_legal_fees_to_contributionsNUMBERLegal fees as percentage of total contributions (cost_legal_fees / total_cap_contribution * 100)
perc_opx_to_fundsizeNUMBEROperating expenses as percentage of fund size (total_opx / fund_size * 100)
perc_opx_to_contributionsNUMBEROperating expenses as percentage of total contributions (total_opx / total_cap_contribution * 100)
is_eligible_fundBOOLEANFlag indicating if fund meets criteria for inclusion in benchmark calculations (e.g., has a "go live date", isn't onboarding, etc.)
is_administered_by_cartaBOOLEANTrue if the fund has full or investment only access
fund_uuidVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Aggregate Investments

Investment-level details for all investments made by funds, tracking cost basis, current value, and investment characteristics Pagination sort: fund_name, issuer_name, asset_name

ColumnTypeDescription
fund_nameVARCHARName of the fund.
issuer_nameVARCHARName of the issuer from the general ledger (GL).
asset_nameVARCHARSpecific name or description of the investment asset (e.g., SAFE, Series Seed, Series A Preferred, etc.). Potential aliases include share class(es), holdings, investments (i.e. "my preferred series A investments"), etc.
investment_dateDATEDate when the initial investment was made
latest_update_effective_dateDATEDate of most recent update to investment information
latest_fmv_effective_dateDATEDate of most recent fair market value assessment
fund_entity_type_nameVARCHARLegal structure classification of the fund entity (e.g., Fund, SPV, ...).
firm_nameVARCHARName of the investment firm.
asset_class_typeVARCHARClassification of the investment (e.g., PREFERRED_EQUITY, CONVERTIBLE_DEBT, COMMON_EQUITY, FUND_INVESTMENT, WARRANTS, OTHER, TOKEN, ALTERNATIVE_ASSETS/OTHER, etc...)
currency_codeVARCHARCurrency denomination of the investment
most_recent_journal_entry_typeVARCHARType of the most recent transaction affecting the investment (e.g., NEW_INVESTMENT, MIGRATION, CONVERSION, VALUATION, ...)
issuer_entity_typeVARCHARLegal structure of the issuing entity in the (somewhat uncommon) case that the issuer is a Fund / SPV / GP / Mgt Company entity
issuer_domicile_countryVARCHARCountry where the issuing entity is domiciled
tagsVARCHARComma delimited list of tags assigned to the issuer by the firm
tags_jsonOBJECTJSON object of category and tag key-value pairs assigned to the issuer
count_remaining_sharesNUMBERCurrent number of shares or units held
total_cost_basisNUMBERRemaining cost basis of the investment
total_unrealized_gain_lossNUMBERCurrent unrealized gain/loss (remaining_value - total_cost_basis)
total_proceedsNUMBERTotal cash or equivalent received from partial or full exits
remaining_valueNUMBERCurrent fair market value of remaining holdings
remaining_value_per_shareNUMBERCurrent fair market value per share (remaining_value / count_remaining_shares)
total_valueNUMBERTotal value including both realized and unrealized components
total_costNUMBERThe total cost basis of the investment in the portfolio company. This is the aggregate amount of capital invested.
total_interest_capitalizedNUMBERTotal amount of capitalized interest on the investment. This represents interest that has been added to the principal balance rather than paid out as cash.
residual_gain_lossNUMBERAdjustment for reconciling cost basis with actual gains/losses
is_investment_in_fundBOOLEANFlag indicating if investment is in another fund / SPV / ... (fund-of-funds structure)
is_crypto_assetBOOLEANFlag indicating if investment is in cryptocurrency or digital assets
is_option_or_warrant_assetBOOLEANFlag indicating if investment is an option or warrant
is_public_assetBOOLEANFlag indicating if investment is in a publicly traded security
is_ownership_interest_assetBOOLEANFlag indicating if investment represents an ownership stake
is_alternative_or_other_assetBOOLEANFlag indicating if investment is classified as alternative investment
is_investment_in_carta_fund_entityBOOLEANFlag indicating if investment is in a Carta-administered fund
is_international_issuerBOOLEANFlag indicating if issuer is based outside the fund's domicile
is_carta_customerBOOLEANIndicates if the corporation is a Carta customer. Non-Carta companies are sometimes referred to as "paper companies" and are used to manually track investments for fund accounting purposes.
is_foreign_currency_investmentBOOLEANFlag indicating if investment is denominated in foreign currency
has_realizationBOOLEANFlag indicating if investment has had any realizations
is_active_investmentBOOLEANFlag indicating if investment is currently held
fund_investment_keyVARCHARUnique identifier for each fund-investment combination
fund_uuidVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
general_ledger_issuer_idVARCHARUnique identifier of the issuer from the general ledger (GL). Used as both a primary key and a foreign key.
general_ledger_asset_idVARCHARUnique identifier for the asset in the general ledger. Used as both a primary key and a foreign key.
general_ledger_asset_class_idVARCHARClassification identifier for the investment asset type
most_recent_general_ledger_fund_journal_entry_idVARCHARIdentifier for the most recent journal entry affecting this investment
most_recent_journal_entry_uuidVARCHARUUID of the most recent journal entry for tracking updates
most_recent_event_keyVARCHARIdentifier for the most recent event affecting the investment
entity_link_idVARCHARReference ID linking to related entity information
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Aggregate Investments History

Time series table with several rows per investments made by funds. It has an effective_date and next_effective_date dictating the range of dates the status was effective. Useful for tracking cost basis, current value, and investment characteristics over time. Pagination sort: fund_name, issuer_name, asset_name, effective_date DESC

ColumnTypeDescription
fund_nameVARCHARName of the fund.
issuer_nameVARCHARName of the investment issuer in the general ledger
asset_nameVARCHARSpecific name or description of the investment asset
effective_dateDATEEffective date of the investment's status. Used in conjunction with next_effective_date to get the investment's status at a given point in time. For example, effective_date <= <some_date> and (next_effective_date is NULL or next_effective_date > <some_date>)
next_effective_dateDATENext effective date of the investment's status. Used in conjunction with effective_date to get the investment's status at a given point in time. For example, effective_date <= <some_date> and (next_effective_date is NULL or next_effective_date > <some_date>)
is_current_stateBOOLEANFlag indicating if the investment's status is the last in the time series. Used to quickly get the current status of an investment.
fund_entity_type_nameVARCHARLegal structure classification of the fund entity (e.g., Fund, SPV, ...).
firm_nameVARCHARName of the investment firm.
asset_class_typeVARCHARClassification of the investment (e.g., PREFERRED_EQUITY, CONVERTIBLE_DEBT, COMMON_EQUITY, FUND_INVESTMENT, WARRANTS, OTHER, TOKEN, ALTERNATIVE_ASSETS/OTHER, etc...)
currency_codeVARCHARCurrency denomination of the investment
issuer_entity_typeVARCHARLegal structure of the issuing entity in the (somewhat uncommon) case that the issuer is a Fund / SPV / GP / Mgt Company entity
issuer_domicile_countryVARCHARCountry of domicile for the issuer
event_typesVARCHARA comma-separated list of accounting event types that changed the asset on the effective date. e.g., "VALUATION", "NEW_INVESTMENT", "MIGRATION", "CONVERSION", ...
count_remaining_sharesNUMBERNumber of remaining shares of the investment
total_cost_basisNUMBERRemaining cost basis of the investment
total_unrealized_gain_lossNUMBER(remaining_value - total_cost_basis)
total_proceedsNUMBERTotal cash or equivalent received from partial or full exits
total_valueNUMBERTotal value including both realized and unrealized components
total_costNUMBERThe total cost basis of the investment in the portfolio company. This is the aggregate amount of capital invested.
total_interest_capitalizedNUMBERCumulative amount of capitalized interest on the investment as of the effective_date. This represents interest that has been added to the principal balance rather than paid out as cash.
residual_gain_lossNUMBERAdjustment for reconciling cost basis with actual gains/losses
count_records_on_dateNUMBERNumber of accounting records on the effective date
remaining_valueNUMBERCurrent fair market value of remaining holdings (equivalent to remaining cost basis + unrealized gain/loss).
remaining_value_per_shareNUMBER(remaining_value / count_remaining_shares)
is_investment_in_fundBOOLEANFlag indicating if investment is in another fund, SPV, etc. in a fund-of-funds structure
is_crypto_assetBOOLEANFlag indicating if investment is in cryptocurrency or digital assets
is_option_or_warrant_assetBOOLEANFlag indicating if investment is an option or warrant
is_public_assetBOOLEANFlag indicating if investment is in a publicly traded security
is_ownership_interest_assetBOOLEANFlag indicating if investment represents an ownership stake
is_alternative_or_other_assetBOOLEANFlag indicating if investment is classified as alternative investment
is_investment_in_carta_fund_entityBOOLEANFlag indicating if investment is in a Carta-administered fund
is_international_issuerBOOLEANFlag indicating if issuer is domiciled in a different country
is_carta_customerBOOLEANIndicates if the corporation is a Carta customer. Non-Carta companies are sometimes referred to as "paper companies" and are used to manually track investments for fund accounting purposes.
_pkVARCHARPrimary key for investment history table
fund_investment_keyVARCHARUnique identifier for each fund-investment combination
fund_uuidVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
general_ledger_issuer_idVARCHARUnique identifier of the issuer from the general ledger (GL). Used as both a primary key and a foreign key.
general_ledger_asset_idVARCHARUnique identifier for the asset in the general ledger. Used as both a primary key and a foreign key.
general_ledger_asset_class_idVARCHARClassification identifier for the investment asset type
entity_link_idVARCHARReference identifier linking to related entity information
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Advance

One row per advance (a disbursement of capital under a loan). Tracks committed and disbursed amounts, outstanding principal, repayment totals, and the borrower, lenders, and agent involved. An advance disburses its full committed amount on its effective date — there are no partial draws. Pagination sort: loan_name, effective_date DESC, _pk

ColumnTypeDescription
advance_nameVARCHARAdvance name.
loan_nameVARCHARParent loan name.
borrower_nameVARCHARCached borrower company name.
effective_dateDATEDate the advance becomes effective (full disbursement happens on this date).
maturity_dateDATEScheduled maturity date for the advance. NULL for open-ended advances.
committed_amountNUMBERSum of tranche contribution amounts across all tranches in the advance. Reflects the total amount lenders have committed, even before effective_date.
disbursed_amountNUMBERcommitted_amount once effective_date <= today, otherwise 0. Advances are all-or-nothing — no partial draws.
outstanding_principalNUMBEROutstanding principal from the latest parent payment obligation for this advance. NULL when no period-bearing obligation has been generated yet.
principal_repaidNUMBERCumulative principal repaid.
interest_repaidNUMBERCumulative interest repaid.
pik_compoundedNUMBERCumulative PIK that has compounded into principal.
pik_repaidNUMBERCumulative PIK repaid.
default_repaidNUMBERCumulative default amount repaid.
currency_codeVARCHARUnified currency code across the advance's tranche contributions. NULL when contributions span multiple currencies or the advance has no tranche contributions yet.
tranche_countNUMBERNumber of tranches in the advance.
lender_countNUMBERNumber of unique lenders contributing to the advance.
lending_firm_nameVARCHARCached lending firm name from the parent loan.
lead_lender_nameVARCHARCached lead lender name from the parent loan.
agent_nameVARCHARCached agent name from the parent loan.
created_atTIMESTAMP_NTZTimestamp when the advance was created.
updated_atTIMESTAMP_NTZTimestamp of the most recent update to the advance.
is_activeBOOLEANWhether the parent loan is currently active.
_pkVARCHARSurrogate primary key generated from advance_id.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
advance_idVARCHARUnique identifier for the advance.
loan_idVARCHARParent loan UUID.
structure_idVARCHARParent loan structure UUID.
borrower_idVARCHARBorrower company UUID.
lead_lender_idVARCHARLead lender company UUID.
agent_idVARCHARAgent company UUID.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Allocations

This model aggregates allocations data, including fund and partner details, allocation amounts, and related metadata. Pagination sort: fund_name, partner_name, effective_date DESC

ColumnTypeDescription
fund_nameVARCHARName of the fund.
partner_nameVARCHARLegal or registered name of the partner entity
allocation_bucket_nameVARCHARThe name of the bucket to which the allocation belongs. Also known as an allocation category or allocation type, each allocation bucket represents a line item on a partner's capital account statement. When a general ledger journal line's amount is allocated to a list of partners, it is funneled into an allocation bucket.
effective_dateDATEThe date upon which the allocation is effective.
entity_type_nameVARCHARLegal structure classification of the fund entity (e.g., Fund, SPV, ...).
firm_nameVARCHARName of the management firm.
partner_class_nameVARCHARName of the partner class this partner belongs to (e.g., Class A, Class B), representing different tiers or categories of investment terms
firm_partner_group_nameVARCHARName of the partner group, coalesced with partner name if no group is assigned
actual_amountNUMBERThe actual amount allocated for this allocation bucket.
partner_typeVARCHARType of partner relationship to the fund. Possible values include: "general_partner", "limited_partner", "managing_member", "member".
gp_entity_nameVARCHARName of the general partner entity associated with the allocation.
allocation_notesVARCHARNotes about the allocation providing additional context.
general_ledger_account_nameVARCHARName of the general ledger account associated with the allocation
general_ledger_account_typeVARCHARFour-digit account type classification code for the general ledger account
general_ledger_account_normal_balanceVARCHARWhether the general ledger account has a normal balance of either CREDIT or DEBIT
is_limited_partnerBOOLEANTrue if the partner is a limited partner; otherwise, false. This will be true if partner_type = 'limited_partner'
is_general_partnerBOOLEANTrue if the partner is a general partner; otherwise, false. This will be true if partner_type = 'general_partner'
general_ledger_partner_record_idVARCHARUnique identifier pk for general ledger partner records
fund_uuidVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
fund_idNUMBERUnique identifier for the fund. Used as both a primary key and a foreign key.
partner_idNUMBERUnique identifier for the partner. Used as both a primary key and a foreign key.
external_partner_idVARCHARExternal identifier for the partner, used for integrations with external systems and cross-referencing partner records
firm_partner_group_idNUMBERIdentifier of the partner group this partner belongs to within the firm
partner_entity_idVARCHARUnique identifier for the partner's legal entity.
asset_idVARCHARthe asset_id associated with the allocation if any
journal_entry_line_idVARCHARThe journal entry line id associated with the allocation
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Amendment

One row per amendment: a negotiated change to a loan's terms after closing. The per-section detail lives in per-section change records, whose before/after values are stored as compressed blobs that cannot be read in SQL. This model therefore summarises what was touched — changed_item_count and changed_sections — rather than the values. changed_sections names the areas moved, e.g. "Commitment, Fees, PrincipalSchedule", which is usually enough to judge relevance without opening the document. Pagination sort: loan_name, effective_date DESC, _pk

ColumnTypeDescription
amendment_nameVARCHARName of the amendment.
loan_nameVARCHARLoan this record belongs to.
borrower_nameVARCHARBorrower on the loan.
effective_dateDATEDate the amendment takes effect.
changed_item_countNUMBERNumber of individual changed items recorded against the amendment. Several items can touch the same section, so this is greater than or equal to changed_section_count. 0 when no changed items were recorded.
changed_section_countNUMBERNumber of distinct sections the amendment touched — the distinct count behind changed_sections. 0 when no changed items were recorded.
changed_sectionsVARCHARComma-separated distinct section names the amendment touched, e.g. "Commitment, Fees, PrincipalSchedule". Null when no changed items were recorded.
lending_firm_nameVARCHARLending firm that services the loan.
created_atTIMESTAMP_NTZTimestamp the amendment record was created.
updated_atTIMESTAMP_NTZTimestamp the amendment record was last updated.
is_effectiveBOOLEANConvenience boolean — true when effective_date has been reached. Evaluated when the data is refreshed, so compute effective_date <= CURRENT_DATE() at query time if you need it exact.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
amendment_idVARCHARAmendment UUID.
loan_idVARCHARLoan this amendment belongs to.
box_folder_idVARCHARBox folder id holding the amendment's documents. Null when no folder exists.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Benchmark Rate

One row per benchmark observation — the published historical rate for each interest-rate benchmark (e.g. SOFR Overnight, WSJ Prime, CME Term SOFR). This is shared reference data: it is firm-agnostic and readable by all firms, so no row access policy is applied. The full rate history is exposed. Read the series as a step function, holding the latest observation forward for dates beyond it. Use the latest observation per benchmark for a flat reference-rate projection, or the full series to value accrued interest on existing floating-rate loans.

ColumnTypeDescription
benchmark_nameVARCHARHuman-readable benchmark name (e.g. "SOFR Overnight", "WSJ Prime").
observation_dateDATEDate the rate was observed or published.
rateNUMBERPublished rate for the benchmark on the observation date, as a decimal fraction.
_pkVARCHARSurrogate primary key derived from (benchmark_id, benchmark_date_id).
fred_idVARCHARFRED series ID for the benchmark (e.g. SOFR, DPRIME). NULL for benchmarks not sourced from FRED.
benchmark_idVARCHARUnique identifier for the benchmark.
benchmark_date_idVARCHARUnique identifier for the benchmark observation.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Capital Activities

One row per capital activity (capital call, distribution, or return of excess) per fund. Mirrors the Fund Capital Activity list view in the Carta investor portal. Includes pre-aggregated dollar totals by bucket activity type, partner row counts by payment status, and lifecycle metadata. The firm_id and fund_uuid columns are foreign keys to funds and are used for row-level access policies. Pagination sort: fund_name, due_date DESC, _pk

ColumnTypeDescription
fund_nameVARCHARName of the fund that issued this capital activity.
activity_typeVARCHARType of capital activity: capital_call, distribution, return_of_excess, mixed (when multiple bucket types contribute non-zero amounts), or NULL when no amounts have been recorded yet.
due_dateDATEDate the capital activity is due (or to be paid out, for distributions).
notice_dateDATEDate the notice for this capital activity was issued.
issue_atTIMESTAMP_NTZTimestamp when this capital activity was issued.
statusVARCHARLifecycle status of the capital activity (e.g., active, completed, draft).
sourceVARCHARSource system or workflow that originated the capital activity.
gross_call_amountNUMBERSum of all amounts associated with capital_call buckets on this activity.
gross_distribution_amountNUMBERSum of all amounts associated with distribution buckets on this activity.
gross_return_of_excess_amountNUMBERSum of all amounts associated with return_of_excess buckets on this activity.
net_activity_amountNUMBERNet dollar value of the activity, signed by each bucket's impact_on_activity (increase = +, decrease = -, none = 0). This is the headline number shown in the UI.
total_amount_owedNUMBERNet dollar value owed across all partner rows on this activity, signed by each bucket's impact_on_owed.
partner_row_countNUMBERNumber of partner line items on this capital activity.
paid_partner_row_countNUMBERNumber of partner line items with payment_status = 'paid'.
partially_paid_partner_row_countNUMBERNumber of partner line items with payment_status = 'partially_paid'.
unpaid_partner_row_countNUMBERNumber of partner line items with payment_status = 'unpaid'.
created_atTIMESTAMP_NTZTimestamp when the capital activity record was created.
updated_atTIMESTAMP_NTZTimestamp when the capital activity record was last updated.
is_staleBOOLEANWhether the capital activity is stale (downstream data has changed since issuance).
is_unlockedBOOLEANWhether the capital activity is unlocked for editing.
is_fully_paidBOOLEANTrue when all partner line items are paid (no unpaid or partially-paid rows).
is_partially_paidBOOLEANTrue when at least one partner row is paid and at least one is unpaid or partial.
_pkVARCHARGenerated surrogate primary key derived from capital_activity_id.
firm_idVARCHARForeign key to the management firm (used for row-level access policies).
fund_uuidVARCHARForeign key to the fund (used for row-level access policies).
capital_activity_idVARCHARUnique identifier for the capital activity.
supersedes_capital_activity_idNUMBERWhen this activity replaces a prior one, the id of the prior capital activity.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Capital Activity Partner Rows

One row per (capital_activity, partner) — the per-partner line items for every capital call, distribution, or return of excess. Mirrors the per-activity detail view in the Carta investor portal. Includes paid_date, days_late, and bucket-typed dollar amounts. This is the table that consumers should use to monitor capital call payment timeliness. The firm_id and fund_uuid columns are foreign keys to funds and are used for row-level access policies. Pagination sort: fund_name, due_date DESC, partner_name, _pk

ColumnTypeDescription
fund_nameVARCHARName of the fund that issued this capital activity.
activity_typeVARCHARType of capital activity: capital_call, distribution, return_of_excess, mixed, or NULL when no amounts have been recorded yet. Inherited from the parent capital activity.
due_dateDATEDate the capital activity is due (or to be paid out, for distributions).
partner_nameVARCHARLegal or registered name of the partner this line item belongs to.
notice_dateDATEDate the notice for this capital activity was issued.
issue_atTIMESTAMP_NTZTimestamp when this capital activity was issued.
activity_statusVARCHARLifecycle status of the parent capital activity (e.g., active, completed).
amount_owedNUMBERNet dollar amount owed by this partner for this activity, signed by each bucket's impact_on_owed. Positive for capital calls, negative for distributions.
capital_call_amountNUMBERSum of amounts on this partner row tied to capital_call buckets (always non-negative).
distribution_amountNUMBERSum of amounts on this partner row tied to distribution buckets (always non-negative).
return_of_excess_amountNUMBERSum of amounts on this partner row tied to return_of_excess buckets.
net_activity_amountNUMBERNet dollar value of this partner's line item, signed by each bucket's impact_on_activity.
paid_dateDATEDate the partner's wire was received (capital calls) or distribution paid out. GP-entered. Null when unpaid.
in_kind_paid_dateDATEDate the in-kind portion of the activity was settled, when applicable.
days_lateNUMBERDays between due_date and paid_date. Computed as DATEDIFF('day', due_date, COALESCE(paid_date, CURRENT_DATE)). Negative values mean paid before due date. For unpaid rows, this is days elapsed since due date.
payment_statusVARCHARCash payment status (paid, partially_paid, unpaid).
in_kind_payment_statusVARCHARIn-kind payment status.
notesVARCHARGP-entered notes on this partner's line item.
created_atTIMESTAMP_NTZTimestamp when this row was created.
updated_atTIMESTAMP_NTZTimestamp when this row was last updated.
is_email_notice_enabledBOOLEANWhether the partner is configured to receive the notice via email.
is_pdf_notice_enabledBOOLEANWhether the partner is configured to receive the notice as a PDF document.
is_paidBOOLEANTrue when payment_status = 'paid'.
is_partially_paidBOOLEANTrue when payment_status = 'partially_paid'.
is_unpaidBOOLEANTrue when payment_status = 'unpaid'.
_pkVARCHARGenerated surrogate primary key derived from capital_activity_row_id.
firm_idVARCHARForeign key to the management firm (used for row-level access policies).
fund_uuidVARCHARForeign key to the fund (used for row-level access policies).
capital_activity_idVARCHARForeign key to the parent capital activity.
capital_activity_row_idVARCHARUnique identifier for this partner line item.
partner_idNUMBERForeign key to the partner.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Capital Activity Row Journal Entries

Many-to-many junction between capital activity partner rows and journal entries. One row per (capital_activity_row_id, journal_entry_id) link. Use to navigate between capital_activity_partner_rows and journal_entries. Approximately 98% of rows link to exactly one journal entry on each side; the remaining ~2% genuinely link to multiple, so this is exposed as a junction rather than a scalar FK on either parent table. The firm_id and fund_uuid columns are used for row-level access policies. Pagination sort: fund_name, _pk

ColumnTypeDescription
fund_nameVARCHARName of the fund both records belong to.
link_idNUMBERSurrogate identifier of the link record from the source junction table.
_pkVARCHARGenerated surrogate primary key from [capital_activity_row_id, journal_entry_id].
firm_idVARCHARForeign key to the management firm (used for row-level access policies).
fund_uuidVARCHARForeign key to the fund (used for row-level access policies).
capital_activity_row_idVARCHARForeign key to capital_activity_partner_rows.capital_activity_row_id.
journal_entry_idVARCHARForeign key to journal_entries.journal_entry_id.
capital_activity_idVARCHARConvenience FK to the parent capital activity (inherited from the partner row).
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Cash Transaction

Bank movements recorded against a loan — the actual cash, as opposed to the obligations that cash settles. One row per bank transaction. Payment Application links these to the obligations they pay; one payment routinely settles several obligations, so applied_amount is the total allocated across them and applied_obligation_count is how many it covers. unapplied_amount is what remains unallocated. Transactions are scoped through the loan rather than through the bank account, because many bank accounts belong to borrowers or standalone lenders that sit under no lending firm. Bank credentials, account number, routing number, and beneficiary details are deliberately excluded and are not available here. Pagination sort: loan_name, transaction_date DESC, _pk

ColumnTypeDescription
loan_nameVARCHARLoan the transaction was recorded against.
borrower_nameVARCHARBorrower company name.
transaction_dateDATEDate the money moved.
transaction_nameVARCHARFree-text label entered in the app (e.g. "Payment Received").
amountNUMBERAmount of the movement.
amount_currencyVARCHARISO currency code of amount.
applied_amountNUMBERNet amount allocated to payment obligations. Net rather than gross: a recalled payment is recorded as a negative allocation, so this can be negative or zero even where allocations exist.
unapplied_amountNUMBERamount less applied_amount. Where allocations have been reversed this can exceed amount, which is correct — the cash arrived and is no longer allocated anywhere.
applied_obligation_countNUMBERNumber of allocation records against this transaction, including reversals. Use this rather than applied_amount <> 0 to tell whether a transaction has ever been allocated.
statusVARCHARTransaction status. NULL on older rows that predate the field.
payment_strategyVARCHARHow the payment was made (e.g. Manual). NULL on older rows.
lending_firm_nameVARCHARLending firm that services the loan.
created_atTIMESTAMP_NTZTimestamp the transaction was recorded.
updated_atTIMESTAMP_NTZTimestamp the transaction was last updated.
is_appliedBOOLEANTrue when any amount has been allocated to an obligation.
_pkVARCHARSurrogate primary key derived from the bank transaction ID.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
cash_transaction_idVARCHARUnique identifier for the bank transaction.
loan_idVARCHARLoan UUID the transaction belongs to.
memo_idVARCHARMemo the transaction settles, if linked.
omadVARCHARFedwire output message accountability data, when present.
imadVARCHARFedwire input message accountability data, when present.
fpi_transaction_reference_idVARCHARReference ID from the payments provider.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Company

Every party to a loan — lending firms, borrowers, lenders, agents, and service providers. The grain is (company, lending firm), not one row per company. A company can belong to several lending firms, and each firm should see its own relationship, so count companies with COUNT(DISTINCT company_id) rather than COUNT(*). firm_link_source records how the relationship was established: Self is a lending firm's own row, Declared means the company carries the firm pointer, and Participation means the relationship was derived from the loans the company takes part in — the normal path for most borrowers, since a borrower belongs to a loan rather than to a firm. Companies that reach no lending firm by any path produce no rows, as there is nothing to scope them by. Pagination sort: lending_firm_name, company_name, _pk

ColumnTypeDescription
company_nameVARCHARCompany display name.
lending_firm_nameVARCHARName of the lending firm this row scopes the company to.
company_typeVARCHARParty type.
firm_link_sourceVARCHARHow the company reached this firm. Possible values: Self (the firm's own row), Declared (the company carries the pointer), Participation (derived from loans it takes part in).
slugVARCHARURL-safe form of the company name.
addressVARCHARCompany address as entered in the app.
websiteVARCHARCompany website.
timezoneVARCHARCompany timezone.
service_levelVARCHARService level (e.g. FullyManaged). NULL for most companies.
onboarding_stepVARCHARWhere the company sits in onboarding.
created_atTIMESTAMP_NTZTimestamp the company was created.
updated_atTIMESTAMP_NTZTimestamp the company was last updated.
is_staffBOOLEANWhether this is a Carta staff company rather than a customer party.
is_ai_enabledBOOLEANWhether AI features are enabled for the company.
is_lending_firmBOOLEANTrue when the company is the lending firm on this row — its own Self relationship.
_pkVARCHARSurrogate primary key derived from (company_id, lending_firm_id), matching the grain.
lending_firm_idVARCHARLending firm UUID this row is scoped to. Used to enforce row access policy.
company_idVARCHARUnique identifier for the company. Not unique within this table — see the grain note above.
carta_managed_sso_uuidVARCHARCarta firm UUID where SSO is managed by Carta. Sparsely populated.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Company Financials

Contains portfolio company financial and KPI data Pagination sort: legal_name, as_of_date DESC, mnemonic

ColumnTypeDescription
legal_nameVARCHARThe legal name of the portfolio company
as_of_dateDATEThe date the data was collected
period_startDATEThe start date of the period the data point was collected for
period_endDATEThe end date of the period the data point was collected for
mnemonicVARCHARA short code for the metric name
entity_typeVARCHARThe type of entity the financial data belongs to (CORP for corporations, LLC for LLCs)
is_latestBOOLEANA flag indicating if this is the latest (by as_of_date) data point for a given metric during a given period
instance_typeVARCHARWhether the data point is an Estimate or Actual
report_typeVARCHARIndicates if the data point is a Profit and Loss, Cash Flow, Balance Sheet, or KPI
nameVARCHARThe name of the metric
frequencyVARCHARThe frequency of the period the data point was collected for, e.g. ANN, MON, QTR, SA
float_valueFLOATThe float value of the metric
string_valueVARCHARThe string value of the metric if the metric could not be represented as a float
currencyVARCHARThe currency of the metric
unit_typeVARCHARThe unit type of the metric e.g. Dollar, Percentage, Ratio, Number
source_typeVARCHARThe source type of the metric e.g. Direct Import, Xero, Excel Import, Codat Import
agg_methodVARCHARThe aggregation method of the metric e.g. Sum, Average, Max, Min
data_type_descriptionVARCHARThe description of the metric
firm_nameVARCHARName of the management firm
corporation_idVARCHARThe Carta Corporation UUID of the portfolio company. NULL for LLC rows.
llc_entity_idVARCHARThe LLC entity UUID. NULL for CORP rows.
_pkVARCHARPrimary key for the company financials
instance_idNUMBERAn instance represents a collection of data representing a given period data can be collected for the same period multiple times.
firm_idVARCHARUnique identifier for the management firm
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Corporation Basic Info

Deprecated — Use Corporation Basic Info V2 instead. This model will be removed in a future release.

Corporation basic information including legal name, description, complete address details, website, logo, and CEO name. Consolidates data from legal entity, legal entity profile, and organization tables with fallback logic for logo and website. Firm-level overrides take precedence over Carta values when present for: corporation name, description, address, website, CEO, and foundation year. Grain: one row per corporation. CEO information matches the Carta application but may be overridden by firm-level overrides. Filters applied: pro forma corporations are excluded; corporations hidden from portfolio are excluded; voided corporations are excluded. Pagination sort: corporation_name, _pk

ColumnTypeDescription
corporation_nameVARCHAROfficial legal name of the corporation. Uses firm issuer override name when available, otherwise falls back to legal entity record.
corporation_descriptionVARCHARBusiness description or summary of the corporation's activities and purpose. Uses firm issuer override description when available, otherwise falls back to legal entity record.
street_addressVARCHARStreet address of the corporation's primary business location. When a firm issuer override address is present, this contains the full address string (e.g. "100 Webster, Oakland, California 94607, United States") and city, state, postal_code, country will be NULL.
cityVARCHARCity where the corporation is located. NULL when a override address is present (see street_address).
stateVARCHARState or province where the corporation is located. NULL when a override address is present (see street_address).
postal_codeVARCHARPostal/ZIP code of the corporation's address. NULL when a override address is present (see street_address).
countryVARCHARCountry code in ISO 3166-1 alpha-3 format (e.g., USA, CAN, GBR). Converted from full country names in the base model. NULL when a override address is present (see street_address).
website_urlVARCHARCorporation website URL. Uses firm issuer override website when available, then LegalEntityProfile website, then falls back to Organization website.
logo_idVARCHARLogo image identifier reference. Uses LegalEntityProfile logo_id first, falls back to Organization logo_id if LegalEntityProfile is null. This ID can be used to construct full logo URLs in application layer.
ceo_nameVARCHARFull name of the corporation's CEO. Uses firm-level override when available, otherwise derived from the most recent active user with a CEO-level title (titles matching 'chief executive' or 'ceo', case-insensitive). May be null if no CEO data exists.
foundation_yearNUMBERYear the corporation was incorporated. Uses firm issuer override date of incorporation when available, otherwise extracted from the Carta Web incorporation_date. May be null if no incorporation date is available from either source.
is_carta_customerBOOLEANBoolean flag indicating whether the corporation is currently a Carta customer actively managing their cap table. TRUE when the corporation is on the Carta platform and has not churned. FALSE when the corporation has never been a Carta customer or has stopped using Carta services. Churn status is determined from the most recent churn record.
_pkVARCHARSurrogate primary key generated from corporation_id
corporation_idNUMBERUnique identifier for the corporation
corporation_uuidVARCHARUniversal unique identifier for the corporation in UUID format
_loaded_atTIMESTAMP_NTZTimestamp indicating when the most recent source data was loaded into Snowflake. Calculated as the maximum _loaded_at from all source tables used in this model, including the firm issuer override table. Useful for tracking data freshness and identifying stale records.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Corporation Basic Info V2

Entity basic information including legal name, description, complete address details, website, logo, and CEO name. Grain is one row per (firm_id, entity_link_id), covering both Carta corporations and paper companies (non-Carta entities) that exist only as entity links within a firm. Consolidates data from legal entity, legal entity profile, and organization tables with fallback logic for logo, website, and corporation name. For paper companies, corporation_id and corporation_uuid may be NULL and all corporation fields are sourced exclusively from firm-level overrides. Firm-level overrides take precedence over Carta values when present for: corporation name, description, address, website, CEO, and foundation year. CEO information matches the Carta application but may be overridden by firm-level overrides. Filters applied: pro forma corporations are excluded; corporations hidden from portfolio are excluded; voided corporations are excluded. Pagination sort: corporation_name, _pk

ColumnTypeDescription
corporation_nameVARCHAROfficial legal name of the corporation. Priority: (1) firm issuer override name, (2) Carta Web legal entity record, (3) legal_name from the corporation links view (covers paper companies that have no Carta Web profile).
corporation_descriptionVARCHARBusiness description or summary of the corporation's activities and purpose. Uses firm issuer override description when available, otherwise falls back to legal entity record.
street_addressVARCHARStreet address of the corporation's primary business location. When a firm issuer override address is present, this contains the full address string (e.g. "100 Webster, Oakland, California 94607, United States") and city, state, postal_code, country will be NULL.
cityVARCHARCity where the corporation is located. NULL when a override address is present (see street_address).
stateVARCHARState or province where the corporation is located. NULL when a override address is present (see street_address).
postal_codeVARCHARPostal/ZIP code of the corporation's address. NULL when a override address is present (see street_address).
countryVARCHARCountry code in ISO 3166-1 alpha-3 format (e.g., USA, CAN, GBR). Converted from full country names in the base model. NULL when a override address is present (see street_address).
website_urlVARCHARCorporation website URL. Uses firm issuer override website when available, then LegalEntityProfile website, then falls back to Organization website.
logo_idVARCHARLogo image identifier reference. Uses LegalEntityProfile logo_id first, falls back to Organization logo_id if LegalEntityProfile is null. This ID can be used to construct full logo URLs in application layer.
ceo_nameVARCHARFull name of the corporation's CEO. Uses firm-level override when available, otherwise derived from the most recent active user with a CEO-level title (titles matching 'chief executive' or 'ceo', case-insensitive). May be null if no CEO data exists.
foundation_yearNUMBERYear the corporation was incorporated. Uses firm issuer override date of incorporation when available, otherwise extracted from the Carta Web incorporation_date. May be null if no incorporation date is available from either source.
is_carta_customerBOOLEANBoolean flag indicating whether the corporation is currently a Carta customer actively managing their cap table. TRUE when the corporation is on the Carta platform and has not churned. FALSE when the corporation has never been a Carta customer or has stopped using Carta services. Churn status is determined from the most recent churn record.
_pkVARCHARSurrogate primary key generated from firm_id and entity_link_id
firm_idVARCHARUUID of the firm that holds this portco via an entity link.
entity_link_idVARCHAREntity link identifier that uniquely identifies the portco relationship within a firm. Together with firm_id, forms the grain of this table. Used as the join key for firm-level override data.
corporation_idNUMBERInteger identifier for the Carta Web corporation. NULL for paper companies that have no Carta Web corporation record.
corporation_uuidVARCHARUUID of the Carta Web corporation. NULL for paper companies that have no Carta Web corporation record.
_loaded_atTIMESTAMP_NTZTimestamp indicating when the most recent source data was loaded into Snowflake. Calculated as the maximum _loaded_at from all source tables used in this model, including the firm issuer override table and the corporation links view. Useful for tracking data freshness and identifying stale records.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution
Deprecated — Use Corporation Entity Links V2 instead. This model will be removed in a future release.

Links between general ledger issuers and their corresponding corporation entities, indicating whether the corporation is a Carta customer and providing key identifiers for cross-referencing between and corporation data systems. Pagination sort: firm_id, corporation_id

ColumnTypeDescription
general_ledger_issuer_idVARCHARUnique identifier for the issuer found in the general ledger. Used for issuer-level aggregations and hierarchies.
corporation_idVARCHARUnique identifier for the corporation. Used as both a primary key and a foreign key.
is_carta_customerBOOLEANIndicates if the corporation is a Carta customer. Non-Carta companies are sometimes referred to as "paper companies" and are used to manually track investments for fund accounting purposes.
_pkVARCHARSurrogate primary key generated from firm_id, general_ledger_issuer_id, and corporation_id
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Simplified version of corporation entity links using the data_warehouse_corporation_links_view base model. This model provides mappings between Carta corporations and external entities including general ledger issuers and firm identifiers. This v2 version sources directly from the CartaWeb data warehouse materialized view for improved performance and data consistency. For each unique combination of (user_id, entity_link_id, firm_id, general_ledger_issuer_id, corporation_id), only the most recent as_of_date record is included. Pagination sort: firm_id, corporation_id, as_of_date DESC

ColumnTypeDescription
general_ledger_issuer_idVARCHARUnique identifier for the issuer found in the general ledger. Used for issuer-level aggregations and hierarchies.
corporation_idVARCHARUnique identifier for the corporation (UUID format). Used as both a primary key and a foreign key. May be null for firm-level entity links that are not associated with a specific corporation.
as_of_dateDATEThe date this link record is effective as of. For each unique key combination, only the record with the most recent as_of_date is included.
is_carta_customerBOOLEANIndicates if the corporation is a Carta customer. Non-Carta companies are sometimes referred to as "paper companies" and are used to manually track investments for fund accounting purposes.
legal_nameVARCHARLegal name of the corporation as registered in official records. This is the formal, registered name of the entity.
pro_forma_of_corporation_idNUMBERPro forma corporation ID referencing the original corporation that this record is a copy of. Pro forma corporations are copies of real corporations on the platform used for financial modeling and scenario planning. When present, this indicates the source corporation that was copied. Null for actual corporations (not pro forma copies).
user_idNUMBERUser ID associated with this corporation entity link. May be null if no user is associated.
entity_link_idVARCHARExternal entity link identifier that connects the corporation to systems. May be null if no external entity link exists.
corporation_entity_link_keyVARCHARSurrogate key generated from user_id, entity_link_id, firm_id, general_ledger_issuer_id, and corporation_id. Provides a stable, unique identifier for each corporation entity link.
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Custom Field

One row per user-defined (custom) field value, in long key-value form: the value of a custom field on a specific entity (lender, loan, borrower, structure, advance, instrument, or fee). Kept long rather than pivoted into columns so it serves every firm with no schema change when fields are added or renamed — pivot to columns at query time on entity_id and field_name. Each firm sees only the fields it defined. Pagination sort: entity_type, entity_name, field_name, _pk

ColumnTypeDescription
entity_typeVARCHARThe entity type the field is defined for (e.g. Lender, Loan, Borrower, Structure, Advance, Instrument).
entity_nameVARCHARName of the entity the value is attached to, resolved from the matching entity by entity_id. NULL only when the referenced entity has since been deleted, leaving an orphaned value.
field_nameVARCHARCustom field name (e.g. "Portfolio Name", "Functional Currency").
field_typeVARCHARField data type (e.g. Text, Select, Number).
field_valueVARCHARThe field value as a string. Non-text values are rendered in their string form.
_pkVARCHARSurrogate primary key derived from (entity_id, user_defined_field_id) — one value per entity per field.
lending_firm_idVARCHARLending firm UUID that owns the field. Used to enforce row access policy.
entity_idVARCHARUUID of the entity the value is attached to, per entity_type.
user_defined_field_idVARCHARUnique identifier for the custom field.
user_defined_field_value_idVARCHARUnique identifier for the custom field value.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Default Event

One row per default event: a period during which a structure was in default. Effective-dated. A null end_date means the default is still open, not that data is missing, which is what is_open reports — there is no status column at source. While a default is open the loan typically accrues at the default rate, which is why obligations of type Default appear in the payment tables for the same period. Pagination sort: loan_name, start_date DESC, _pk

ColumnTypeDescription
loan_nameVARCHARLoan this record belongs to.
borrower_nameVARCHARBorrower on the loan.
structure_nameVARCHARStructure that went into default.
start_dateDATEDate the default period opened.
end_dateDATEDate the default period closed. Null means the default is still open, not that the date is missing — see is_open.
duration_daysNUMBERDays the default has run: end_date less start_date, or today less start_date while the default is still open. Grows daily on open defaults, and is recomputed at refresh rather than at query time.
commentVARCHARFree-text note recorded against the default event.
structure_typeVARCHARFacility type of the structure in default.
lending_firm_nameVARCHARLending firm that services the loan.
created_atTIMESTAMP_NTZTimestamp the default event record was created.
updated_atTIMESTAMP_NTZTimestamp the default event record was last updated.
is_openBOOLEANConvenience boolean — true when end_date is null, meaning the default has not been resolved. There is no status column at source; this is the signal.
has_startedBOOLEANConvenience boolean — true when start_date has been reached. Evaluated when the data is refreshed, so compute start_date <= CURRENT_DATE() at query time if you need it exact.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
default_event_idVARCHARDefault event UUID.
structure_idVARCHARStructure this default event belongs to.
loan_idVARCHARLoan this default event belongs to.
box_folder_idVARCHARBox folder id holding the default event's documents. Null when no folder exists.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Document

One row per loan document, with what it is attached to. A document links to the thing it evidences through a polymorphic link: primary_target_type names the entity kind and primary_target_id its id, with no foreign key behind it, so interpret the id against the type. A document can be linked more than once, so link_count reports how many, primary_target_* describes the earliest link, and target_types lists the full set. extraction_status and review_status describe the AI extraction pipeline rather than the document itself, and are null on almost every row because extraction has run on only a handful — null there means not processed, not missing. Pagination sort: loan_name, file_name, _pk

ColumnTypeDescription
file_nameVARCHARDocument file name as uploaded.
loan_nameVARCHARLoan the document belongs to. Null when the document is not loan-scoped.
borrower_nameVARCHARBorrower on the loan.
document_typeVARCHARDocument type as classified at source.
sourceVARCHARHow the document arrived — Inbox, Widget, or OnboardingBulk.
link_countNUMBERNumber of entities this document is linked to. Zero when unlinked.
primary_target_typeVARCHAREntity kind of the primary link. Null when the document is unlinked. Interpret alongside primary_target_id, which comes from the same link.
primary_target_nameVARCHARDisplay name of the primary link target. Null when the target no longer exists, meaning the entity was deleted after the link was made.
target_typesVARCHARComma-separated distinct entity kinds this document links to.
extraction_statusVARCHARState of the AI extraction pipeline for this document. Null means not processed.
review_statusVARCHARState of human review of the extraction. Null means not reviewed.
error_messageVARCHARExtraction failure message, when extraction ran and failed.
lending_firm_nameVARCHARLending firm that owns the document.
reviewed_atTIMESTAMP_NTZTimestamp the extraction was reviewed. Null until reviewed.
created_atTIMESTAMP_NTZTimestamp the document record was created.
updated_atTIMESTAMP_NTZTimestamp the document record was last updated.
is_reviewedBOOLEANConvenience boolean — true when reviewed_at is populated.
is_extractedBOOLEANWhether the AI extraction pipeline has completed for this document.
is_linkedBOOLEANConvenience boolean — true when link_count is greater than zero.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
loan_document_idVARCHARDocument UUID.
loan_idVARCHARLoan UUID. Null when the document is not loan-scoped.
primary_target_idVARCHARUUID of the primary link target. Polymorphic — interpret it against primary_target_type, as there is no foreign key behind it.
box_file_idVARCHARBox file id backing the stored document.
uploaded_by_user_idVARCHARUUID of the user who uploaded the document.
reviewed_by_user_idVARCHARUUID of the user who reviewed the extraction.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Document Ai Document

Universal document registry across all document types. One row per extraction per document, filtered to current extraction. This model bridges the document domain and document_ai domain: join from document models on document_id, then use extraction_id to reach type-specific tables (e.g., document_ai_spa). Pagination sort: firm_id, document_id

ColumnTypeDescription
document_typeVARCHARType of the document. Current values: 'Stock Purchase Agreement (SPA)'. New document types will be added as extraction support expands.
page_countNUMBERNumber of pages in the document
extraction_idVARCHARUnique identifier for the current extraction of this document
_pkVARCHARSurrogate primary key generated from document_id and extraction_id
document_idVARCHARUnique identifier for the document
firm_idVARCHARUnique identifier of the management firm that owns the document
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Document Ai Extraction

Raw extraction payload for each document. One row per current extraction, keyed by extraction_id. Contains the full extracted JSON for debugging and audit. Prefer the type-specific tables (e.g., document_ai_spa_*) for structured queries. Pagination sort: firm_id, extracted_at DESC, document_id

ColumnTypeDescription
extracted_atTIMESTAMP_NTZTimestamp when the document was extracted
enriched_atTIMESTAMP_NTZTimestamp when the document was enriched
raw_jsonVARIANTVARIANT containing the full extracted JSON payload. Top-level keys include parties (company, purchasers), deal_terms (closing_dates, price_per_share_by_series), and capitalization (preferred_designations). Structure varies by document_type.
_pkVARCHARSurrogate primary key generated from extraction_id
extraction_idVARCHARUnique identifier for the extraction
document_idVARCHARUnique identifier for the document
firm_idVARCHARUnique identifier of the management firm that owns the document
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Document Ai Spa

One row per SPA extraction. Contains scalar deal-level attributes for Stock Purchase Agreements. Related tables: document_ai_spa_issuer (company party), document_ai_spa_purchaser (investor parties), document_ai_spa_series (preferred stock designations). All joinable on extraction_id. Pagination sort: firm_id, closing_date DESC, document_id

ColumnTypeDescription
extraction_idVARCHARUnique identifier for the SPA extraction
closing_dateDATEFirst closing date from the deal terms
_pkVARCHARSurrogate primary key generated from extraction_id
document_idVARCHARUnique identifier for the SPA document
firm_idVARCHARUnique identifier of the management firm that owns the document
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Document Ai Spa Issuer

One row per SPA extraction. The company/issuer party extracted from the Stock Purchase Agreement. Join to document_ai_spa on extraction_id for deal terms. Pagination sort: issuer_name, firm_id, document_id

ColumnTypeDescription
issuer_nameVARCHARName of the issuing company
addressVARCHARAddress of the issuing company
jurisdictionVARCHARJurisdiction of incorporation of the issuing company
ceo_or_key_officerVARCHARCEO or key officer named in the SPA
executed_by_issuerBOOLEANWhether the SPA was executed by the issuer
_pkVARCHARSurrogate primary key generated from extraction_id
extraction_idVARCHARUnique identifier for the SPA extraction
document_idVARCHARUnique identifier for the SPA document
firm_idVARCHARUnique identifier of the management firm that owns the document
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Document Ai Spa Purchaser

One row per purchaser per SPA extraction. Flattened from the purchasers array in the Stock Purchase Agreement extraction. Multiple rows per extraction_id. Join to document_ai_spa on extraction_id for deal terms. Pagination sort: purchaser_name, firm_id, document_id

ColumnTypeDescription
purchaser_nameVARCHARName of the purchasing entity
entity_typeVARCHARLegal entity type of the purchaser (e.g., L.P., LLC)
share_class_nameVARCHARName of the share class purchased
shares_purchasedNUMBERNumber of shares purchased by cash
total_amount_paidNUMBERTotal amount paid for the shares
price_per_shareNUMBERPrice per share paid by the purchaser
_pkVARCHARSurrogate primary key generated from extraction_id and purchaser index
extraction_idVARCHARUnique identifier for the SPA extraction
document_idVARCHARUnique identifier for the SPA document
firm_idVARCHARUnique identifier of the management firm that owns the document
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Document Ai Spa Series

One row per preferred series per SPA extraction. Flattened from the capitalization preferred designations array in the Stock Purchase Agreement extraction. Multiple rows per extraction_id. Join to document_ai_spa on extraction_id for deal terms. Pagination sort: series_name, firm_id, document_id

ColumnTypeDescription
series_nameVARCHARName of the preferred stock series
designated_sharesNUMBERNumber of shares designated for this series
outstanding_pre_closingNUMBERNumber of shares outstanding before closing
price_per_shareNUMBERPrice per share for this series from deal terms. May be null for older records.
shares_issuedNUMBERShares issued by series after all closings from deal terms. May be null for older records.
_pkVARCHARSurrogate primary key generated from extraction_id and series index
extraction_idVARCHARUnique identifier for the SPA extraction
document_idVARCHARUnique identifier for the SPA document
firm_idVARCHARUnique identifier of the management firm that owns the document
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Fee

One row per fee, with how it is calculated, when it accrues and what has been charged against it. A fee attaches at whichever level it was agreed: loan, structure or advance. All three ids are nullable and most fees carry only the loan, so treat a null structure_id as "not structure-scoped" rather than missing data. amount_type says how the amount is derived — Flat is a fixed sum, the *Fraction types are a rate applied to a base, and MOIC is a multiple. The matching amount_* column carries the rate, and all rates are decimal fractions (0.02 = 2%). Only one of them is populated for a given fee. Accrual and payment schedules are RFC-5545 recurrence strings at source. The raw rule is kept alongside parsed frequency and interval columns, since the rule can carry qualifiers the parsed columns do not cover. accrued_amount and paid_amount come from the obligations raised against the fee, not from the fee definition. A fee with a schedule but no obligations yet reports zero for both. accrued_amount can be negative, and so therefore can unpaid_amount — some historical fees carry credits recorded during a data migration rather than charges. Anyone summing fee income should decide deliberately whether to include them. Pagination sort: loan_name, fee_name, _pk

ColumnTypeDescription
fee_nameVARCHARFee name as entered, e.g. "Closing Fee", "Commitment Fee".
loan_nameVARCHARLoan the fee belongs to.
borrower_nameVARCHARBorrower on the loan — the party charged the fee.
structure_nameVARCHARStructure the fee is scoped to. Null for loan-level fees.
advance_nameVARCHARAdvance the fee is scoped to. Null unless advance-level.
amount_typeVARCHARHow the amount is derived.
amountNUMBERFixed or materialised amount of the fee.
amount_currencyVARCHARCurrency of amount, accrued_amount and paid_amount.
amount_commitment_fractionNUMBERFee rate applied to the total commitment, as a decimal fraction (0.02 = 2%). Populated only when amount_type is the matching commitment-fraction type.
amount_undrawn_commitment_fractionNUMBERFee rate applied to the undrawn portion of the commitment, as a decimal fraction — the usual shape of a commitment fee. Populated only when amount_type matches.
amount_advance_fractionNUMBERFee rate applied to the advance amount, as a decimal fraction. Populated only when amount_type matches.
amount_outstanding_fractionNUMBERFee rate applied to the outstanding balance, as a decimal fraction. Populated only when amount_type matches. See amount_outstanding_fraction_include_pik for whether capitalised PIK counts toward that balance.
accrued_amountNUMBERTotal charged via obligations raised against this fee. Can be negative — see the model description on historical credits.
paid_amountNUMBERPortion of accrued_amount on a confirmed memo.
unpaid_amountNUMBERaccrued_amount less paid_amount. Negative where the accrual is a credit.
obligation_countNUMBERNumber of borrower-level obligations raised against this fee.
lender_allocation_typeVARCHARProRata or Custom. Custom fees have per-lender shares.
custom_lender_countNUMBERNumber of explicit per-lender allocations. Zero when ProRata.
day_count_conventionVARCHARDay count convention used when the fee accrues over a period (e.g. ACT/360).
general_ledger_purposeVARCHARGeneral-ledger classification the fee posts under, used to map it to the right account. Free text at source rather than an enum.
accrual_recurrenceVARCHARRaw RFC-5545 recurrence rule governing accrual.
accrual_frequencyVARCHARFREQ parsed from accrual_recurrence, e.g. MONTHLY. Null if absent.
accrual_intervalNUMBERINTERVAL parsed from accrual_recurrence. Null means the default of 1.
payment_recurrenceVARCHARRaw RFC-5545 recurrence rule governing payment.
payment_frequencyVARCHARFREQ parsed from payment_recurrence.
payment_intervalNUMBERINTERVAL parsed from payment_recurrence. Null means the default of 1.
accrual_business_day_adjustmentVARCHARHow an accrual date falling on a non-business day is moved.
accrual_business_day_calendarVARCHARHoliday calendar used for accrual dates, e.g. USBank. Null when none is set.
payment_business_day_adjustmentVARCHARHow a payment date falling on a non-business day is moved.
payment_business_day_calendarVARCHARHoliday calendar used for payment dates, e.g. USBank. Null when none is set.
outstanding_balance_days_beforeNUMBERNumber of days before the accrual date at which the outstanding balance is read, for fees priced off that balance. Null when the balance is taken on the accrual date itself.
lending_firm_nameVARCHARLending firm that services the loan.
notesVARCHARFree-text notes entered against the fee.
due_dateDATEDue date carried on the fee definition, for one-off fees. Scheduled fees raise their own obligations instead — see earliest_obligation_due_date.
accrual_start_dateDATEDate the fee begins accruing. Null when the fee does not accrue over time.
earliest_obligation_due_dateDATEEarliest due date across the obligations raised against this fee. Null when none have been raised.
latest_obligation_due_dateDATELatest due date across the obligations raised against this fee, including projected ones. Null when none have been raised.
created_atTIMESTAMP_NTZTimestamp the fee record was created.
updated_atTIMESTAMP_NTZTimestamp the fee record was last updated.
due_at_maturityBOOLEANWhether the fee falls due at the advance's maturity rather than on a schedule.
from_disbursementBOOLEANWhether the fee is netted out of the disbursement proceeds rather than billed separately, so the borrower receives the advance less the fee.
original_issue_discountBOOLEANWhether the fee is treated as original issue discount — amortised over the life of the loan for accounting rather than recognised when charged.
amount_outstanding_fraction_include_pikBOOLEANWhether capitalised PIK counts toward the outstanding balance that amount_outstanding_fraction is applied to.
should_apply_minimum_interest_fee_to_undrawnBOOLEANWhether a minimum-interest fee extends to the undrawn portion of the commitment, rather than applying only to drawn principal.
has_custom_lender_allocationBOOLEANWhether explicit per-lender allocations exist for this fee.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
fee_idVARCHARFee UUID.
loan_idVARCHARLoan this fee belongs to.
structure_idVARCHARStructure the fee is scoped to. Null for loan-level fees.
advance_idVARCHARAdvance the fee is scoped to. Null unless advance-level.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Financing History

Provides information on various financing rounds for different companies/corporations ("portcos") in a fund/firm's portfolio, including specifics about share classes, amounts raised, and company valuations. Each row represents a unique investment event, outlining key terms such as issue prices, types of shares issued, and investor rights. Pagination sort: raised_date DESC, investment_name, shareclass_name

ColumnTypeDescription
investment_nameVARCHARThe legal name of the portfolio company.
shareclass_nameVARCHARShareclass name. No strict format for the values in this column. Examples include: "Series D-1 Preferred", "Preferred", "Seed-1", "SERIES A-2", "Non-Voting Series A Preferred (PANV) Stock", "Investment", ...
raised_dateDATEThe date the first certificate was issued from a share class.
closing_dateDATEThe date the last original issuance was issued from a share class.
roundVARCHARThe series/round name from the shareclass_name. Contains the string "seed" or one of: "a", "b", ..., "h"
calculated_cash_raisedNUMBER(38,5)shares_issued (aka "total_quantity") times original_issue_price (OIP). Can use this when (estimated) cash raised has not been entered in the Carta platform
estimated_cash_raisedNUMBER(38,12)The total funds raised during this funding round. This figure is independent of share prices or valuations.
shares_issuedNUMBERThe total outstanding quantity of shares in this share class. AKA: "the share class's total quantity"
original_issue_priceNUMBERThe price per share set at the time of issuance for this funding round. Note: This calculation does not account for post-conversion prices and uses the original issue price for consistency.
fully_diluted_sharesNUMBER(38,12)The total number of shares outstanding as of the closing date, including shares that could exist in the future if all options, warrants, and convertible securities are exercised. Conversion ratios are already reflected in this number.
post_money_valuationNUMBER(38,12)Calculated using the original_issue_price and fully_diluted_shares. Does not account for post-conversion prices, which may lead to variations from adjusted valuations based on specific conversion scenarios.
pre_money_valuationNUMBER(28,12)Calculated as post_money_valuation - cash_raised for the round. Does not account for post-conversion prices, which may lead to variations from adjusted valuations based on specific conversion scenarios.
conversion_priceNUMBERConversion Price. OIP (original issue price) / conversion price = number of common shares the shareholder would receive if the stock converted to common. For example if OIP = 1 and conversion_price = .5, the shareholder would receive 2 shares of common. This calculation also affects the fully diluted shares of a company. This is overridden by conversion ratio if it is present.
calculated_conversion_ratioFLOATConversion ratio for the security, calculated from the round terms. Used to convert preferred shares to common-equivalent shares.
multiplierVARCHARShareclass Multiplier. This is a waterfall input and only used on preferred stock_types. In the event of a liquidation, the holder of the stock will receive OIP * Multiplier based on the seniority before common starts to participate. If the shareholder would receive more money converting preferred into common stock, then it will. A larger multiplier is better for investors but worse for the company.
dividend_couponNUMBER(10,6)Annual dividend percentage of the dividend rights (7.00 = 7%). The percentage is multiplied with the OIP to arrive at a dollar value.
dividend_typeVARCHARDividend Type. Can either be "Cumulative" or "Non-Cumulative". If a dividend is cumulative it means that dividends accrue over time. In the event of a liquidation, the unpaid dividends are added to the investor's liquidation preference before paying out common. Non-cumulative dividends don't accrue and just protect the investors from the company trying to declare a dividend on just the common shareclass. Cumulative dividends are good for investors and bad for companies. Non-cumulative dividends have little to no effect.
preference_capNUMBER(10,6)Shareclass Preference Cap. Waterfall input. OIP * preference_cap is the amount of liquidation preference the shareholder will participate along side common after the OIP * Multiplier has been paid out and before converting into common. Good for investors, bad for companies.
is_carta_customerBOOLEANIndicates if the corporation is a Carta customer. Non-Carta companies are sometimes referred to as "paper companies" and are used to manually track investments for fund accounting purposes.
participating_preferredBOOLEANShareclass Participating Preferred. Waterfall input. If true, the shareholder will receive the OIP * Multiplier and participating_preferred along side common after the preferences have been paid. The participation is limited by preference_cap. Good for investors, bad for companies.
_pkVARCHARSurrogate primary key generated from corporation_id and share_class_id
corporation_idVARCHARUnique identifier for the corporation. Used as both a primary key and a foreign key.
share_class_idNUMBERUnique identifier for the share class. The set of share classes differs for each corporation.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Fund Cohort Deployment Velocity

Tracks fund deployment speed relative to peer funds, providing percentile benchmarks for capital deployment over time Pagination sort: fund_uuid, months_since_vintage

ColumnTypeDescription
vintage_yearNUMBERFund's vintage year for cohort grouping
fund_aum_bucketVARCHARFund size category for peer comparison. Possible values are: "<1m", "1m-10m", "10m-25m", "25m-100m", "100m-250m", "250m+"
months_since_vintageNUMBERNumber of months elapsed since first capital call
cumulative_invested_through_monthFLOATTotal amount invested as of each month since vintage
percentage_invested_through_monthFLOATPercentage of fund size deployed as of each month (cumulative_invested_through_month / fund_size)
ct_companies_in_bucketNUMBERNumber of funds in the same cohort for comparison
p1FLOAT1st percentile of deployment rate in cohort at this time point
p5FLOAT5th percentile of deployment rate in cohort at this time point
p10FLOAT10th percentile of deployment rate in cohort at this time point
p25FLOAT25th percentile of deployment rate in cohort at this time point
p50FLOATMedian deployment rate in cohort at this time point
p75FLOAT75th percentile of deployment rate in cohort at this time point
p90FLOAT90th percentile of deployment rate in cohort at this time point
p99FLOAT99th percentile of deployment rate in cohort at this time point
_pkVARCHARSurrogate primary key generated from fund_uuid and months_since_vintage
fund_uuidVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Fund Corporation Ownership

Fund corporation ownership data showing the percentage and quantity of ownership that funds have in portfolio companies (corporations). Uses UUID identifiers for corporation and fund. Pagination sort: corporation_id, fund_id, as_of_date DESC

ColumnTypeDescription
as_of_dateTIMESTAMP_NTZThe date for which the ownership snapshot is calculated
corporation_idVARCHARUUID of the portfolio company (corporation)
fund_idVARCHARUUID of the fund
firm_idVARCHARID of the firm that owns the fund
percentageNUMBEROwnership percentage (0-100)
fully_dilutedNUMBERFully diluted ownership percentage
ownership_quantityNUMBERNumber of shares or units owned
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution
_pkVARCHARSurrogate primary key derived from source table id

Fund Holdings Value

Per-fund holdings value (normalized layer). One row per (valuation/waterfall × fund), sourced from two places: (1) PORTFOLIO_VALUATION — finalized Portfolio Valuations; (2) SCENARIO_MODELING — saved Waterfall Modeling marks (including LLC_ACCOUNT multi-entity waterfalls). Four target_type variants are handled (CORPORATION, CORPORATION_ENTITY_GROUP, LLC_ISSUER, LLC_ACCOUNT). Pagination sort: fund_name, target_name, valuation_date DESC

ColumnTypeDescription
valuation_dateDATEValuation date for PORTFOLIO_VALUATION rows; effective date of the waterfall mark for SCENARIO_MODELING rows.
target_typeVARCHARCarta cap table platform used by the portfolio company. One of CORPORATION, CORPORATION_ENTITY_GROUP, LLC_ISSUER, or LLC_ACCOUNT (the latter for multi-entity LLC waterfalls).
target_nameVARCHARLegal name of the portfolio company being valued. Resolved by target_type — CORPORATION from corporation legal name; CORPORATION_ENTITY_GROUP from entity group name; LLC_ISSUER from LLC entity legal name; LLC_ACCOUNT from LLC account name (may include a firm-specific suffix). NULL only when no matching record exists.
fund_nameVARCHARFund name. Holder name for PORTFOLIO_VALUATION; corporation legal name for SCENARIO_MODELING.
sourceVARCHARPORTFOLIO_VALUATION (finalized portfolio valuation) or SCENARIO_MODELING (saved waterfall mark, including LLC_ACCOUNT multi-entity waterfalls).
allocation_methodologyVARCHARAllocation method used to calculate holdings value. From the underlying Allocation for PORTFOLIO_VALUATION; literal NIAGARA_WATERFALL for SCENARIO_MODELING. Accepted values: WATERFALL, OPTION_PRICING_MODEL, NIAGARA_WATERFALL, COMMON_STOCK_EQUIVALENT, NIAGARA_OPM.
target_valueNUMBERTotal portfolio company value after discounts, or exit value from waterfall modeling.
fund_holdings_valueNUMBERHoldings value attributable to this fund. 0 when the fund has participated in another waterfall for the same portfolio company but receives no allocation in this specific scenario (e.g. exit value below the liquidation preference stack).
fund_proceeds_percentageNUMBERFund's share of exit value, computed as fund_proceeds / target_value (matches the Niagara canonical definition). Populated for SCENARIO_MODELING; NULL for PORTFOLIO_VALUATION.
fund_invested_capitalNUMBERTotal invested capital across all interests this fund holds in the target. For zero-padded rows (fund participated in a sibling waterfall but receives no allocation in this scenario — e.g. exit value below the LP stack), carries the fund's invested capital from the most-recent sibling waterfall for the same target+firm+fund. Populated for SCENARIO_MODELING; NULL for PORTFOLIO_VALUATION (the upstream holding model doesn't track invested capital).
fund_moicNUMBERMultiple on invested capital: fund_holdings_value / fund_invested_capital. 0 when the fund receives no allocation in the scenario (zero-padded row). NULL when fund_invested_capital is NULL or zero.
total_holdings_valueNUMBERTotal firm holdings value across all funds for this valuation/waterfall.
_pkVARCHARSurrogate primary key generated from (source, valuation_id or portfolio_valuation_mark_id, fund_id).
firm_idVARCHARFirm UUID. Used to enforce row access policy.
target_idVARCHARIdentifier of the portfolio company. Corporation UUID when target_type = CORPORATION; otherwise the upstream UUID (entity group, LLC interest issuer, or LLC account). Used to enforce row access policy.
fund_idVARCHARFund corporation UUID.
valuation_idNUMBERValuation identifier. Populated for PORTFOLIO_VALUATION rows; NULL for SCENARIO_MODELING.
waterfall_idVARCHARWaterfall mark source identifier. Populated for SCENARIO_MODELING rows; NULL for PORTFOLIO_VALUATION.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this row was last refreshed during dbt execution.

Fund Ops Benchmarks V2

Operational benchmarks for funds based on size cohorts and vintage years joined back to fund-level tables Pagination sort: fund_name, vintage_year

ColumnTypeDescription
fund_nameVARCHARName of the fund.
vintage_yearNUMBERYear of first capital call, used for cohort analysis
fund_aum_bucketVARCHARFund size category used for peer grouping
entity_type_nameVARCHARLegal structure classification of the fund entity (e.g., Limited Partnership, LLC)
total_opxNUMBERTotal operating expenses excluding management fees (legal, fund administration, etc.)
perc_opx_to_fundsizeNUMBEROperating expenses as percentage of fund size (total_opx / fund_size * 100)
total_mgmt_feesNUMBERTotal management fees paid by all partners (total_gp_mgmt_fees + total_lp_mgmt_fees)
perc_mgmt_fees_to_fundsizeNUMBERManagement fees as percentage of fund size (total_mgmt_fees / fund_size * 100)
dry_powderNUMBERRemaining capital available for investments and expenses (fund_size - total_cost_of_investments - total_opx - total_mgmt_fees)
perc_capital_remainingNUMBERPercentage of fund size not yet deployed (dry_powder / fund_size * 100)
cost_legal_feesNUMBERTotal legal fees paid by the fund
perc_cost_legal_fees_to_contributionsNUMBERLegal fees as percentage of total contributions (cost_legal_fees / total_cap_contribution * 100)
cost_software_and_technologyNUMBERCosts related to software, technology, and IT
perc_cost_software_and_technology_to_contributionsNUMBERSoftware and technology expenses as percentage of total contributions (cost_software_and_technology / total_cap_contribution * 100)
net_perc_capital_remaining_5thNUMBER5th percentile of capital remaining percentage in cohort
net_perc_capital_remaining_10thNUMBER10th percentile of capital remaining percentage in cohort
net_perc_capital_remaining_25thNUMBER25th percentile of capital remaining percentage in cohort
net_perc_capital_remaining_50thNUMBERMedian capital remaining percentage in cohort
net_perc_capital_remaining_75thNUMBER75th percentile of capital remaining percentage in cohort
net_perc_capital_remaining_90thNUMBER90th percentile of capital remaining percentage in cohort
ct_companies_capital_remainingNUMBERNumber of funds in cohort for capital remaining analysis
net_perc_mgmt_fees_to_fundsize_5thNUMBER5th percentile of management fees as percentage of fund size
net_perc_mgmt_fees_to_fundsize_10thNUMBER10th percentile of management fees as percentage of fund size
net_perc_mgmt_fees_to_fundsize_25thNUMBER25th percentile of management fees as percentage of fund size
net_perc_mgmt_fees_to_fundsize_50thNUMBERMedian management fees as percentage of fund size
net_perc_mgmt_fees_to_fundsize_75thNUMBER75th percentile of management fees as percentage of fund size
net_perc_mgmt_fees_to_fundsize_90thNUMBER90th percentile of management fees as percentage of fund size
ct_companies_mgmt_feesNUMBERNumber of funds in cohort for management fee analysis
net_count_gps_5thNUMBER5th percentile of GP count in cohort
net_count_gps_10thNUMBER10th percentile of GP count in cohort
net_count_gps_25thNUMBER25th percentile of GP count in cohort
net_count_gps_50thNUMBERMedian GP count in cohort
net_count_gps_75thNUMBER75th percentile of GP count in cohort
net_count_gps_90thNUMBER90th percentile of GP count in cohort
ct_companies_gpsNUMBERNumber of funds in cohort for GP count analysis
net_count_lps_5thNUMBER5th percentile of LP count in cohort
net_count_lps_10thNUMBER10th percentile of LP count in cohort
net_count_lps_25thNUMBER25th percentile of LP count in cohort
net_count_lps_50thNUMBERMedian LP count in cohort
net_count_lps_75thNUMBER75th percentile of LP count in cohort
net_count_lps_90thNUMBER90th percentile of LP count in cohort
ct_companies_lpsNUMBERNumber of funds in cohort for LP count analysis
net_perc_opex_to_fundsize_5thNUMBER5th percentile of operating expenses as percentage of fund size
net_perc_opex_to_fundsize_10thNUMBER10th percentile of operating expenses as percentage of fund size
net_perc_opex_to_fundsize_25thNUMBER25th percentile of operating expenses as percentage of fund size
net_perc_opex_to_fundsize_50thNUMBERMedian operating expenses as percentage of fund size
net_perc_opex_to_fundsize_75thNUMBER75th percentile of operating expenses as percentage of fund size
net_perc_opex_to_fundsize_90thNUMBER90th percentile of operating expenses as percentage of fund size
ct_companies_opexNUMBERNumber of funds in cohort for operating expense analysis
net_perc_cost_legal_fees_to_contributions_5thNUMBER5th percentile of legal fees as percentage of contributions
net_perc_cost_legal_fees_to_contributions_10thNUMBER10th percentile of legal fees as percentage of contributions
net_perc_cost_legal_fees_to_contributions_25thNUMBER25th percentile of legal fees as percentage of contributions
net_perc_cost_legal_fees_to_contributions_50thNUMBERMedian legal fees as percentage of contributions
net_perc_cost_legal_fees_to_contributions_75thNUMBER75th percentile of legal fees as percentage of contributions
net_perc_cost_legal_fees_to_contributions_90thNUMBER90th percentile of legal fees as percentage of contributions
ct_companies_legalNUMBERNumber of funds in cohort for legal cost analysis
net_perc_cost_tech_to_contributions_5thNUMBER5th percentile of technology costs as percentage of contributions
net_perc_cost_tech_to_contributions_10thNUMBER10th percentile of technology costs as percentage of contributions
net_perc_cost_tech_to_contributions_25thNUMBER25th percentile of technology costs as percentage of contributions
net_perc_cost_tech_to_contributions_50thNUMBERMedian technology costs as percentage of contributions
net_perc_cost_tech_to_contributions_75thNUMBER75th percentile of technology costs as percentage of contributions
net_perc_cost_tech_to_contributions_90thNUMBER90th percentile of technology costs as percentage of contributions
ct_companies_tech_costNUMBERNumber of funds in cohort for technology cost analysis
net_perc_payroll_to_contributions_5thNUMBER5th percentile of payroll as percentage of contributions
net_perc_payroll_to_contributions_10thNUMBER10th percentile of payroll as percentage of contributions
net_perc_payroll_to_contributions_25thNUMBER25th percentile of payroll as percentage of contributions
net_perc_payroll_to_contributions_50thNUMBERMedian payroll as percentage of contributions
net_perc_payroll_to_contributions_75thNUMBER75th percentile of payroll as percentage of contributions
net_perc_payroll_to_contributions_90thNUMBER90th percentile of payroll as percentage of contributions
ct_companies_payrollNUMBERNumber of funds in cohort for payroll analysis
fund_idVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution
fundVARCHARForeign key to the funds table (fund_uuid). The fund this benchmark record applies to.
cr_fund_aum_bucketVARCHARFund size bucket for capital remaining analysis
cr_vintage_yearNUMBERVintage year for capital remaining analysis
cr_entity_type_nameVARCHARCapital remaining entity type for analysis
mf_fund_aum_bucketVARCHARFund size bucket for management fee analysis
mf_vintage_yearNUMBERVintage year for management fee analysis
mf_entity_type_nameVARCHARManagement fee entity type for analysis
gps_fund_aum_bucketVARCHARFund size bucket for GP count analysis
gps_vintage_yearNUMBERVintage year for GP count analysis
gps_entity_type_nameVARCHARGeneral partner entity type for GP count analysis
lps_fund_aum_bucketVARCHARFund size bucket for LP count analysis
lps_vintage_yearNUMBERVintage year for LP count analysis
lps_entity_type_nameVARCHARLP entity type for LP count analysis
opex_fund_aum_bucketVARCHARFund size bucket for operating expense analysis
opex_vintage_yearNUMBERVintage year for operating expense analysis
opex_entity_type_nameVARCHAROperating expense entity type for analysis
legal_fund_aum_bucketVARCHARFund size bucket for legal cost analysis
legal_vintage_yearNUMBERVintage year for legal cost analysis
legal_entity_type_nameVARCHARLegal entity type for legal cost analysis
tech_cost_fund_aum_bucketVARCHARFund size bucket for technology cost analysis
tech_cost_vintage_yearNUMBERVintage year for technology cost analysis
tech_cost_entity_type_nameVARCHARLegal entity type for technology cost analysis
payroll_fund_aum_bucketVARCHARFund size bucket for payroll analysis
payroll_vintage_yearNUMBERVintage year for payroll analysis
payroll_entity_type_nameVARCHARLegal entity type for payroll analysis
perc_mgmt_fees_to_contributionsNUMBERManagement fees as percentage of total contributions (total_mgmt_fees / total_cap_contribution * 100)

Funds

Core fund dimension table containing fund-level properties and attributes. One row per fund. Designed as a normalized dimension to support PK/FK relationships and automatic join inference with other warehouse tables via fund_uuid. Pagination sort: fund_name, fund_uuid

ColumnTypeDescription
fund_nameVARCHARName of the fund.
vintage_dateDATEDate of first capital call (GL-based). Used to determine vintage year and age-based metrics.
vintage_yearNUMBERCalendar year of first capital call, used for cohort analysis and benchmarking.
entity_type_nameVARCHARLegal structure classification of the fund entity (e.g., Fund, SPV).
firm_nameVARCHARName of the management firm that operates the fund.
fund_family_nameVARCHARName of the fund family grouping related funds.
reporting_currencyVARCHARCurrency denomination of the fund (e.g., USD, EUR).
investment_strategy_codeVARCHARRaw investment strategy code from fund properties (e.g., DIRECT_VENTURE, FUND_OF_FUNDS).
partner_transaction_sourceVARCHARSystem of record for partner transaction data (e.g., carta_gl, cats, partner_records).
legal_structureVARCHARLegal structure of the fund entity (e.g., LP, LLC).
fund_sizeNUMBERTotal committed capital across all LPs and GPs. Used for fund size cohort classification.
fund_aum_bucketVARCHARSize category for peer comparison based on fund_size. Buckets differ by entity type (Fund vs SPV).
created_atTIMESTAMP_NTZTimestamp when the fund entity was created in the system.
updated_atTIMESTAMP_NTZTimestamp when the fund entity was last updated.
service_stop_dateDATEDate when Carta services were stopped for this fund (if applicable).
last_reporting_periodVARCHARThe most recent reporting period for the fund from fund properties general properties.
last_reporting_period_yearNUMBERThe year of the most recent reporting period for the fund.
is_onboardingBOOLEANFlag indicating if the fund is currently in the onboarding process.
is_parallel_entityBOOLEANFlag indicating if this is a parallel fund entity (e.g., parallel vehicle).
is_using_investranBOOLEANFlag indicating if the fund uses Investran as a secondary system.
is_administered_by_cartaBOOLEANFlag indicating if the fund has an active full fund administration or investments-only product access.
is_churned_fund_propertiesBOOLEANFlag indicating if the fund is marked as churned in Carta's system.
_pkVARCHARSurrogate primary key generated from fund_uuid.
fund_uuidVARCHARUnique identifier for the fund. Foreign key to other dataset models.
fund_idNUMBERInteger identifier for the fund in the system.
carta_idNUMBERIdentifier linking this fund to its corresponding corporation entity.
firm_idVARCHARUnique identifier for the management firm. Foreign key to firm-level tables.
portfolio_idNUMBERIdentifier for the portfolio this fund belongs to.
fund_family_idVARCHARIdentifier for the fund family grouping related funds.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Holdings Value

Per-fund breakdown of holdings value sourced from finalized Portfolio Valuations and saved Waterfall Modeling marks (including LLC_ACCOUNT multi-entity waterfalls). One row per (valuation/waterfall × fund). Pagination sort: fund_name, target_name, valuation_date DESC

ColumnTypeDescription
valuation_dateDATEValuation date (project valuation_date for PORTFOLIO_VALUATION; mark effective_date for SCENARIO_MODELING).
target_typeVARCHARCarta cap table platform used by the portfolio company. One of CORPORATION, CORPORATION_ENTITY_GROUP, LLC_ISSUER, or LLC_ACCOUNT (the latter for multi-entity LLC waterfalls).
target_nameVARCHARLegal name of the portfolio company being valued. Resolved by target_type — CORPORATION from corporation legal name; CORPORATION_ENTITY_GROUP from entity group name; LLC_ISSUER from LLC entity legal name; LLC_ACCOUNT from LLC account name (may include a firm-specific suffix). NULL only when no matching record exists.
fund_nameVARCHARFund name.
sourceVARCHARPORTFOLIO_VALUATION (finalized portfolio valuation) or SCENARIO_MODELING (saved waterfall mark, including LLC_ACCOUNT multi-entity waterfalls).
allocation_methodologyVARCHARAllocation method used to calculate holdings value. Accepted values: WATERFALL, OPTION_PRICING_MODEL, NIAGARA_WATERFALL, COMMON_STOCK_EQUIVALENT, NIAGARA_OPM. Literal NIAGARA_WATERFALL for SCENARIO_MODELING.
target_valueNUMBERTotal portfolio company value after discounts (or waterfall exit value).
fund_holdings_valueNUMBERHoldings value attributable to this fund. 0 when the fund has participated in another waterfall for the same portfolio company but receives no allocation in this specific scenario (e.g. exit value below the liquidation preference stack).
fund_proceeds_percentageNUMBERFund's share of exit value, computed as fund_proceeds / target_value (matches the Niagara canonical definition). Populated for SCENARIO_MODELING; NULL for PORTFOLIO_VALUATION.
fund_invested_capitalNUMBERTotal invested capital across all interests this fund holds in the target. For zero-padded rows (fund participated in a sibling waterfall but receives no allocation in this scenario — e.g. exit value below the LP stack), carries the fund's invested capital from the most-recent sibling waterfall for the same target+firm+fund. Populated for SCENARIO_MODELING; NULL for PORTFOLIO_VALUATION (the upstream holding model doesn't track invested capital).
fund_moicNUMBERMultiple on invested capital: fund_holdings_value / fund_invested_capital. 0 when the fund receives no allocation in the scenario. NULL when invested capital is NULL or zero.
total_holdings_valueNUMBERTotal firm holdings value across all funds for this valuation/waterfall.
_pkVARCHARSurrogate primary key.
firm_idVARCHARFirm UUID. Used to enforce row access policy.
target_idVARCHARIdentifier of the portfolio company. Corporation UUID when target_type = CORPORATION; otherwise the upstream UUID (entity group, LLC interest issuer, or LLC account). Used to enforce row access policy.
fund_idVARCHARFund corporation UUID.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Instrument

One row per instrument — the equity upside attached to a loan, held alongside the debt. Three kinds occur. A Warrant is a right to buy shares at a strike price before expiry. Equity is shares held outright. A SuccessFee is a contractual payment triggered by an exit rather than a shareholding, so it carries no shares and no strike price, and the nulls there are by design. latest_valuation_amount is the most recent mark chosen by valuation date rather than insert order, so a back-dated correction does not become the latest. realized_amount and realized_shares aggregate every realization to date, and an instrument can realize in tranches across several exits, which is why realization_count can exceed one. value_metric is free text rather than an enum — it holds phrases such as "Enterprise Value" — so do not filter on it as if it were a code. Pagination sort: loan_name, instrument_name, _pk

ColumnTypeDescription
instrument_nameVARCHARInstrument name. Nullable — identify a row by instrument_id rather than by name.
loan_nameVARCHARLoan the instrument is attached to.
borrower_nameVARCHARBorrower on the loan — the company whose equity is at stake.
holder_nameVARCHARCompany holding the instrument.
instrument_typeVARCHARWarrant, Equity, or SuccessFee.
effective_dateDATEDate the instrument takes effect.
sharesNUMBERShares held or subject to the right. Null on SuccessFee, which is not a shareholding.
share_typeVARCHARCommon, Preferred, or ParticipatingPreferred. Null on SuccessFee.
share_priceNUMBERPrice per share at issue.
share_price_currencyVARCHARISO currency of share_price.
strike_priceNUMBERExercise price per share. Warrants only.
strike_price_currencyVARCHARISO currency of strike_price.
liquidation_preferenceNUMBERLiquidation preference multiple attached to the shares.
latest_valuation_amountNUMBERMost recent mark, chosen by valuation date rather than insert order. Null when the instrument has never been valued.
latest_valuation_currencyVARCHARISO currency of latest_valuation_amount.
valuation_countNUMBERNumber of valuations recorded to date. Zero when never valued.
realized_amountNUMBERTotal proceeds realized across every exit to date. Zero when unrealized.
realized_sharesNUMBERTotal shares realized across every exit to date. Zero when unrealized.
realization_countNUMBERNumber of realization events. Can exceed one, as an instrument may realize in tranches across several exits.
value_metricVARCHARFree text describing what the valuation is measured against, for example "Enterprise Value". Not an enum — do not filter on it as a code.
value_descriptionVARCHARFree-text elaboration of the value metric.
call_option_amountNUMBERAmount at which the issuer may call the instrument.
call_option_currencyVARCHARISO currency of call_option_amount.
put_option_amountNUMBERAmount at which the holder may put the instrument.
put_option_currencyVARCHARISO currency of put_option_amount.
lending_firm_nameVARCHARLending firm that services the loan.
notesVARCHARFree-text notes on the instrument.
expiration_dateDATEDate the instrument expires. Warrants and options.
call_option_end_dateDATELast date the call option may be exercised.
put_option_end_dateDATELast date the put option may be exercised.
latest_valuation_dateDATEDate of the most recent valuation. Null when never valued.
first_valuation_dateDATEDate of the earliest valuation. Null when never valued.
latest_realization_dateDATEDate of the most recent realization. Null when unrealized.
created_atTIMESTAMP_NTZTimestamp the instrument record was created.
updated_atTIMESTAMP_NTZTimestamp the instrument record was last updated.
has_realizationBOOLEANConvenience boolean — true when realization_count is greater than zero.
has_valuationBOOLEANConvenience boolean — true when valuation_count is greater than zero.
is_expiredBOOLEANWhether the instrument is past its expiration date. Evaluated when the data is refreshed, so compute expiration_date < CURRENT_DATE() at query time if you need it exact.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
instrument_idVARCHARInstrument UUID.
loan_idVARCHARLoan UUID.
structure_idVARCHARLoan structure UUID the instrument sits under.
holder_idVARCHARCompany UUID of the holder.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Interest Rate Period

Every interest-rate period on every advance, open and closed — the pricing history. Interest Rate Term shows only the period in force today; this shows how the pricing got there. A null end_date means the period is still open. Periods are transfer-versioned: created_by_transfer_id and closed_by_transfer_id record the assignment or participation that opened and closed a period, so a rate can change because the position moved rather than because the terms were renegotiated. is_historical_placeholder marks rows created by a past data migration rather than by the app. They carry no interest_rate_id and therefore no rate, spread or benchmark — they exist to give earlier obligations a period to hang from. They are surfaced rather than filtered out, because dropping them would leave gaps in the timeline, but any rate analysis should exclude them. Pagination sort: loan_name, advance_name, start_date DESC, _pk

ColumnTypeDescription
loan_nameVARCHARLoan this record belongs to.
advance_nameVARCHARAdvance the period prices.
start_dateDATEStart of the period. Nullable — historical placeholder rows carry no dated start.
end_dateDATELast day the period applies. Null means the period is still open, not that the date is missing — see is_open.
rate_typeVARCHARRate basis — Fixed, Floating or FloatingPIK. Null on historical placeholder rows, which carry no interest_rate_id.
benchmark_nameVARCHARReference benchmark name (e.g. "SOFR Overnight"). Null for fixed-rate loans.
credit_spreadNUMBERCredit spread over the benchmark, as a decimal fraction.
benchmark_credit_adjustmentNUMBERBenchmark credit adjustment (e.g. SOFR credit spread adjustment), as a decimal fraction.
benchmark_floorNUMBERFloor applied to the benchmark rate, as a decimal fraction. Null if none.
benchmark_ceilingNUMBERCeiling (cap) applied to the benchmark rate, as a decimal fraction. Null if none.
default_rateNUMBERAdditional penalty coupon applied on default, as a decimal fraction (not a probability of default).
pik_rateNUMBERPIK (paid-in-kind) rate, as a decimal fraction. Null/0 when PIK is not enabled.
pik_proportionNUMBERProportion of interest paid in kind, as a decimal fraction (0-1).
pik_rate_typeVARCHARHow the PIK portion is expressed — as its own rate, or as a proportion of the total interest. Determines whether pik_rate or pik_proportion is the meaningful column.
day_count_conventionVARCHARDay count convention used for interest accrual (e.g. ACT/360).
accrual_recurrenceVARCHARInterest accrual frequency as the raw RFC-5545 recurrence rule. accrual_frequency is the parsed form and is usually what you want.
accrual_frequencyVARCHARAccrual frequency parsed out of accrual_recurrence — DAILY, WEEKLY, MONTHLY or YEARLY. Null when no recurrence is set.
payment_recurrenceVARCHARInterest payment frequency as the raw RFC-5545 recurrence rule. payment_frequency is the parsed form.
payment_frequencyVARCHARPayment frequency parsed out of payment_recurrence — DAILY, WEEKLY, MONTHLY or YEARLY. Null when no recurrence is set.
duration_daysNUMBERDays the period has run: end_date less start_date, or today less start_date while the period is still open. Grows daily on open periods, and is recomputed at refresh rather than at query time.
borrower_nameVARCHARBorrower on the loan.
lending_firm_nameVARCHARLending firm that services the loan.
first_interest_payment_dateDATEDate of the first interest payment due under this period.
first_benchmark_dateDATEFirst date the benchmark is observed for this period. Null on fixed-rate periods.
first_benchmark_adjustment_dateDATEFirst date the benchmark is reset for this period. Null on fixed-rate periods.
first_pik_compounding_dateDATEFirst date PIK interest compounds into principal. Null when PIK is not enabled.
created_atTIMESTAMP_NTZTimestamp the rate period record was created.
updated_atTIMESTAMP_NTZTimestamp the rate period record was last updated.
pik_enabledBOOLEANWhether PIK is enabled on this rate.
is_openBOOLEANConvenience boolean — true when end_date is null, meaning the period has not been closed.
is_currentBOOLEANConvenience boolean — true when today falls inside this period, i.e. it is the pricing in force now. At most one period per advance should be current. Evaluated when the data is refreshed, so it can lag the clock by up to one refresh.
is_historical_placeholderBOOLEANMarks rows created by a past data migration rather than by the app. These carry no interest_rate_id, and therefore no rate, spread or benchmark — they exist so earlier obligations have a period to hang from. Exclude from rate analysis. Nullable — some rows carry no value, so absence is not the same as false.
was_opened_by_transferBOOLEANConvenience boolean — true when an assignment or participation opened this period, meaning the rate changed because the position moved rather than because terms were renegotiated. See created_by_transfer_id.
was_closed_by_transferBOOLEANConvenience boolean — true when an assignment or participation closed this period. See closed_by_transfer_id.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
interest_rate_period_idVARCHARInterest rate period UUID.
interest_rate_idVARCHARInterest rate supplying this period's term components. Null on historical placeholder rows, which is why their rate columns are empty.
advance_idVARCHARAdvance this period belongs to.
structure_idVARCHARStructure the advance sits under.
loan_idVARCHARLoan this period belongs to.
benchmark_idVARCHARBenchmark the floating rate is set from. Joins to Benchmark Rate. Null for fixed-rate periods.
created_by_transfer_idVARCHARTransfer that opened this period, if any. Null when the period was not created by a transfer.
closed_by_transfer_idVARCHARTransfer that closed this period, if any. Null when the period was not closed by a transfer.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Interest Rate Term

One row per advance's currently-active interest-rate period. This exposes the rate components rather than a single pre-computed rate, so the rate can be reconstructed directly: benchmark plus credit spread and adjustments, together with PIK and day-count terms. Grain is the advance, because that is where the active rate period lives; the term components come from the structure's interest rate. This table carries current terms only, not rate history. Fixed-rate loans have a NULL benchmark_name, which is the fixed/floating signal. Join benchmark_id to Benchmark Rate for the benchmark's observed history.

ColumnTypeDescription
loan_nameVARCHARLoan name.
advance_nameVARCHARAdvance name.
rate_typeVARCHARInterest rate type. Possible values: Fixed, Floating.
benchmark_nameVARCHARReference benchmark name (e.g. "SOFR Overnight"). NULL for fixed-rate loans.
credit_spreadNUMBERCredit spread over the benchmark, as a decimal fraction.
benchmark_credit_adjustmentNUMBERBenchmark credit adjustment (e.g. SOFR credit spread adjustment), as a decimal fraction.
benchmark_floorNUMBERFloor applied to the benchmark rate, as a decimal fraction. NULL if none.
benchmark_ceilingNUMBERCeiling (cap) applied to the benchmark rate, as a decimal fraction. NULL if none.
pik_rateNUMBERPIK (paid-in-kind) rate, as a decimal fraction. NULL or 0 when PIK is not enabled.
pik_proportionNUMBERProportion of interest paid in kind, as a decimal fraction between 0 and 1.
default_rateNUMBERAdditional penalty coupon applied on default, as a decimal fraction. This is not a probability of default.
day_count_conventionVARCHARDay count convention used for interest accrual (e.g. ACT/360).
accrual_recurrenceVARCHARInterest accrual frequency (e.g. Monthly, Quarterly).
payment_recurrenceVARCHARInterest payment frequency (e.g. Monthly, Quarterly).
maturity_dateDATEStated maturity date of the advance.
rate_period_start_dateDATEStart date of the currently-active interest-rate period.
rate_period_end_dateDATEEnd date of the currently-active interest-rate period. NULL for open-ended periods.
pik_enabledBOOLEANWhether PIK is enabled on this rate.
_pkVARCHARSurrogate primary key derived from (advance_id, interest_rate_period_id).
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
benchmark_idVARCHARBenchmark UUID. Joins to Benchmark Rate. NULL for fixed-rate loans.
loan_idVARCHARLoan UUID.
structure_idVARCHARUUID of the structure the advance belongs to.
advance_idVARCHARAdvance UUID.
interest_rate_idVARCHARUUID of the interest rate supplying the term components.
interest_rate_period_idVARCHARUUID of the currently-active interest-rate period.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Irc409a Value

This model provides IRC 409A fair market valuation data for portfolio companies, including valuation reports, effective dates, and pricing information for share classes. Excludes churned corporations based on the most recent non-voided churn record. Pagination sort: legal_name, effective_date DESC

ColumnTypeDescription
legal_nameVARCHARLegal name of the corporation
effective_dateDATEDate when the 409A valuation becomes effective
priceNUMBERFair market value price per share
currency_codeVARCHARCurrency code for the price (e.g., USD, EUR)
expiration_dateDATEDate when the 409A valuation expires
stale_dateDATEDate when the 409A valuation becomes stale
is_commonBOOLEANBoolean indicating if this valuation applies to common stock
sourceVARCHARSource of the valuation report
_pkVARCHARSurrogate primary key generated from fmv_id and corporation_uuid
corporation_idNUMBERUnique identifier for the corporation
corporation_uuidVARCHARUUID identifier for the corporation
fmv_idNUMBERUnique identifier for the 409A fair market value record
report_idNUMBERUnique identifier for the valuation report
share_class_idNUMBERUnique identifier for the share class
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Journal Entries

All journal entries in the general ledger. This table has a primary key of "journal_entry_id". The "firm_id" and "fund_uuid" columns are foreign keys that can be used to join with other tables. Pagination sort: fund_name, effective_date DESC, journal_entry_line_id

ColumnTypeDescription
fund_nameVARCHARName of the fund.
account_nameVARCHARThe name of the account related to the journal entry.
effective_dateDATEThe date at which the journal entry is effective.
posted_dateTIMESTAMP_NTZThe date at which the journal entry was posted.
firm_nameVARCHARName of the investment firm.
journal_entry_idVARCHARUnique identifier for each journal entry in the general ledger
amountNUMBERAmount of the journal entry.
base_currency_amountNUMBERAmount of the journal entry in the base currency.
base_currency_codeVARCHARCurrency code for the base currency of the journal entry.
account_typeNUMBERThe code used to identify the type of the account related to the journal entry.
normal_balanceVARCHARThe normal balance of the account related to the journal entry, indicating whether it is a debit or credit account.
account_descriptionVARCHARA description of the account related to the journal entry.
journal_entry_descriptionVARCHARA description of the journal entry that may capture additional context about the journal entry.
event_typeVARCHARThe type of event that triggered the journal entry.
reporting_tagsVARCHARComma-separated list of all reporting tags associated with this journal entry line.
reporting_tags_jsonOBJECTJSON object containing reporting tags grouped by category name, with each category containing an array of tag names.
partner_nameVARCHARName of the partner associated with this journal entry line
partner_entity_typeVARCHAREntity type of the partner (e.g., individual, corporation, LLC)
partner_organization_nameVARCHARLP organization name associated with the partner
vendor_nameVARCHARName of the vendor associated with this journal entry line
vendor_typeVARCHARType classification of the vendor
expense_typeVARCHARExpense classification for the vendor
asset_nameVARCHARName of the asset associated with this journal entry line
issuer_nameVARCHARName of the issuer (company) associated with the asset
bank_transaction_referenceVARCHARReference identifier for the bank transaction
bank_nameVARCHARName of the bank associated with the transaction
bank_account_nameVARCHARName of the bank account associated with the transaction
bank_account_typeVARCHARType of the bank account (e.g., checking, savings)
journal_entry_line_idVARCHARUnique identifier for each journal entry line in the general ledger
fund_uuidVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
partner_idNUMBERForeign key to the capital account partner associated with this journal entry line
vendor_idVARCHARForeign key to the vendor associated with this journal entry line
asset_idVARCHARForeign key to the asset associated with this journal entry line
bank_txn_idVARCHARForeign key to the bank transaction associated with this journal entry line
related_entity_idNUMBERForeign key to a related entity (from lp_crm_crmentity) associated with this journal entry line
issuer_idVARCHARUnique identifier for the issuer
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution
fund_idNUMBERUnique identifier for the fund. Used as both a primary key and a foreign key.

Lender Payment Obligation

Each lender's share of a borrower payment obligation. One row per child payment obligation — the per-lender decomposition of the rows in Payment Obligation. The parent holds the whole amount the borrower owes; these rows divide that same amount between the lenders on the tranche. Never sum this table together with Payment Obligation — doing so counts the same money twice. lender_name is the party owed. A row reaches its tranche either directly or through the tranche rate that priced it; both paths are resolved into tranche_id. status derives from the linked memo exactly as on the parent table. Pagination sort: loan_name, lender_name, due_date, _pk

ColumnTypeDescription
loan_nameVARCHARLoan name.
borrower_nameVARCHARBorrower company name.
lender_nameVARCHARName of the lender owed this share. NULL if the company record is missing.
advance_nameVARCHARAdvance this obligation accrued against. NULL when not advance-scoped.
tranche_nameVARCHARTranche this share belongs to. NULL when the obligation is not tranche-scoped.
due_dateDATEDate the payment is due.
period_start_dateDATEFirst day of the accrual period.
period_end_dateDATELast day of the accrual period.
typeVARCHARObligation type. Possible values: Interest, Principal, Fee, Default, PrepaymentPremium.
statusVARCHARPayment state. Possible values: Scheduled (no memo), Pending (memo created but unconfirmed), Paid (memo confirmed).
amountNUMBERThis lender's share of the obligation.
amount_currencyVARCHARISO currency code of amount.
outstanding_principalNUMBERPrincipal outstanding for this lender over the accrual period.
outstanding_principal_currencyVARCHARISO currency code of outstanding_principal.
rateNUMBERAll-in rate applied, as a decimal fraction (0.14 = 14%).
credit_spreadNUMBERCredit spread component, as a decimal fraction.
benchmark_nameVARCHARBenchmark the floating rate was set from. NULL for fixed-rate.
benchmark_rateNUMBERBenchmark value used, as a decimal fraction.
day_count_conventionVARCHARDay count basis (e.g. Actual360, Actual365, Thirty360US).
day_count_factorNUMBERFraction of a year the accrual period represents.
pik_proportionNUMBERShare of interest paid in kind rather than cash, as a decimal fraction.
fee_nameVARCHARName of the fee this obligation charges, when type is Fee.
late_amountNUMBERLate fee accrued on this share, if any.
lending_firm_nameVARCHARLending firm that services the loan.
paid_atTIMESTAMP_NTZTimestamp the linked memo was confirmed. NULL until paid.
is_pikBOOLEANWhether this obligation is paid in kind.
is_projectedBOOLEANTrue when due_date is in the future — part of the forward amortisation schedule rather than an amount that has come due. Filter NOT is_projected for actuals.
is_historical_importBOOLEANWhether the row was back-filled rather than generated at runtime.
is_paidBOOLEANTrue when paid_at IS NOT NULL.
_pkVARCHARSurrogate primary key derived from the payment obligation ID.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
lender_payment_obligation_idVARCHARObligation id for this per-lender share. Join key for Payment Application, which settles either grain. Disjoint from Payment Obligation's payment_obligation_id.
loan_idVARCHARLoan UUID this obligation belongs to.
advance_idVARCHARResolved advance UUID. NULL when the obligation is not advance-scoped.
tranche_idVARCHARTranche UUID this share belongs to, resolved directly or via the tranche rate.
lender_idVARCHARCompany UUID of the lender owed this share.
memo_idVARCHARLinked memo. NULL until a memo is created.
parent_obligation_idVARCHARThe borrower-level obligation this row is a share of.
tranche_rate_idVARCHARTranche rate that priced this share.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Lender Position

One row per lender position in a tranche, as of today. Each row shows an individual lender's committed and disbursed amount and outstanding principal in a given tranche, along with the parent loan, borrower, and key dates. Use it to break a loan down by lender and see who holds what. Positions reflect both original commitments and any subsequent transfers between lenders.

ColumnTypeDescription
lender_nameVARCHARName of the lender.
tranche_nameVARCHARName of the tranche.
loan_nameVARCHARParent loan name.
borrower_nameVARCHARBorrower on the parent loan.
committed_amountNUMBEREffective committed amount for this (tranche, lender) as of as_of_date. Includes the original tranche contribution plus net transfer allocations.
disbursed_amountNUMBERcommitted_amount once the parent advance has gone effective; otherwise 0.
outstanding_principalNUMBERPer-lender outstanding principal from the latest child payment obligation. Null if no period-bearing obligation exists yet.
currency_codeVARCHARISO currency from the original tranche contribution. Null for transfer-only lenders.
lending_firm_nameVARCHARLending firm that services the parent loan. Distinct from lender_name.
lead_lender_nameVARCHARLead lender on the parent loan.
agent_nameVARCHARAgent on the parent loan.
created_atTIMESTAMP_NTZEarliest tranche-contribution timestamp for this (tranche, lender). Null for transfer-only lenders.
updated_atTIMESTAMP_NTZLatest tranche-contribution timestamp for this (tranche, lender). Null for transfer-only lenders.
effective_dateDATEEffective date of the parent advance.
maturity_dateDATEMaturity date of the parent advance.
as_of_dateDATEDate this position snapshot represents. Currently always today's date.
is_activeBOOLEANWhether the parent loan is currently active.
_pkVARCHARSurrogate primary key generated from (tranche_id, lender_id), which is the grain of the table. Stable across refreshes for an unchanged row — the snapshot date is available separately as as_of_date.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
lender_idVARCHARLender company UUID.
tranche_idVARCHARParent tranche UUID.
advance_idVARCHARParent advance UUID.
structure_idVARCHARParent loan structure UUID.
loan_idVARCHARParent loan UUID.
borrower_idVARCHARBorrower company UUID.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Loan

Loan-level data for credit and lending products. One row per loan with cached counterparty names, key dates, committed and outstanding principal balances, and an is_active flag. total_committed_amount sums all tranche contributions across the loan. outstanding_principal reflects the current borrower-level principal balance across the loan's advances; when a loan is in default, default-type balances supersede regular interest-type balances on the same principal base. Pagination sort: loan_name, closing_date DESC, _pk

ColumnTypeDescription
loan_nameVARCHARLoan name.
borrower_nameVARCHARCached borrower company name.
lending_firm_nameVARCHARCached lending firm name.
closing_dateDATELoan closing date.
total_commitmentNUMBERLoan facility size — the total amount lenders have committed across the loan's structures. 0 before any structure has closed.
total_drawn_amountNUMBERCumulative amount advanced over the life of the loan, summing tranche contributions on advances whose effective date has passed. Can exceed total_commitment on revolvers and re-drawn facilities — for undrawn capacity use total_commitment less outstanding_principal.
outstanding_principalNUMBERCurrent borrower-level outstanding principal balance, summed across the loan's advances (default-type balances supersede interest-type when both exist for the same period). NULL for loans with no recorded payment obligations yet.
currency_codeVARCHARUnified currency code across the loan's tranche contributions. NULL when contributions span multiple currencies (mixed-currency loan) or when the loan has no tranche contributions yet.
tranche_countNUMBERNumber of tranches in the loan.
lender_countNUMBERNumber of unique lenders contributing to the loan.
lead_lender_nameVARCHARCached lead lender name.
agent_nameVARCHARCached agent name.
created_atTIMESTAMP_NTZTimestamp when the loan record was created.
updated_atTIMESTAMP_NTZTimestamp of the most recent update to the loan record.
is_activeBOOLEANIndicates whether the loan is currently active (no advances yet, draw period active, maturity not passed, or cash/PIK outstanding > 0).
_pkVARCHARSurrogate primary key generated from loan_id.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
loan_idVARCHARUnique identifier for the loan.
loan_nano_idVARCHARShort URL-safe loan identifier. This is the id the Carta app uses in loan URLs, so it is what you need to deep link back to a loan: /org/<your-company-slug>/loans/<loan_nano_id>/overview. The company slug is the viewing user's own organization, not a value on this row.
borrower_idVARCHARBorrower company UUID.
lead_lender_idVARCHARLead lender company UUID.
agent_idVARCHARAgent company UUID.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Lp Closing Contact Statuses

Current status of LP contacts visible in the Fund Admin Closings contacts ledger. Combines two origins: (1) contacts invited through the Closings UI, with real states and document completion flags; (2) existing Partners with no closings contact row, onboarded via the Partners (offline) path — these are always shown as CounterSigned with has_completed_documents_offline = true. Grain: one row per contact. No partner appears in both origins. Pagination sort: fund_name, partner_name, created_at DESC, _pk

ColumnTypeDescription
partner_nameVARCHARLegal name of the LP entity or individual.
contact_nameVARCHARName of the individual contact at the LP. Populated for Closings contacts; null for Partners contacts (Partners have no separate contact-name field).
emailVARCHAREmail address of the contact.
fund_nameVARCHARName of the fund the contact is associated with.
stateVARCHARRaw state value stored as "ContactState.<Name>" (e.g. "ContactState.Invited"). Partners contacts are hardcoded to "ContactState.CounterSigned".
contact_statusVARCHARHuman-readable contact status with the "ContactState." prefix stripped. Possible values: Prospect, Invited, DataRoom, InProgress, SignaturesRequired, Submitted, CounterSigned, KYCRequired, Archived, Deleted. Partners contacts are always CounterSigned.
roleVARCHARRole of the contact in the closing (e.g. investor, observer). Partners contacts are hardcoded to "investor".
commitment_amountNUMBERCapital amount committed by the LP. For Partners contacts, approximated as the sum of commitment transaction amounts for the partner.
expected_commitment_amountNUMBERExpected commitment amount set during variable-commitment flows. Always null for Partners contacts.
is_pending_staff_reviewBOOLEANTrue when the contact is awaiting Carta staff review. Always false for Partners contacts.
has_completed_documents_offlineBOOLEANTrue when documents were completed outside the platform. Always true for Partners contacts.
lp_signed_onTIMESTAMP_NTZTimestamp when the LP signed the subscription documents. Always null for Partners contacts.
gp_signed_onTIMESTAMP_NTZTimestamp when the GP countersigned the subscription documents. Always null for Partners contacts.
created_atTIMESTAMP_NTZTimestamp when the underlying record was created.
updated_atTIMESTAMP_NTZTimestamp when the underlying record was last updated.
_pkVARCHARSurrogate primary key. For Closings contacts, derived from closings_contact_uuid. For Partners contacts, derived from partner_id.
firm_idVARCHARUUID FK to the firm that owns the fund — used by the row access policy.
fund_uuidVARCHARUUID of the fund — used by the row access policy.
closings_contact_uuidVARCHARUUID of the closings contact record. Null for Partners contacts.
partner_idNUMBERInteger FK to the partner. For Closings contacts, set once the LP converts to a Partner (nullable). Always populated for Partners contacts.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Memo

Billing documents produced by a loan. One row per memo. Four kinds, given by type: Borrower (invoice to the borrower), LenderDistribution (payment out to a lender), and BorrowerFundingNotice / LenderFundingNotice (notices of an upcoming draw). amount is broken down two ways — principal / interest / fees split it by component, while the *_repaid columns record what has actually been paid against each component and outstanding is what remains. A memo moves through up to four states, each with its own timestamp: approved, scheduled for release, released to the counterparty, then confirmed as paid. status reports the furthest state reached. Only confirmed_at settles the underlying obligations, so is_confirmed — not released_at — is what marks a memo as paid. Pagination sort: loan_name, due_date DESC, _pk

ColumnTypeDescription
loan_nameVARCHARLoan this memo belongs to.
borrower_nameVARCHARBorrower company name.
owed_by_company_nameVARCHARParty that owes the amount on this memo.
owed_to_company_nameVARCHARParty that receives the amount on this memo.
advance_nameVARCHARAdvance the memo relates to. NULL for loan-level memos.
due_dateDATEDate payment is due.
typeVARCHARMemo type. Possible values: Borrower, LenderDistribution, BorrowerFundingNotice, LenderFundingNotice.
statusVARCHARFurthest lifecycle state reached. Possible values: Draft, Approved, Scheduled, Released, Confirmed. Only Confirmed means the money has settled.
amountNUMBERTotal amount on the memo.
amount_currencyVARCHARISO currency code for all monetary columns on this row.
principalNUMBERPrincipal component of amount.
interestNUMBERInterest component of amount.
feesNUMBERFee component of amount.
outstandingNUMBERAmount still unpaid. Equals amount while nothing has been repaid.
principal_repaidNUMBERPrincipal actually repaid against this memo.
interest_repaidNUMBERCash interest actually repaid.
default_repaidNUMBERDefault interest actually repaid.
pik_repaidNUMBERPIK interest actually repaid.
fee_repaidNUMBERFees actually repaid.
prepayment_premium_repaidNUMBERPrepayment premium actually repaid.
late_fee_repaidNUMBERLate fees actually repaid.
lending_firm_nameVARCHARLending firm that services the loan.
notesVARCHARFree-text notes entered in the app.
created_atTIMESTAMP_NTZTimestamp the memo was created.
updated_atTIMESTAMP_NTZTimestamp the memo was last updated.
approved_atTIMESTAMP_NTZTimestamp the memo was approved. NULL if never approved.
scheduled_release_atTIMESTAMP_NTZTimestamp release was scheduled for. NULL if not scheduled.
released_atTIMESTAMP_NTZTimestamp the memo was released to the counterparty.
confirmed_atTIMESTAMP_NTZTimestamp the memo was confirmed as paid. This is what settles obligations.
is_prepaymentBOOLEANWhether the memo represents a prepayment.
is_confirmedBOOLEANTrue when confirmed_at IS NOT NULL.
_pkVARCHARSurrogate primary key derived from the memo ID.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
memo_idVARCHARUnique identifier for the memo.
loan_idVARCHARLoan UUID this memo belongs to.
advance_idVARCHARAdvance UUID the memo relates to, if any.
transfer_idVARCHARTransfer that generated this memo, if any.
owed_by_company_idVARCHARCompany UUID of the paying party.
owed_to_company_idVARCHARCompany UUID of the receiving party.
approved_by_user_idVARCHARUser who approved the memo.
scheduled_release_by_user_idVARCHARUser who scheduled release.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Monthly Nav Calculations

This model calculates the monthly Net Asset Value (NAV) for each fund, including contributions, distributions, commitments, and various NAV metrics. It aggregates data from fund allocations and journal entries to provide a comprehensive view of fund performance over time. The model includes metrics such as total NAV, LP and GP NAV, contributions, distributions, DPI, RVPI, TVPI, and MOIC. It also tracks cumulative contributions, distributions, and commitments for both LPs and GPs, providing insights into fund performance and partner contributions. Pagination sort: fund_name, month_end_date DESC

ColumnTypeDescription
fund_nameVARCHARName of the fund.
firm_nameVARCHARName of the investment firm.
month_start_dateDATEThe start date of the month for which NAV is calculated
month_end_dateDATEThe end date of the month for which NAV is calculated
entity_type_nameVARCHARLegal structure classification of the fund entity (e.g., Fund, SPV, ...).
beginning_total_navNUMBERThe NAV at the beginning of the month
total_contributionsNUMBERCapital contributions made during the month
total_distributionsNUMBERCapital distributions made during the month
ending_total_navNUMBERThe NAV at the end of the month
beginning_lp_navNUMBERThe NAV of LPs at the beginning of the month
lp_contributionsNUMBERThe LP contributions made during the month
lp_distributionsNUMBERThe LP distributions made during the month
ending_lp_navNUMBERThe NAV of LPs at the end of the month
beginning_gp_navNUMBERThe NAV of GPs at the beginning of the month
gp_contributionsNUMBERThe GP contributions made during the month
gp_distributionsNUMBERThe GP distributions made during the month
ending_gp_navNUMBERThe NAV of GPs at the end of the month
cumulative_total_contributionsNUMBERThe cumulative contributions made to the fund since fund inception
cumulative_total_distributionsNUMBERThe cumulative distributions made to the fund since fund inception
cumulative_lp_contributionsNUMBERThe cumulative contributions made to LPs since fund inception
cumulative_lp_distributionsNUMBERThe cumulative distributions made to LPs since fund inception
cumulative_gp_contributionsNUMBERThe cumulative contributions made to GPs since fund inception
cumulative_gp_distributionsNUMBERThe cumulative distributions made to GPs since fund inception
month_commitment_amountNUMBERTotal dollar amount of new commitment transactions recorded during this specific month. This represents new or adjusted commitments from partners in the given month. Includes all commitment transactions from active partners (is_active = 1), non-deleted transactions only (is_deleted = 0), transactions with valid dates falling within this month, and both positive commitments and negative adjustments. Note: Months with no commitment activity will show 0. This differs from contributions (capital calls), which represent actual cash movements.
cumulative_commitment_amountNUMBERRunning total of all commitment transaction amounts for active partners from fund inception through the end of this month. This represents the total committed capital at this point in time. Calculated as the sum of all month_commitment_amount values from fund inception through the current month using a window function with PARTITION BY fund_id. Includes all commitment transactions from active partners (is_active = 1), non-deleted transactions only (is_deleted = 0), and transactions with valid dates (transaction_date IS NOT NULL). Use cases include tracking growth of fund commitments over time, calculating capital call percentages (cumulative_contributions / cumulative_commitment_amount), and understanding remaining capital available for deployment. Note: For the most recent month, this should closely match the fund_size field in aggregate_fund_metrics. Small differences may occur if some commitment transactions lack transaction dates.
total_valueNUMBERThe total value of the fund at the end of the month, including contributions and distributions
lp_valueNUMBERMonth-end value attributable to limited partners (LP NAV plus cumulative distributions to LPs).
gp_valueNUMBERMonth-end value attributable to general partners (GP NAV plus cumulative distributions to GPs).
total_dpiNUMBERThe Distributions to Paid-In (DPI) ratio for the fund, calculated as total distributions divided by total contributions
lp_dpiNUMBERThe Distributions to Paid-In (DPI) ratio for LPs, calculated as LP distributions divided by LP contributions
total_rvpiNUMBERThe Residual Value to Paid-In (RVPI) ratio for the fund, calculated as total NAV divided by total contributions
lp_rvpiNUMBERThe Residual Value to Paid-In (RVPI) ratio for LPs, calculated as LP NAV divided by LP contributions
total_tvpiNUMBERThe Total Value to Paid-In (TVPI) ratio for the fund, calculated as total value divided by total contributions
lp_tvpiNUMBERThe Total Value to Paid-In (TVPI) ratio for LPs, calculated as LP value divided by LP contributions
total_moicNUMBERThe Multiple on Invested Capital (MOIC) for the fund, calculated as total investment value divided by total investment cost using data from aggregate_investments_history. This differs from TVPI in that it uses investment-level cost basis rather than partner contributions.
lp_moicNUMBERThe Multiple on Invested Capital (MOIC) for LPs, calculated as LP value divided by LP contributions
gp_moicNUMBERThe Multiple on Invested Capital (MOIC) for GPs, calculated as GP value divided by GP contributions
is_firm_rollupBOOLEANIndicates if a given row is a rollup for the firm
nav_pkVARCHARUnique identifier for date and fund combination
fund_idNUMBERUnique identifier for the fund. Used as both a primary key and a foreign key.
fund_uuidVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Partner Address Changes Audit

Address change event log for LP records. One row per address-change event, with before/after formatted addresses, phone numbers, change type, timestamp, and who made the change (internal Carta users are shown as "Carta Staff"). Covers the full available history with no date cutoff. Pagination sort: partner_name, fund_name, changed_at DESC, _pk

ColumnTypeDescription
partner_nameVARCHARDisplay name of the LP commitment.
fund_nameVARCHARName of the fund the partner belongs to. Includes soft-deleted funds so the name is still resolved when a fund was deleted after the change was recorded.
new_addressVARCHARFormatted new address after the change (street, line2, city, state, postal_code, country — comma-separated). Null when the address was removed.
old_addressVARCHARFormatted address before the change. Null for the first recorded address assignment.
new_phoneVARCHARPhone number from the new address record (nullable).
old_phoneVARCHARPhone number from the old address record (nullable).
change_typeVARCHARType of address change: "create" (first recorded assignment), "update" (changed to a different address), or "remove" (address cleared).
changed_atTIMESTAMP_NTZTimestamp when the change-log event was recorded.
changed_byVARCHARWho made the change. Internal Carta users are shown as "Carta Staff". Otherwise shows email, then full name, then "N/A".
changed_by_is_staffBOOLEANTrue if the user who made the change is a Carta staff member.
firm_idVARCHARUUID FK to the firm that owns the fund — used by the row access policy.
fund_uuidVARCHARUUID of the fund — used by the row access policy.
partner_interest_group_uuidVARCHARUUID of the LP record that was audited.
_pkVARCHARSurrogate primary key derived from the change log event ID.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Partner Data

Partner-level metrics and characteristics for both LPs and GPs, including commitments, contributions, and distributions. Pagination sort: fund_name, partner_name

ColumnTypeDescription
fund_nameVARCHARName of the fund the partner is associated with
partner_nameVARCHARLegal name of the partner
partner_created_atTIMESTAMP_NTZTimestamp in UTC when partner record was created in Carta
earliest_commitment_dateDATEThe date of the partner's first commitment transaction
latest_commitment_transaction_dateDATEThe date of the partner's latest commitment transaction
firm_nameVARCHARName of the management firm
firm_partner_group_nameVARCHARName of the partner group, coalesced with partner name if no group is assigned
commitment_sizeNUMBERTotal capital committed by the partner to the fund
partner_entity_typeVARCHARThe legal entity type of the partner (e.g. corporation_c, corporation_s, estate, individual, etc.)
count_active_lp_accountsNUMBERNumber of active LP partner commitments associated with the partner
organization_nameVARCHARName of the organization the partner is associated with
partner_class_nameVARCHARThe fund's partner class the partner has a commitment in
partner_class_descriptionVARCHARDescription of the partner class
partner_street_addressVARCHARPartner street address
partner_cityVARCHARPartner address city
partner_stateVARCHARPartner address state
partner_countryVARCHARPartner address country
wire_instructions_statusVARCHARStatus of the wire instructions uploaded by the partner
total_capital_commitment_amount_currentNUMBERThe partners current capital commitment to the fund. Partners that backed out would show up as 0, see total_capital_commitment_amount_max for the maximum commitment a partner had to the fund.
total_capital_commitment_amount_maxNUMBERThe maximum capital commitment a partner had to the fund.
primary_contact_emailVARCHARThe primary contact email of the partner
total_cap_contributionNUMBERTotal capital contributed by partner to date
total_mgmt_feesNUMBERTotal management fees paid by partner to date
total_capital_call_receivableNUMBERA partners capital call receivable balance
total_distributionNUMBERTotal distributions paid to partner to date
total_opxNUMBERTotal operating expenses allocated to partner
total_net_realizedFLOATNet realized gains/losses allocated to partner
total_net_unrealizedNUMBERNet unrealized gains/losses allocated to partner
total_distribution_payableNUMBERDistributions approved but not yet paid to partner
total_deferred_cap_callNUMBERCapital calls approved but deferred for this partner
total_carried_interest_accruedNUMBERCarried interest allocated to partner (typically for GPs)
total_contributions_outside_commitmentNUMBERAdditional contributions beyond original commitment amount
total_net_asset_balanceNUMBERThe net asset balance allocated to the partner
total_net_operating_income_llc_interestNUMBERTotal net operating income allocated to the partner's LLC interest.
total_distribution_llc_interestNUMBERTotal distributions allocated to the partner's LLC interest.
total_in_kind_distribution_llc_interestNUMBERTotal in-kind distributions allocated to the partner's LLC interest.
total_syndication_costs_llc_interestNUMBERTotal syndication costs allocated to the partner's LLC interest.
sent_dateTIMESTAMP_NTZTimestamp in UTC of when the commitment was sent to the partner for acceptance into their portfolio
wire_confirmation_dateTIMESTAMP_NTZTimestamp in UTC when the wire information was confirmed by the partner. This is typically the date the partner signed off on their wire instructions.
wire_instructions_added_dateTIMESTAMP_NTZTimestamp in UTC when the wire information was added by the partner.
latest_w8_w9DATEDate of the most recently received W-8 or W-9 tax form for the partner.
send_capital_calls_noticesBOOLEANFlag indicating if partner should receive capital call notices
is_activeBOOLEANFlag indicating if partner is currently active in the fund
is_limited_partnerBOOLEANFlag indicating if partner is a limited partner (LP)
is_general_partnerBOOLEANFlag indicating if partner is a general partner (GP)
has_confirmed_wire_instructionsBOOLEANFlag indicating if the partner has confirmed wire instructions
has_wire_setupBOOLEANFlag indicating if the partner has setup wire information
has_w8_w9BOOLEANHas a W8/W9 on file
partner_idNUMBERUnique identifier for each partner, used as primary key
external_partner_idVARCHARID added by firm as an external identifier to join 3rd party data
firm_partner_group_idNUMBERIdentifier of the partner group this partner belongs to within the firm
partner_entity_idVARCHARUnique identifier for partner's portfolio
fund_uuidVARCHARUnique identifier of the fund the partner is associated with
organization_idVARCHARUnique identifier of the organization the partner is associated with
tax_id_typeVARCHARType of tax identifier on file for the partner.
firm_idVARCHARUnique identifier of the management firm
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution
has_wire_instruction_referenceBOOLEANFlag indicating if the partner has a wire instruction reference

Partner Monthly Nav Calculations

This model calculates the monthly Net Asset Value (NAV) at the partner level for each fund. It provides a detailed breakdown of NAV, contributions, distributions, commitments, and performance metrics (DPI, RVPI, TVPI, MOIC) for each individual partner. When aggregated by fund, the results should match the fund-level calculations in monthly_nav_calculations (excluding firm rollup records). This model enables partner-level analysis and is particularly useful for fund-of-funds reporting and custom partner-level analytics. Pagination sort: fund_name, partner_name, month_end_date DESC

ColumnTypeDescription
fund_nameVARCHARName of the fund
partner_nameVARCHARName of the partner
month_start_dateDATEFirst day of the month for this NAV calculation
month_end_dateDATELast day of the month for this NAV calculation
entity_type_nameVARCHARLegal structure classification of the fund entity (e.g., Fund, SPV)
firm_nameVARCHARName of the management firm
is_limited_partnerBOOLEANTrue if the partner is a limited partner, otherwise false
is_general_partnerBOOLEANTrue if the partner is a general partner, otherwise false
partner_class_nameVARCHARPartner class name for classification (e.g., "Class A", "Founder Class")
partner_class_descriptionVARCHARDetailed description of the partner class
firm_partner_group_nameVARCHARName of the partner group (defaults to partner name if no group assigned)
is_activeBOOLEANTrue if the partner is currently active, otherwise false
beginning_total_navNUMBERPartner's NAV at the beginning of the month
total_contributionsNUMBERPartner's total contributions during the month
total_commitmentNUMBERPartner's commitment amount for the month
total_distributionsNUMBERPartner's total distributions during the month
ending_total_navNUMBERPartner's NAV at the end of the month
cumulative_total_contributionsNUMBERPartner's cumulative contributions from inception through the end of the month
cumulative_total_commitmentNUMBERPartner's cumulative commitment amount through the end of the month
cumulative_total_distributionsNUMBERPartner's cumulative distributions from inception through the end of the month
total_valueNUMBERPartner's total value (ending NAV + cumulative distributions)
total_dpiNUMBERPartner's Distributions to Paid-In capital ratio (cumulative distributions / cumulative contributions)
total_rvpiNUMBERPartner's Residual Value to Paid-In capital ratio (ending NAV / cumulative contributions)
total_tvpiNUMBERPartner's Total Value to Paid-In capital ratio (total value / cumulative contributions)
total_moicNUMBERPartner's Multiple on Invested Capital (total value / cumulative contributions)
partner_nav_pkVARCHARUnique identifier for partner, fund, firm, and date combination (surrogate key on partner_id, fund_uuid, firm_id, month_end_date)
fund_idVARCHARUnique identifier (UUID) for the fund
partner_idNUMBERUnique identifier for the partner
partner_entity_idVARCHARUnique identifier for the partner's legal entity
firm_partner_group_idNUMBERUnique identifier for the partner group within the firm
firm_idVARCHARUnique identifier for the management firm
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Payment Application

Payment allocation line items showing how each memo's payment was waterfalled across the loan obligations it paid down. One row per payment application. Natural pair to Payment Obligation — obligations are the scheduled cash flows, applications are how each actual payment was allocated to those obligations. applied_at is null for applications whose memo has not yet been confirmed. Pagination sort: loan_name, applied_at DESC, _pk

ColumnTypeDescription
loan_nameVARCHARParent loan name.
borrower_nameVARCHARBorrower company name.
lending_firm_nameVARCHARLending firm name.
due_dateDATEScheduled due date of the obligation this application paid down.
period_start_dateDATEStart of the accrual period of the underlying obligation.
period_end_dateDATEEnd of the accrual period of the underlying obligation.
typeVARCHARObligation type this application paid down. Possible values: Interest, Principal, Fee, Default, PrepaymentPremium, LateFee.
amountNUMBERApplication amount — the portion of the payment allocated to this obligation.
amount_currencyVARCHARCurrency for amount.
applied_atTIMESTAMP_NTZWhen the application became real — the memo's confirmed timestamp. NULL while the memo is unconfirmed.
_pkVARCHARSurrogate primary key derived from the payment application ID.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
loan_idVARCHARLoan UUID this application belongs to.
payment_obligation_idVARCHARThe obligation this application paid down.
memo_idVARCHARThe memo whose payment this application came from.
manual_bank_transaction_idVARCHARThe bank transaction this application drew from.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Payment Obligation

Payment schedule for a loan. One row per scheduled cash flow (Interest, Principal, Fee, Default, PrepaymentPremium, LateFee). status derives from the linked payment memo: Scheduled (no memo), Pending (memo created but unconfirmed), Paid (memo confirmed). Past-due is not materialized — compute at query time as due_date < CURRENT_DATE() AND NOT is_paid. Pagination sort: loan_name, due_date, _pk

ColumnTypeDescription
loan_nameVARCHARLoan name.
borrower_nameVARCHARBorrower company name.
lending_firm_nameVARCHARLending firm name.
due_dateDATEScheduled due date for this obligation.
period_start_dateDATEStart of the accrual period this obligation covers.
period_end_dateDATEEnd of the accrual period this obligation covers.
typeVARCHARObligation type. Possible values: Interest, Principal, Fee, Default, PrepaymentPremium, LateFee.
statusVARCHARPayment state. Possible values: Scheduled (no memo), Pending (memo created but unconfirmed), Paid (memo confirmed).
amountNUMBERObligation amount in amount_currency.
amount_currencyVARCHARCurrency code for amount.
outstanding_principalNUMBERPrincipal balance against which this obligation accrues. Populated on Interest and Default; NULL on Principal, Fee, and PrepaymentPremium by design.
outstanding_principal_currencyVARCHARCurrency code for outstanding_principal.
rateNUMBERAll-in rate applied for this period. Populated on Interest and Default; NULL otherwise.
credit_spreadNUMBERCredit-spread component of the rate. Interest-only.
benchmark_nameVARCHARFloating-rate benchmark name. NULL on fixed-rate Interest rows.
benchmark_rateNUMBERBenchmark rate value for the period.
benchmark_dateDATEBenchmark observation date.
benchmark_floorNUMBERFloor applied to the benchmark.
benchmark_ceilingNUMBERCeiling applied to the benchmark.
benchmark_credit_adjustmentNUMBERCredit-spread adjustment to the benchmark (e.g. SOFR CSA).
day_count_conventionVARCHARDay-count convention (e.g. ACT/360).
pik_proportionNUMBERProportion of the interest paid in kind. Populated on proportion-type PIK rows.
pik_accrual_dateDATEPIK accrual date.
pik_compounding_dateDATEPIK compounding date.
paid_atTIMESTAMP_NTZTimestamp the memo confirming this obligation was marked paid. NULL while unpaid.
is_pikBOOLEANWhether this obligation is paid in kind.
is_historical_importBOOLEANWhether this row was loaded as a historical back-fill rather than generated at runtime.
is_paidBOOLEANTrue when paid_at IS NOT NULL.
is_projectedBOOLEANTrue when due_date is in the future — the obligation is part of the forward amortisation schedule rather than an amount that has come due. A large share of rows are projected, running years ahead, so any SUM over amount or outstanding_principal that does not filter on this covers far more than is actually owed. Filter NOT is_projected for actuals. A null due_date counts as not projected.
_pkVARCHARSurrogate primary key derived from the payment obligation ID.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
payment_obligation_idVARCHARObligation id. Join key for Payment Application and for Lender Payment Obligation's parent_obligation_id. Borrower-grain ids only — the per-lender ids live on Lender Payment Obligation, and the two sets never overlap.
loan_idVARCHARLoan UUID this obligation belongs to.
advance_idVARCHARAdvance UUID. NULL for obligations not scoped to an advance (most Fee rows, all PrepaymentPremium rows).
owed_by_company_idVARCHARLoan-ops company ID of the party owing this payment.
owed_to_company_idVARCHARLoan-ops company ID of the party receiving this payment.
pik_advance_idVARCHARAdvance receiving the PIK accrual, if applicable.
memo_idVARCHARLinked payment memo. NULL until a memo is created.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Portfolio Events

Events relating to a firm's portfolio of investments Pagination sort: event_date DESC, fund_name, corporation_name

ColumnTypeDescription
fund_nameVARCHARName of the fund.
corporation_nameVARCHARThe name of the Carta cap table customer related to the portfolio event.
event_dateTIMESTAMP_NTZThe date of the portfolio event.
event_typeVARCHARThe type of the portfolio event. Possible values include: "New priced round", "New share class", "Company name changed", "Stock split", "Valuation finalized", "Valuation amended", "Valuation deleted", "Certificate issuance", "Convertible conversion", "Warrant exercise", "Share class conversion", "Certificate transfer".
descriptionVARCHARA description of the portfolio event that is relevant to the event type.
security_labelVARCHARThe label of the security related to the portfolio event in instances of security-related events.
security_kindVARCHARThe kind of security related to the portfolio event in instances of security-related events.
firm_nameVARCHARName of the investment firm.
additional_detailsVARIANTStructured data about the portfolio event that is relevant to the event type. This data is provided as a JSON string.
event_uuidVARCHARUnique identifier for each newsfeed event
fund_idVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
corporation_idVARCHARUnique identifier of the associated corporation (company / portfolio). Primary key for corporations. Might be the same as core_legal_entities.entity_id, but is not guaranteed to be the same. The keys match if the corporation was imported into the legal entity framework as a part of the initial bulk import. It will be different if the corporation was created or updated after the initial import.
issuer_uuidVARCHARUnique identifier of the issuer from the general ledger (GL). Used as both a primary key and a foreign key.
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Portfolio Notes

Portfolio notes created by investment firm users about their portfolio companies. Includes both general notes and review notes with optional ratings. Grain: one row per note. Notes are scoped to organizations (investment firms) and their portfolio corporations. Filters applied: voided notes are excluded, deleted notes are excluded, and only notes with Organization-level sharing permission are included. Pagination sort: created_at DESC, corporation_name, _pk

ColumnTypeDescription
organization_nameVARCHARName of the investment firm/organization that owns the note
corporation_nameVARCHARName of the portfolio company the note is about. Uses fallback logic: portfolio corporation name → corporations table legal name.
note_type_nameVARCHARType of note - either "General Note" for regular notes or "Review Note" for periodic review notes with ratings
sharing_permission_nameVARCHARVisibility level of the note. In this table, all rows have the value "Organization" (only organization-wide notes are included). Possible values in the source system: "Personal" (author only), "Investment Team", "Organization" (all organization members).
note_bodyVARCHARPlain text content of the note
note_rich_bodyVARIANTRich text content of the note in JSON format
note_rich_body_textVARCHARPlain text extracted from the note_rich_body JSON. Concatenates all text blocks from the JSON structure with newlines. Null when note_rich_body is null.
ratingNUMBEROptional rating from 1-5 for review notes. Null for general notes or review notes without a rating.
author_nameVARCHARFull name of the user who created the note
author_emailVARCHAREmail address of the note author
created_atTIMESTAMP_NTZTimestamp when the note was created
modified_atTIMESTAMP_NTZTimestamp when the note was last modified
_pkVARCHARSurrogate primary key generated from note_id
note_idNUMBEROriginal note ID from insights_note table
firm_idVARCHARUUID of the investment firm/organization (aliased as firm_id per product standard)
corporation_idVARCHARUUID of the portfolio corporation (aliased as corporation_id per product standard)
entity_link_idVARCHARExternal entity link identifier linking this corporation to entities. Used for joining with other data. May be null if the corporation is not linked to an entity.
general_ledger_issuer_idVARCHARGeneral ledger issuer identifier for accounting system integration. Used for joining with investment and financial data. May be null if the corporation is not linked to a general ledger issuer.
author_idNUMBERUser ID of the note author
time_period_idNUMBERReference to time period for review notes. Null for general notes.
_loaded_atTIMESTAMP_NTZMost recent source data load timestamp. Calculated as maximum of note and portfolio corporation load times.
last_refreshed_atTIMESTAMP_LTZTimestamp of dbt model execution

Portfolio Valuations

Core (normalized) layer for finalized Portfolio Valuations created via Carta's Portfolio Valuations product. One row per finalized valuation candidate (status = 'FINAL'), joining InternalValuationProject → ValuationCandidate → Valuation → ValuationScenarioRelation → Scenario → Allocation, plus aggregated approach methodologies and LTM/NTM financial details. Pagination sort: target_name, valuation_date DESC, _pk

ColumnTypeDescription
valuation_dateDATEEffective date of the valuation (InternalValuationProject.valuation_date).
target_typeVARCHARCarta cap table platform used by the portfolio company — InternalValuationProject.target_kind. One of CORPORATION, CORPORATION_ENTITY_GROUP, or LLC_ISSUER.
target_nameVARCHARLegal name of the portfolio company being valued. Populated for CORPORATION (via corporation legal name), CORPORATION_ENTITY_GROUP (via entity group name), and LLC_ISSUER (via LLC entity legal name). NULL only when no matching record exists.
nameVARCHARValuation candidate name (e.g., "Q1 2026 Valuations") — ValuationCandidate.name.
target_valueNUMBERTotal portfolio company value after discounts — Allocation.allocated_company_value.
selected_methodologiesVARCHARComma-separated list of enterprise value calculation methods where Approach.is_used = TRUE (Backsolve, DCF, GPC, M&A, Post Money, Other Indication of Value).
dlom_methodVARCHARDiscount rate calculation method — Scenario.dlom_method. One of: FINNERTY, CUSTOM_DLOM, CHAFFE.
ltm_revenueNUMBERLast twelve months of revenue — FinancialDetail.revenue where financial_date < valuation_date.
ltm_ebitdaNUMBERLast twelve months of EBITDA — FinancialDetail.ebitda where financial_date < valuation_date.
ntm_revenueNUMBERNext twelve months of revenue — FinancialDetail.revenue where financial_date >= valuation_date.
ntm_ebitdaNUMBERNext twelve months of EBITDA — FinancialDetail.ebitda where financial_date >= valuation_date.
cash_and_cash_equivalentsNUMBERLast twelve months total cash and cash equivalents on the valuation financials.
non_convertible_debtNUMBERLast twelve months total non-convertible debt on the valuation financials.
allocation_methodologyVARCHARAllocation method used to calculate holdings value — Allocation.allocation_methodology. One of: WATERFALL, OPTION_PRICING_MODEL, COMMON_STOCK_EQUIVALENT, NIAGARA_WATERFALL, NIAGARA_OPM.
total_holdings_valueNUMBERTotal firm holdings value after discounts. Sum of HoldingV2.value across all holdings tied to the standard scenario.
finalized_atDATEDate when the valuation candidate was marked FINAL — ValuationCandidate.finalized_at.
_pkVARCHARSurrogate primary key generated from Valuation.id.
firm_idVARCHARFirm UUID. Translated from InternalValuationProject.owner_id via fund_admin_firm. Foreign key for row access policy.
target_idVARCHARCorporation UUID. Translated from InternalValuationProject.target_id when target_type = CORPORATION; for other target types (LLC_ISSUER, CORPORATION_ENTITY_GROUP) the upstream UUID passes through. Foreign key for row access policy.
valuation_idNUMBERUnique identifier of the valuation (Valuation.id).
valuation_candidate_idNUMBERUnique identifier of the FINAL valuation candidate (ValuationCandidate.id).
internal_valuation_project_idNUMBERUnique identifier of the parent InternalValuationProject.
scenario_idNUMBERUnique identifier of the Standard Valuation scenario tied to this valuation.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.
Row access policy currently resolves only target_type = 'CORPORATION'. Rows where target_type = 'LLC_ISSUER' or 'CORPORATION_ENTITY_GROUP' carry non-corporation UUIDs in target_id and are not yet visible to PE-firm users; coverage for these target types is planned.

Portfolio Valuations History

One row per finalized Portfolio Valuation (valuation candidate with status = 'FINAL'). Captures the full enterprise-value snapshot at finalization: methodologies, financials, allocation method, and total firm holdings value. Pagination sort: target_name, valuation_date DESC, _pk

ColumnTypeDescription
valuation_dateDATEValuation date (internal valuation project's valuation_date).
target_typeVARCHARCarta cap table platform used by the portfolio company. One of CORPORATION or LLC_ISSUER.
target_nameVARCHARLegal name of the portfolio company being valued. Populated for CORPORATION (via corporation legal name), CORPORATION_ENTITY_GROUP (via entity group name), and LLC_ISSUER (via LLC entity legal name). NULL only when no matching record exists.
nameVARCHARValuation name (e.g., "Q1 2026 Valuations") — the valuation candidate's name.
target_valueNUMBERTotal portfolio company value after discounts.
selected_methodologiesVARCHARComma-separated list of enterprise value calculation methods used (Backsolve, DCF, GPC, M&A, Post Money, Other Indication of Value).
dlom_methodVARCHARDiscount rate calculation method. One of: FINNERTY, CUSTOM_DLOM, CHAFFE.
ltm_revenueNUMBERLast twelve months of revenue.
ltm_ebitdaNUMBERLast twelve months of EBITDA.
ntm_revenueNUMBERNext twelve months of revenue.
ntm_ebitdaNUMBERNext twelve months of EBITDA.
cash_and_cash_equivalentsNUMBERLast twelve months total cash and cash equivalents on the valuation financials.
non_convertible_debtNUMBERLast twelve months total non-convertible debt on the valuation financials.
allocation_methodologyVARCHARAllocation method used to calculate holdings value. Accepted values: WATERFALL, OPTION_PRICING_MODEL, COMMON_STOCK_EQUIVALENT, NIAGARA_WATERFALL, NIAGARA_OPM.
total_holdings_valueNUMBERTotal firm holdings value after discounts.
finalized_atDATEDate when the valuation was finalized.
_pkVARCHARSurrogate primary key.
firm_idVARCHARFirm UUID. Used to enforce row access policy.
target_idVARCHARIdentifier of the portfolio company. Corporation UUID when target_type = CORPORATION; otherwise the upstream UUID (entity group or LLC interest issuer). Used to enforce row access policy.
valuation_idNUMBERUnique identifier of the valuation project.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.
Row access policy currently resolves only target_type = 'CORPORATION'. Rows where target_type = 'LLC_ISSUER' or 'CORPORATION_ENTITY_GROUP' carry non-corporation UUIDs in target_id and are not yet visible to PE-firm users; coverage for these target types is planned.

Prepayment Premium

One row per prepayment premium period: what a borrower pays to repay an advance early, and when that charge applies. Premiums step down over the life of an advance, so an advance carries several periods covering different stages. Only the period containing the prepayment date applies — that is what is_current identifies. amount_type says how the charge is derived: PrepaidPrincipalFraction is a percentage of the amount repaid, MOIC targets a multiple of invested capital, and Other carries free text in amount_terms that must be read by a human. Pagination sort: loan_name, advance_name, start_date, _pk

ColumnTypeDescription
loan_nameVARCHARLoan this record belongs to.
borrower_nameVARCHARBorrower on the loan — the party that would pay the premium.
advance_nameVARCHARAdvance the premium is scoped to.
start_dateDATEStart of the period this premium applies to. Nullable — no start date means the premium applies from the advance's own start.
end_dateDATELast date this premium period applies to. Null means the period runs open-ended, typically to the advance's maturity, not that the date is missing.
amount_typeVARCHARHow the premium is derived. Other carries free text in amount_terms.
amount_prepaid_principal_fractionNUMBERPremium as a decimal fraction of the principal repaid early. Populated when amount_type is PrepaidPrincipalFraction; null otherwise, by design.
amount_moicNUMBERTarget multiple of invested capital the premium brings the lender to. Populated when amount_type is MOIC; null otherwise, by design.
amount_termsVARCHARFree-text description of how the premium is calculated. Carries the terms when amount_type is Other, where there is no numeric field to read — this has to be interpreted by a human.
prepayments_acceptedVARCHARWhether the parent structure permits prepayment at all — Yes, No or OnlyInFull. Taken from the structure, so it is the same across every premium period on that facility.
lending_firm_nameVARCHARLending firm that services the loan.
maturity_dateDATEMaturity date of the advance, for judging how far into its life this period sits.
created_atTIMESTAMP_NTZTimestamp the premium period record was created.
updated_atTIMESTAMP_NTZTimestamp the premium period record was last updated.
is_currentBOOLEANConvenience boolean — true when today falls inside this period, meaning it is the one that would apply to a prepayment made now. An open-ended period (null end_date) counts as current once it has started. Evaluated when the data is refreshed, so it can lag the clock by up to one refresh.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
prepayment_premium_period_idVARCHARPrepayment premium period UUID.
advance_idVARCHARAdvance this premium period belongs to.
structure_idVARCHARStructure the advance sits under.
loan_idVARCHARLoan this premium period belongs to.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Simulation

One row per saved simulation, or "saved model" — a what-if scenario a user has saved against a loan in the modeling area of the app. Each row carries the simulation's name, the loan it belongs to, and when it was created and last updated. Use this to list the saved models available for a loan or across a portfolio. This table lists saved models only; it does not include the modeled changes or cash flows within each simulation.

ColumnTypeDescription
simulation_nameVARCHARUser-provided name for the saved simulation.
loan_nameVARCHARName of the loan this simulation was saved against.
borrower_nameVARCHARCached borrower company name for the loan.
created_atTIMESTAMP_NTZTimestamp when the simulation was saved.
updated_atTIMESTAMP_NTZTimestamp of the most recent update to the simulation.
_pkVARCHARSurrogate primary key derived from simulation_id.
lending_firm_idVARCHARLending firm UUID for the loan. Used to enforce row access policy.
simulation_idVARCHARUnique identifier for the simulation.
loan_idVARCHARLoan UUID the simulation belongs to.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Simulation Payment Obligation

One row per modeled payment obligation in a saved simulation — the simulation's payment schedule, frozen at the time it was saved. Use it to reprice a modeled roll-up: when a saved model is selected, swap the loan's base rows from Payment Obligation for these. Pagination sort: loan_name, simulation_name, due_date, _pk

ColumnTypeDescription
simulation_nameVARCHARName of the saved simulation.
loan_nameVARCHARName of the loan the simulation is run against.
borrower_nameVARCHARBorrower on the loan.
due_dateDATEDate the modeled payment is due.
typeVARCHARPayment obligation type, for example Interest, Principal, or Fee.
amountNUMBERModeled obligation amount.
amount_currencyVARCHARISO currency of amount.
is_pikBOOLEANWhether the obligation is paid in kind.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
simulation_idVARCHARSimulation UUID the obligation belongs to. Joins to Simulation.
loan_idVARCHARLoan UUID the obligation belongs to.
advance_idVARCHARAdvance UUID the obligation is scoped to, if any.
tranche_idVARCHARTranche UUID the obligation is scoped to, if any.
parent_obligation_idVARCHARParent obligation UUID for lender-distribution child rows, if any.
simulation_payment_obligation_idVARCHARSimulation payment obligation UUID.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Statement Of Ops

This model aggregates statement of operations data, including fund and partner details, cost breakdowns, capital contributions, and unrealized gains/losses. Pagination sort: fund_name

ColumnTypeDescription
fund_nameVARCHARName of the investment fund
cashNUMBERCash balance across all bank and cash-equivalent accounts for the fund as of the reporting period.
cost_management_feesNUMBERFees paid to the fund manager for managing the investment fund.
cost_all_other_expensesNUMBERAggregated amount of miscellaneous fund-related expenses not categorized elsewhere.
cost_tax_prep_feesNUMBERFees related to preparing and filing fund-related tax returns.
cost_fa_feesNUMBERFees paid to the fund administrator for operational services.
cost_legal_feesNUMBERFees related to fund operations, compliance, and documentation.
cost_filing_feesNUMBERFees related to submitting regulatory or legal filings.
cost_other_professional_feesNUMBERFees paid to other professional services, including consultants and third-party advisors.
cost_organization_costsNUMBERExpenses related to the initial formation and setup of the fund.
cost_insurance_expenseNUMBERPremiums paid for insurance policies covering fund assets or operations.
cost_travelNUMBERBusiness travel expenses incurred by fund staff or management.
cost_syndication_costsNUMBERCosts related to presenting investment opportunities to co-investors or limited partners.
cost_software_and_technologyNUMBERCosts related to technology tools and software used in fund operations.
cost_dues_and_subscriptionsNUMBERMembership dues or subscriptions relevant to fund management.
cost_mealNUMBERMeal and entertainment expenses related to business activities.
cost_market_expensesNUMBERExpenses associated with marketing, investor relations, and promotional activities.
cost_accounting_expenseNUMBERProfessional accounting or bookkeeping service fees.
cost_payroll_salaryNUMBERWages and compensation paid to fund employees or contractors.
cost_eventsNUMBERCosts for hosting or attending business-related events or conferences.
cost_auditNUMBERAudit-related fees paid to accounting firms for financial statement reviews.
capital_contributedNUMBERTotal capital that has been contributed by investors to the fund.
capital_receivableNUMBERCommitted capital from investors not yet received by the fund.
capital_distributedNUMBERCapital that has been returned or distributed back to investors.
unrealized_gain_lossNUMBERChange in fair value of investments that have not yet been sold or realized.
fund_idVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Structure

The facility level of a loan, sitting between the loan and its advances. One row per structure. A loan may carry several structures — a term loan alongside a revolver, for example — each with its own closing date, draw period, currency, and prepayment terms. committed_amount is the net commitment across lenders after transfers, counting only commitment periods active today. drawn_amount is cumulative gross draws rather than the balance currently drawn: a revolver is drawn and redrawn, so its cumulative draws legitimately exceed its commitment. No undrawn amount is published for that reason — committed minus drawn is only meaningful for a facility that draws once, and is misleading for a revolver. For the balance owed today, use outstanding_principal. Pagination sort: loan_name, structure_name, _pk

ColumnTypeDescription
structure_nameVARCHARName of the facility.
loan_nameVARCHARLoan this facility belongs to.
borrower_nameVARCHARBorrower company name.
structure_typeVARCHARFacility type. Possible values: TermLoan, DelayedDrawTermLoan, Revolver.
closing_dateDATEDate the facility closed. NULL if not yet closed.
committed_amountNUMBERNet commitment across lenders after transfers, counting only commitment periods active today. 0 for a matured facility whose commitment periods have all ended.
drawn_amountNUMBERCumulative gross draws — the sum of tranche contributions on advances that have reached their effective date. Not the balance currently drawn: a revolver redraws, so this can exceed committed_amount. PIK capitalization adds to it as well. For the balance owed today, use outstanding_principal.
outstanding_principalNUMBERPrincipal owed today, from the borrower-level payment obligations. NULL when none found.
currency_codeVARCHARISO currency code of the facility.
advance_countNUMBERNumber of advances under this facility, drawn or not.
tranche_countNUMBERNumber of tranches across drawn advances.
lender_countNUMBERNumber of lenders with a commitment today.
prepayments_acceptedVARCHARWhether prepayment is allowed. Possible values: Yes, No, OnlyInFull.
late_fee_fractionNUMBERLate fee rate, as a decimal fraction.
late_fee_grace_period_daysNUMBERDays after the due date before a late fee applies.
payment_float_daysNUMBERDays allowed for payment to clear.
business_day_adjustmentVARCHARHow a due date falling on a non-business day is moved.
business_day_calendarVARCHARHoliday calendar used (e.g. USBank). NULL when none is set.
interest_balance_phase_of_dayVARCHARWhether interest accrues on the opening or closing balance.
payment_application_orderVARCHAROrder a payment is applied across components (e.g. "Fees, Interest, Principal").
lending_firm_nameVARCHARLending firm that services the loan.
draw_period_end_dateDATELast day a draw may be made. NULL when no draw period is set.
created_atTIMESTAMP_NTZTimestamp when the structure was created.
updated_atTIMESTAMP_NTZTimestamp of the most recent update to the structure.
is_effective_date_includedBOOLEANWhether the effective date counts as an accrual day.
prepayment_principal_inversedBOOLEANWhether prepaid principal is applied in reverse order.
is_activeBOOLEANWhether the parent loan is currently active.
_pkVARCHARSurrogate primary key derived from the structure ID.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
structure_idVARCHARUnique identifier for the loan structure.
loan_idVARCHARLoan UUID this facility belongs to.
borrower_idVARCHARBorrower company UUID.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Summary Cap Table

Contains a summary cap table for each portco sourced from Carta's data warehouse materialized views. A summary cap table has 1 row per security class and contains the outstanding quantity, fully diluted quantity, authorized shares, cash raised, and ownership percentages. As of date is the date when the information was last updated by Carta in the data warehouse. Pagination sort: legal_name, security_class_name

ColumnTypeDescription
legal_nameVARCHARLegal name of the company
security_class_nameVARCHARName of the shareclass, note block, warrant block, or option pool
as_of_dateTIMESTAMP_NTZThe date when the cap table information was last loaded from Carta's data warehouse
security_class_typeVARCHARType of security class, e.g. warrant_block, option_plan, note_block, share_class
security_class_type_detailedVARCHARDetailed type of security class, e.g. Common warrant, Option plan, Convertible debt, Common, Preferred, SAFE, Preferred warrant, Convertible security
as_converted_shareclass_nameVARCHARThe name of the share class that the security will ultimately convert into upon exercise/settlement
as_converted_sharclass_stock_typeVARCHARThe stock type of the share class that the security will ultimately convert into upon exercise/settlement. e.g. Preferred or Common
outstanding_sharesNUMBERThe number of shares that are outstanding. Will only be non-zero for share classes
outstanding_warrantsNUMBERThe number of warrants that are outstanding. Will only be non-zero for warrant blocks
outstanding_equity_award_derivativesNUMBERThe number of equity award derivatives that are outstanding. Will only be non-zero for option pools
outstanding_committed_rsasNUMBERThe number of RSAs approved by the board but not yet purchased by the recipient
plan_sizeNUMBERThe total number of shares available under the plan. Will only be non-zero for option pools
shares_available_under_planNUMBERThe number of shares available under the plan. Will only be non-zero for option pools
fully_diluted_quantityNUMBER(24,10)The total number of securities on a fully diluted basis including all outstanding shares, warrants, options, and convertible securities
authorized_sharesNUMBERThe number of shares that have been authorized by the board of directors. Will only be non-zero for share classes and option plans
fully_diluted_ownershipNUMBERThe ownership percentage on a fully diluted basis, calculated as the fully diluted quantity divided by the total fully diluted shares for the corporation
principalOBJECTThe total principal amount in a noteblock as an OBJECT type with currency codes as keys and amounts as values. Example format - USD key with numeric value
interestOBJECTThe total interest amount in a noteblock as an OBJECT type with currency codes as keys and amounts as values. Example format - USD key with numeric value
cash_raisedOBJECTThe total amount of cash raised by the security class as an OBJECT type with currency codes as keys and amounts as values. Example format - USD key with numeric value
note_block_prefixVARCHARPrefix identifier for note blocks
warrant_block_prefixVARCHARPrefix identifier for warrant blocks
conversion_ratioNUMBERThe conversion ratio of a shareclass, warrant, or option plan showing how many common shares each security converts into
weighted_average_exercise_priceNUMBERWeighted-average exercise price across the grants/warrants in the security class, computed as SUM(exercise_price * quantity) / SUM(quantity). Only populated for option_plan and warrant_block security class types.
original_issue_priceNUMBEROriginal Issue Price (OIP). Generally, this is the price paid by an investor when participating in a round. Without any other liquidation preferences, this is the amount that the investor would receive before common. If the preferred shareclass would convert into common if it would receive more money doing so. For warrants, this applies to the OIP of the as converted share class.
conversion_priceNUMBERConversion Price. OIP / conversion_price = number of common shares the shareholder would receive if the stock converted to common. For example if OIP = 1 and conversion_price = .5, the shareholder would receive 2 shares of common. This calculation also affects the fully diluted shares of a company. This is overridden by conversion_ratio if it is present.
preference_capNUMBERShareclass Preference Cap. Waterfall input. OIP * preference_cap is the amount of liquidation preference the shareholder will participate alongside common after the OIP * Multiplier has been paid out and before converting into common.
multiplierNUMBERShareclass Multiplier. This is a waterfall input and only used on preferred stock types. In the event of a liquidation, the holder of the stock will receive OIP * Multiplier based on the seniority before common starts to participate.
seniorityNUMBERSeniority is the order in which the preferred shareclasses are paid out. By default (seniority_is_inverted = false), shareclasses with a seniority of 1 are paid out first. If seniority_is_inverted = true, shareclasses with a seniority of 1 are paid out last.
dividend_typeVARCHARDividend Type. Can either be Cumulative or Non-Cumulative. If a dividend is cumulative it means that dividends accrue over time. In the event of a liquidation, the unpaid dividends are added to the investor's liquidation preference before paying out common. Non-cumulative dividends don't accrue and just protect the investors from the company trying to declare a dividend on just the common shareclass.
dividend_couponNUMBERAnnual dividend percentage of the dividend rights (7.00 = 7%). The percentage is multiplied with the OIP to arrive at a dollar value.
dividend_accrualVARCHARDividend Accrual is a time period such as daily or annually which defines when dividends are accrued. This has no effect on the dividend_coupon which is annual.
interest_compounding_periodVARCHARInterest Compounding Period is how often the dividend is compounded.
earliest_issue_dateDATEEarliest (minimum) issue date across the securities in the security class. Populated for share_class, option_plan, and warrant_block security class types; NULL for note_block.
first_board_approval_dateDATEDate when the board first approved this option plan. Only populated for option_plan security class types
termination_dateDATEDate when this option plan was terminated. Only populated for option_plan security class types
participating_preferredBOOLEANShareclass Participating Preferred. Waterfall input. If true, the shareholder will receive the OIP * Multiplier and participating_preferred alongside common after the preferences have been paid. The participation is limited by preference_cap.
is_compoundingBOOLEANIs Compounding indicator. When true, dividend interest is calculated by using the OIP + cumulative accrued dividends to date.
_pkVARCHARUnique identifier which is a surrogate key of corporation_uuid, as_of_date, security_class_id
corporation_idVARCHARUnique identifier of the corporation
security_class_idVARCHARUnique identifier of the security class. Is prefixed with SC- for share classes, WC- for warrant blocks, OP- for option pools, and NB- for note blocks
as_converted_shareclass_idNUMBERThe share class that the security will ultimately convert into upon exercise/settlement
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Task

One row per task — a unit of work raised against a loan or a firm. Tasks come from a generator that holds the rule: the triggering event, the action wanted, and how often it repeats. The generator carries the loan and counterparties, while the task carries the due date, who handled it, and when it completed. Most generators are loan-scoped, but a minority are company-wide templates with no loan attached; is_firm_level tells the two apart, and those rows carry a null loan_id and loan_name by design. completed_at is the only completion signal, so status, is_completed, and is_overdue are all derived from it. Pagination sort: loan_name, due_date, _pk

ColumnTypeDescription
task_nameVARCHARName of the generator that raised this task. Nullable — identify a row by task_id rather than by name.
loan_nameVARCHARLoan the task belongs to. Null on firm-level tasks.
borrower_nameVARCHARBorrower on the loan. Null on firm-level tasks.
assigned_to_company_nameVARCHARCompany the task is assigned to.
due_dateDATEDate the task is due.
statusVARCHARCompleted, Overdue, or Open, derived from completed_at and due_date. Overdue is time-relative and evaluated at refresh, so it can lag the clock — see is_overdue.
event_typeVARCHAREvent that triggers the generator to raise a task.
action_typeVARCHARAction the task asks for.
descriptionVARCHARFree-text description carried on the generator.
recurrenceVARCHARRaw RFC-5545 recurrence rule. Null on event-driven generators, which is most of them. Kept alongside the parsed frequency because the rule can carry qualifiers the parsed column does not cover.
recurrence_frequencyVARCHARFrequency parsed out of recurrence — DAILY, WEEKLY, MONTHLY, or YEARLY. Null when recurrence is null.
submission_window_daysNUMBERDays allowed to submit after the task is raised.
assigned_by_company_nameVARCHARCompany that raised the task.
lending_firm_nameVARCHARLending firm that services the loan or owns the firm-level task.
completed_atTIMESTAMP_NTZTimestamp the task completed. Null while open. The only completion signal.
recurrence_period_start_dateDATEFirst day of the period this occurrence covers.
recurrence_period_end_dateDATELast day of the period this occurrence covers.
created_atTIMESTAMP_NTZTimestamp the task record was created.
updated_atTIMESTAMP_NTZTimestamp the task record was last updated.
is_completedBOOLEANConvenience boolean — true when completed_at is populated.
is_overdueBOOLEANTrue when the task is open and past due. Evaluated when the data is refreshed, so compute due_date < CURRENT_DATE() AND NOT is_completed at query time if you need it exact.
is_firm_levelBOOLEANTrue when the task has no loan and is scoped to the firm through the assigning company. These rows have a null loan_id and loan_name by design.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID, resolved from the loan where there is one and otherwise from the assigning company. Used to enforce row access policy.
task_idVARCHARTask UUID.
task_generator_idVARCHARUUID of the generator that raised this task and holds its rule.
loan_idVARCHARLoan UUID. Null on firm-level tasks.
assigned_by_company_idVARCHARCompany UUID that raised the task.
assigned_to_company_idVARCHARCompany UUID the task is assigned to.
handled_by_user_idVARCHARUUID of the user who handled the task.
form_submitted_by_user_idVARCHARUUID of the user who submitted the associated form.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Temporal Deal Irr

This model aggregates temporal deal IRR metrics for investments by fund. Looks at deal_irr on the asset level, not the portfolio company level. Pagination sort: fund_name, issuer_name, performance_quarter_end_date DESC

ColumnTypeDescription
fund_nameVARCHARName of the investment fund.
issuer_nameVARCHARName of the issuer
performance_quarter_end_dateDATEEnd date of the performance quarter
firm_nameVARCHARName of the investment firm.
issuer_entity_typeVARCHAREntity type of the issuer
issuer_domicile_countryVARCHARDomicile country of the issuer
earliest_investment_dateDATEEarliest investment date for the asset
remaining_valueNUMBERRemaining value of the investment
cost_basisNUMBERCost basis of the investment
total_costNUMBERTotal cost of the investment
deal_irrFLOATDeal IRR value
pkVARCHARUnique identifier composed of fund_uuid, issuer_id, and performance_quarter_end_date
fund_uuidVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
fund_idVARCHARUnique identifier for the fund. Used as a foreign key.
issuer_idVARCHARUnique identifier of the issuer from the general ledger (GL). Used as both a primary key and a foreign key.
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Temporal Fund Cohort Benchmarks

Time-series benchmarks tracking fund performance metrics (DPI, TVPI, Net IRR, MOIC, LP DPI, LP TVPI, Net LP IRR) by cohort over time. Fund-level metrics are sourced from fund_performance_metrics_history and benchmark percentiles come from the verified benchmark models (dpi, tvpi, net_irr, moic, lp_dpi, lp_tvpi, net_lp_irr). Pagination sort: fund_name, performance_quarter_start_date DESC

ColumnTypeDescription
fund_nameVARCHARThe name of the fund
performance_quarter_start_dateDATEQuarter-start date for which metrics are calculated
vintage_yearNUMBERFund's vintage year for cohort grouping
fund_aum_bucketVARCHARFund size category for peer grouping
entity_type_nameVARCHARLegal structure classification of the fund entity (e.g., Fund, SPV, ...).
net_irrFLOATNet internal rate of return (IRR) for the fund
moicFLOATMultiple on invested capital (MOIC). Calculated as total value / total cost
tvpiFLOATTotal value to paid-in (TVPI) capital ratio
dpiFLOATDistributions to paid-in (DPI) capital ratio
lp_dpiFLOATLP-only distributions to paid-in (DPI) capital ratio
lp_tvpiFLOATLP-only total value to paid-in (TVPI) capital ratio
net_lp_irrFLOATNet internal rate of return (IRR) for the fund's LPs
fund_countNUMBERNumber of funds in the benchmark cohort
dpi_5FLOAT5th percentile DPI in cohort
dpi_10FLOAT10th percentile DPI in cohort
dpi_25FLOAT25th percentile DPI in cohort
dpi_50FLOATMedian DPI in cohort
dpi_75FLOAT75th percentile DPI in cohort
dpi_90FLOAT90th percentile DPI in cohort
dpi_95FLOAT95th percentile DPI in cohort
tvpi_5FLOAT5th percentile TVPI in cohort
tvpi_10FLOAT10th percentile TVPI in cohort
tvpi_25FLOAT25th percentile TVPI in cohort
tvpi_50FLOATMedian TVPI in cohort
tvpi_75FLOAT75th percentile TVPI in cohort
tvpi_90FLOAT90th percentile TVPI in cohort
tvpi_95FLOAT95th percentile TVPI in cohort
net_irr_5thFLOAT5th percentile net IRR in cohort
net_irr_10thFLOAT10th percentile net IRR in cohort
net_irr_25thFLOAT25th percentile net IRR in cohort
net_irr_50thFLOATMedian net IRR in cohort
net_irr_75thFLOAT75th percentile net IRR in cohort
net_irr_90thFLOAT90th percentile net IRR in cohort
net_irr_95thFLOAT95th percentile net IRR in cohort
moic_5FLOAT5th percentile MOIC in cohort
moic_10FLOAT10th percentile MOIC in cohort
moic_25FLOAT25th percentile MOIC in cohort
moic_50FLOATMedian MOIC in cohort
moic_75FLOAT75th percentile MOIC in cohort
moic_90FLOAT90th percentile MOIC in cohort
moic_95FLOAT95th percentile MOIC in cohort
lp_dpi_5FLOAT5th percentile LP DPI in cohort
lp_dpi_10FLOAT10th percentile LP DPI in cohort
lp_dpi_25FLOAT25th percentile LP DPI in cohort
lp_dpi_50FLOATMedian LP DPI in cohort
lp_dpi_75FLOAT75th percentile LP DPI in cohort
lp_dpi_90FLOAT90th percentile LP DPI in cohort
lp_dpi_95FLOAT95th percentile LP DPI in cohort
lp_tvpi_5FLOAT5th percentile LP TVPI in cohort
lp_tvpi_10FLOAT10th percentile LP TVPI in cohort
lp_tvpi_25FLOAT25th percentile LP TVPI in cohort
lp_tvpi_50FLOATMedian LP TVPI in cohort
lp_tvpi_75FLOAT75th percentile LP TVPI in cohort
lp_tvpi_90FLOAT90th percentile LP TVPI in cohort
lp_tvpi_95FLOAT95th percentile LP TVPI in cohort
net_lp_irr_5thFLOAT5th percentile net LP IRR in cohort
net_lp_irr_10thFLOAT10th percentile net LP IRR in cohort
net_lp_irr_25thFLOAT25th percentile net LP IRR in cohort
net_lp_irr_50thFLOATMedian net LP IRR in cohort
net_lp_irr_75thFLOAT75th percentile net LP IRR in cohort
net_lp_irr_90thFLOAT90th percentile net LP IRR in cohort
net_lp_irr_95thFLOAT95th percentile net LP IRR in cohort
_perf_pkVARCHARPrimary key for performance metrics table
fund_uuidVARCHARUnique identifier for the fund. Used as both a primary key and a foreign key.
firm_idVARCHARUnique identifier for the management firm. Used as both a primary key and a foreign key.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution

Tranche

One row per tranche: a priority-ordered slice of an advance, held by one or more lenders. Tranches are transfer-versioned — created_by_transfer_id and closed_by_transfer_id record the assignment or participation that opened and closed a slice, and start_date / end_date bound the period it was live. Both are NULL on most tranches, since only those touched by a transfer carry them, so a NULL end_date means the tranche is open rather than that data is missing. committed_amount is the sum of lender contributions. outstanding_principal is the balance owed across the tranche's lenders today, from the lender-level obligations, and is NULL where no obligation has been raised yet. Pagination sort: loan_name, advance_name, priority, _pk

ColumnTypeDescription
tranche_nameVARCHARTranche name (e.g. "Tranche A").
advance_nameVARCHARAdvance this tranche slices.
loan_nameVARCHARLoan the advance belongs to.
borrower_nameVARCHARBorrower company name.
priorityNUMBERRepayment priority within the advance. Lower is more senior.
committed_amountNUMBERSum of lender contributions to this tranche.
outstanding_principalNUMBERBalance owed across this tranche's lenders today. NULL if no obligation has been raised yet.
currency_codeVARCHARISO currency code, or NULL where contributions to this tranche are in mixed currencies.
lender_countNUMBERNumber of distinct lenders contributing to this tranche.
lending_firm_nameVARCHARLending firm that services the loan.
start_dateDATEDate the tranche became live. NULL unless a transfer set it.
end_dateDATEDate the tranche closed. NULL means open, not missing.
earliest_contributed_atTIMESTAMP_NTZTimestamp of the first lender contribution.
created_atTIMESTAMP_NTZTimestamp the tranche was created.
updated_atTIMESTAMP_NTZTimestamp the tranche was last updated.
is_openBOOLEANTrue when end_date IS NULL.
was_opened_by_transferBOOLEANWhether an assignment or participation created this tranche.
was_closed_by_transferBOOLEANWhether an assignment or participation closed this tranche.
_pkVARCHARSurrogate primary key derived from the tranche ID.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
tranche_idVARCHARUnique identifier for the tranche.
advance_idVARCHARAdvance UUID this tranche belongs to.
structure_idVARCHARUUID of the structure the advance sits under.
loan_idVARCHARLoan UUID the tranche belongs to.
created_by_transfer_idVARCHARTransfer that opened this tranche, if any.
closed_by_transfer_idVARCHARTransfer that closed this tranche, if any.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Tranche Contribution

One row per lender position in a tranche, as of today. Shows each lender's committed and disbursed amount and outstanding principal in a given tranche, along with the parent loan, borrower, and key dates. Positions reflect both original commitments and any subsequent transfers between lenders. Pagination sort: loan_name, lender_name, effective_date DESC, _pk

ColumnTypeDescription
lender_nameVARCHARName of the lender.
tranche_nameVARCHARName of the tranche.
loan_nameVARCHARParent loan name.
borrower_nameVARCHARCached borrower name from the parent loan.
committed_amountNUMBEREffective committed amount for this (tranche, lender) as of as_of_date. Includes original tranche contribution plus net transfer allocations.
disbursed_amountNUMBERcommitted_amount once the parent advance has gone effective; otherwise 0.
outstanding_principalNUMBERPer-lender outstanding principal from the latest child payment obligation. NULL if no period-bearing obligation exists yet.
currency_codeVARCHARCurrency from the original tranche contribution. NULL for transfer-only lenders.
lending_firm_nameVARCHARCached lending firm (fund manager) name from the parent loan. Distinct from lender_name.
lead_lender_nameVARCHARCached lead lender name from the parent loan.
agent_nameVARCHARCached agent name from the parent loan.
created_atTIMESTAMP_NTZEarliest tranche-contribution timestamp for this (tranche, lender). NULL for transfer-only lenders.
updated_atTIMESTAMP_NTZLatest tranche-contribution timestamp for this (tranche, lender). NULL for transfer-only lenders.
effective_dateDATEEffective date of the parent advance.
maturity_dateDATEMaturity date of the parent advance.
as_of_dateDATEDate this position snapshot represents. Currently always today's date.
is_activeBOOLEANWhether the parent loan is currently active.
_pkVARCHARSurrogate primary key generated from (tranche_id, lender_id, as_of_date).
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
lender_idVARCHARLender company UUID.
tranche_idVARCHARParent tranche UUID.
advance_idVARCHARParent advance UUID.
structure_idVARCHARParent loan structure UUID.
loan_idVARCHARParent loan UUID.
borrower_idVARCHARBorrower company UUID.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.

Transfer

One row per transfer: a lender moving part or all of their position to another lender. An Assignment moves the position outright; a Participation sells the economics while the original lender stays on the facility. Both reshape who is owed what. effective_date is what matters, not created_at — a transfer agreed today may take effect later, and only effective transfers are reflected in Lender Position. allocated_amount and allocation_types summarise the detail in Transfer Allocation. Pagination sort: loan_name, effective_date DESC, _pk

ColumnTypeDescription
loan_nameVARCHARLoan this record belongs to.
borrower_nameVARCHARBorrower on the loan.
transferred_from_nameVARCHARCompany the position moved from.
transferred_to_nameVARCHARCompany the position moved to.
effective_dateDATEDate the transfer takes effect. Drives is_effective and inclusion in lender positions.
transfer_typeVARCHARAssignment moves the position outright; Participation sells the economics while the original lender stays on the facility.
allocated_amountNUMBERSum of allocation amounts, in allocated_amount_currency. Null when the transfer's allocations span more than one currency, since a cross-currency total would be meaningless; 0 when the transfer has no allocations.
allocated_amount_currencyVARCHARCurrency of allocated_amount. Null when the transfer has no allocations, or when they span more than one currency.
allocation_countNUMBERNumber of allocation lines on this transfer. 0 when none have been recorded. Use this rather than allocated_amount to tell whether a transfer has detail, since the amount is also 0 or null in the no-allocation and mixed-currency cases.
allocation_typesVARCHARComma-separated distinct components this transfer moved, e.g. "Commitment, Principal". Null when the transfer has no allocations. The per-line detail is in Transfer Allocation.
lending_firm_nameVARCHARLending firm that services the loan.
created_atTIMESTAMP_NTZTimestamp the transfer record was created. Not the date it takes effect — see effective_date.
updated_atTIMESTAMP_NTZTimestamp the transfer record was last updated.
is_pro_rata_pik_includedBOOLEANWhether accrued PIK moves with the position pro rata as part of this transfer, rather than staying with the transferring lender.
is_effectiveBOOLEANConvenience boolean — true when effective_date has been reached, meaning the transfer is reflected in current lender positions. Evaluated when the data is refreshed, so compute effective_date <= CURRENT_DATE() at query time if you need it exact.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
transfer_idVARCHARTransfer UUID.
loan_idVARCHARLoan this transfer belongs to.
transferred_from_idVARCHARCompany id the position moved from.
transferred_to_idVARCHARCompany id the position moved to.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Transfer Allocation

One row per allocation line on a transfer: which component of a position moved, and how much. allocation_type names the component and also determines which id is populated — Commitment allocations carry structure_id, Principal and the PIK types carry tranche_id, Fee allocations carry fee_id. A null on the others is the normal shape for that type, not missing data. Amounts are unsigned. Direction comes from the parent transfer: the amount leaves transferred_from_name and arrives at transferred_to_name. Pagination sort: loan_name, effective_date DESC, _pk

ColumnTypeDescription
loan_nameVARCHARLoan this record belongs to.
borrower_nameVARCHARBorrower on the loan.
transferred_from_nameVARCHARCompany the position moved from, taken from the parent transfer.
transferred_to_nameVARCHARCompany the position moved to, taken from the parent transfer.
effective_dateDATEEffective date of the parent transfer.
allocation_typeVARCHARWhich component of the position moved.
amountNUMBERUnsigned amount moved. Direction comes from the parent transfer.
amount_currencyVARCHARCurrency of amount. Allocation-scoped, not transfer-scoped.
transfer_typeVARCHARType of the parent transfer — Assignment or Participation. Repeated on every allocation line of that transfer.
structure_nameVARCHARStructure this allocation moved, resolved from structure_id. Populated on Commitment allocations; null on the others by design.
tranche_nameVARCHARTranche this allocation moved, resolved from tranche_id. Populated on Principal and the PIK allocation types; null on the others by design.
fee_nameVARCHARFee this allocation moved, resolved from fee_id. Populated on Fee allocations; null on the others by design.
lending_firm_nameVARCHARLending firm that services the loan.
created_atTIMESTAMP_NTZTimestamp the allocation record was created.
updated_atTIMESTAMP_NTZTimestamp the allocation record was last updated.
is_effectiveBOOLEANConvenience boolean — true when the parent transfer's effective_date has been reached. Evaluated when the data is refreshed, so compute effective_date <= CURRENT_DATE() at query time if you need it exact.
_pkVARCHARSurrogate primary key for the row.
lending_firm_idVARCHARLending firm UUID. Used to enforce row access policy.
transfer_allocation_idVARCHARTransfer allocation UUID.
transfer_idVARCHARParent transfer.
loan_idVARCHARLoan this allocation belongs to.
structure_idVARCHARStructure this allocation moved. Populated on Commitment allocations; null otherwise.
tranche_idVARCHARTranche this allocation moved. Populated on Principal and PIK allocations; null otherwise.
fee_idVARCHARFee this allocation moved. Populated on Fee allocations; null otherwise.
transferred_from_idVARCHARCompany id the position moved from, taken from the parent transfer.
transferred_to_idVARCHARCompany id the position moved to, taken from the parent transfer.
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed.

Waterfall Modeling

Core (normalized) layer for saved waterfalls. One row per PortfolioValuationMark. Two source types are surfaced: (1) WATERFALL_EXECUTION — legacy single-execution marks; (2) NIAGARA_V4_WATERFALL_EXECUTION — modern multi-execution marks fanned out via execution_graph_node. Four target_type variants are handled: CORPORATION, CORPORATION_ENTITY_GROUP, LLC_ISSUER, and LLC_ACCOUNT (multi-entity LLC waterfalls). Pagination sort: target_name, exit_date DESC, _pk

ColumnTypeDescription
exit_dateDATEWaterfall exit date — PortfolioValuationMark.effective_date.
target_typeVARCHARPortfolioValuationMark.target_kind. One of CORPORATION, CORPORATION_ENTITY_GROUP, LLC_ISSUER, or LLC_ACCOUNT (the latter for multi-entity LLC waterfalls saved against an LLC account UUID).
target_nameVARCHARLegal name of the portfolio company being valued. Resolved by target_type — CORPORATION from corporation legal name; CORPORATION_ENTITY_GROUP from entity group name; LLC_ISSUER from LLC entity legal name; LLC_ACCOUNT from LLC account name (may include a firm-specific suffix such as "(EQT Paper Company)"). NULL only when no matching record exists.
exit_valueNUMBERWaterfall exit value — PortfolioValuationMark.target_value.
total_holdings_valueNUMBERTotal firm holdings value across all administered-fund allocations attached to this mark. 0 when the firm's administered funds receive no allocation in this scenario (e.g. exit value below the liquidation preference stack).
_pkVARCHARSurrogate primary key generated from PortfolioValuationMark.id.
firm_idVARCHARFirm UUID. Translated from PortfolioValuationMark.owner_id via fund_admin_firm. Foreign key for row access policy.
target_idVARCHARIdentifier of the portfolio company. Corporation UUID when target_type = CORPORATION; otherwise the upstream UUID (entity group, LLC interest issuer, or LLC account). Foreign key for row access policy.
portfolio_valuation_mark_idNUMBERUnique identifier of the PortfolioValuationMark row.
waterfall_idVARCHARPortfolioValuationMark.source_id. For WATERFALL_EXECUTION this is a scenario_waterfall_execution.id; for NIAGARA_V4_WATERFALL_EXECUTION it is an execution_graph.id.
waterfall_source_typeVARCHARPortfolioValuationMark.source_type. One of: WATERFALL_EXECUTION (legacy single-execution marks) or NIAGARA_V4_WATERFALL_EXECUTION (modern multi-execution marks).
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.
Row access policy currently resolves only target_type = 'CORPORATION'. Rows where target_type = 'LLC_ISSUER', 'CORPORATION_ENTITY_GROUP', or 'LLC_ACCOUNT' carry non-corporation UUIDs in target_id and are not yet visible to PE-firm users; coverage for these target types is planned.

Waterfall Modeling History

One row per saved Waterfall Modeling mark (PortfolioValuationMark). Captures the exit-scenario snapshot at the time the waterfall was saved: target, exit value, and total firm holdings value attached to the mark. Pagination sort: target_name, exit_date DESC, _pk

ColumnTypeDescription
exit_dateDATEWaterfall exit date (mark's effective_date).
target_typeVARCHARMark's target_kind. One of CORPORATION, CORPORATION_ENTITY_GROUP, LLC_ISSUER, or LLC_ACCOUNT (the latter for multi-entity LLC waterfalls).
target_nameVARCHARLegal name of the portfolio company being valued. Resolved by target_type — CORPORATION from corporation legal name; CORPORATION_ENTITY_GROUP from entity group name; LLC_ISSUER from LLC entity legal name; LLC_ACCOUNT from LLC account name (may include a firm-specific suffix such as "(EQT Paper Company)"). NULL only when no matching record exists.
exit_valueNUMBERWaterfall exit value.
total_holdings_valueNUMBERTotal firm holdings value attached to this mark. 0 when the firm's administered funds receive no allocation in this scenario (e.g. when the exit value is below the liquidation preference stack so subordinate funds get zeroed out).
_pkVARCHARSurrogate primary key.
firm_idVARCHARFirm UUID. Used to enforce row access policy.
target_idVARCHARIdentifier of the portfolio company. Corporation UUID when target_type = CORPORATION; otherwise the upstream UUID (entity group, LLC interest issuer, or LLC account). Used to enforce row access policy.
waterfall_idVARCHARMark's source_id (scenario waterfall execution id for legacy WATERFALL_EXECUTION marks; execution graph id for NIAGARA_V4_WATERFALL_EXECUTION marks).
last_refreshed_atTIMESTAMP_LTZTimestamp indicating when this data was last refreshed during dbt execution.
Row access policy currently resolves only target_type = 'CORPORATION'. Rows where target_type = 'LLC_ISSUER', 'CORPORATION_ENTITY_GROUP', or 'LLC_ACCOUNT' (multi-entity LLC waterfalls) carry non-corporation UUIDs in target_id and are not yet visible to PE-firm users; coverage for these target types is planned.