Private Markets Best Practices V17 R2.36+

Private Markets Best Practices V17 R2.36+

Overview

This document applies to Eagle Accounting V17 R2.36 and above. Additional version-dependent functionality is noted with the initial release(s) it became available.

There is a large and growing category of assets that are traded in Private Markets. This includes Limited Partnerships (LPs), Private Equity (PE), Real Estate (RE)/Land Assets, and Infrastructure, among other Alternatives (Alts). These are collectively referred to as Private Markets in this document. The same functionality can also be used to model Private Debt/Private Credit, but coupons must be managed using miscellaneous income transactions.

Eagle Accounting has full support for all Private Markets lifecycle events and reporting the key data points using capital-based fund investment (CBFI) functionality: total commitment, funded commitment, unfunded commitment, capital calls, and recallable capital. These are the relationships between the fields:

  • Funded Commitment = Capital Calls - Recallable Capital + Funded Commitment Adjustments

  • Unfunded Commitment = Total Commitment - Capital Calls + Recallable Capital - Funded Commitment Adjustments

    • This can also be simplified to Unfunded Commitment = Total Commitment - Funded Commitment

Funded Commitment Adjustments are available starting in V17 R2.40. See Private Markets Best Practices V17 R2.36+ for details.

Entity Setup

In V17 R2.39 and above, Private Equity Price Source (18452) dictates the source used for Private Market positions with Processing Security Type (3931) = EQCBFI (Capital Based Fund Investment). This is beneficial when the same Private Market is held in multiple portfolios, as separate sources can be set up for each portfolio without affecting the valuation of other holdings.

  • Long Price Source (1282) is used pre-V17 R2.39 and the best practice is to set up a separate SMF for each entity holding the investment

Due to the sporadic nature of pricing, you may want to set the STAR 2 PACE entity flag Value At Cost - No Price Found (11454) = Yes if Private Markets are the only type held in the fund. This ensures holdings will always be valued in Data Management, even if no market price is available. Please consider the implications carefully if there are other types of securities in the fund, as the flag affects all of an entity's holdings.

  • Note: when running the STAR to PACE process using Transfer Data - Batch or Transfer Data - Delta, Price Date Switch (9981) controls what happens in the case of a missing price, before falling back to Value At Cost - No Price Found

  • The table below shows what happens on dates when there is a missing price in the various combinations of these elections

Price Date Switch (9981)

Value At Cost - No Price Found = No

Value At Cost - No Price Found = Yes

Price Date Switch (9981)

Value At Cost - No Price Found = No

Value At Cost - No Price Found = Yes

Actual

Market Value = 0.00

Market Value = Cost

Recent

Market Value = Stale if a price exists for any prior date, else 0.00

Market Value = Stale if a price exists for any prior date, else Cost

Reference Data

Market Data

Private Markets are priced based on market value. Each position is held as a single unit, allowing market values to be applied directly to holdings. If the same Private Market is held in multiple portfolios, a different market value is typically required for each portfolio. The portfolio-level Private Equity Price Source (18452) can be used to accommodate these scenarios in V17 R2.39+. Entity-level price overrides can be used in earlier versions; for more information, see Manage Entity Price Overrides.

Pricing data is often not available until each fund statement is received. These statements include market values for the period end date and may be received on a delay. In these cases, Eagle recommends using estimated values for dates between the end of each statement period to smooth the valuation and performance returns. They are typically calculated based on the most recent available statement market value and any subsequent transaction activity. Eagle introduced functionality to do this in V17 R2.51 as described in Private Markets Valuation Rollforward Processing Notes. Another approach clients have taken, albeit less common, is to calculate estimated market values in line with the return of a benchmark.

Security Data

Private Market security master files (SMFs) are configured much like equities. They can be set up using Issue Viewer or Reference Data Center (RDC). Processing Security Type (3931) must be set to EQCBFI (Capital Based Fund Investment). Security Type (82) and Sub Security Type (1464) can be used to help further identify these investments as private equity, real estate, or other classes.

  • Issue Name (961)

  • Primary Asset ID (14) & Type (1432)

  • Processing Security Type = EQCBFI (Capital Based Fund Investment)

  • Price Multiplier (18) = 1.00

  • Quantity Scale (19) = 1.00

  • Issue Country (1418)

  • Asset Currency (85)

  • Settlement Currency (63)

  • Income Currency (1186)

  • Primary Exchange (17): must be populated if security will be priced with Pricing Center

    • Available in V17 R2.51

  • Investment Period End Date (38): expected end date of the investment period

    • You will not be able to enter valuations after this date unless you apply a panel overlay

    • Available in V17 R2.38+

  • Private Equity Benchmark (18559): entity benchmark for Calculate Kaplan-Schoar Public Market Equivalent (KS-PME)

    • Available in RDC in V17 R2.44+

    • Available in Issue Viewer and CSV messages in V17 R2.53+

    • Available in EagleML messages in EAGLEML_2025_05_01+

Real Estate

There are a number of additional fields in the SECURITYDBO.REAL_ESTATE table that can be used for reference and reporting purposes. These fields are not included in the core panels, but the tags can simply be added using panel overlays because they already exist on the ADDSECMASTER event.

Field

Tag

Column

Field

Tag

Column

Real Estate Address Line1

11655

ADDRESS_LINE1

Real Estate Address Line2

11656

ADDRESS_LINE2

Real Estate City

11657

CITY

Real Estate Impaired

11658

IMPAIRED

Real Estate Net Leasable Area

11659

NET_LEASABLE_AREA

Real Estate Property Type

11660

PROPERTY_TYPE

Real Estate State

11670

STATE

Real Estate Statistical Div

11671

STATISTICAL_DIV

Real Estate Unit Of Measure

11672

UNIT_OF_MEASURE

Real Estate Units

11673

UNITS

Property Sub Type

17570

PROPERTY_SUB_TYPE

Metro

17571

METRO

Msa

17572

MSA

Project Type

17573

PROJECT_TYPE

Year Built

17574

YEAR_BUILT

Risk Profile

17575

RISK_PROFILE

Lifecycle

17576

LIFECYCLE

Renovated

17577

RENOVATED

Trade Processing

Private Market transactions can be processed manually through Book Trade or using messages (refer to the Automation section for details). Enter the appropriate entity, security identifier, and trade (35)/settle (37) dates and click Submit to query for the Private Market.

The pending trades functionality supports Private Market transactions in V17 R2.37+. If you track pending trade activity, you can set up rules that determine how Eagle Accounting handles automated and manual trade cancellations within the workflow. For general information about pending trades, see Manage Pending Trades.

In V17 R2.38+, if Investment Period End Date is populated on the SMF and is prior to Trade Date, a warning will fire at trade time. This will not prevent the transaction from processing. The WARN can be changed to an ERR to make trades fail in this scenario.

Initial Commitment

The first step is to specify the total commitment amount. This applies to any Private Market position when it is brought onto Eagle, whether through the primary or secondary market. Right-click the Private Market and select Open > Initial Commitment (V17 R2.46+) or Initial Funding (pre-V17 R2.46). Critical fields are described below.

  • Entity ID (1163)

  • Effective Date (35)

  • Settlement Date (37)

  • Event Type (55) = LPOPEN

  • Shares (40) = 1.00

  • Commitment Amount (41): enter the total local amount of the commitment (must be positive)

  • Transaction Notes (56)

    • V26 R1.3 & Above: defaults to INITIAL COMMITMENT

      • Values can be added and changed using the PEOPENTYPE Code Category

    • V17 R2.46 - V26 R1.2: INITIAL COMMITMENT

    • Pre-V17 R2.46: Initial Commitment

Secondary Purchase

For purchases on the secondary market and during conversions, a portion of the investment may already be funded. This can be accommodated by populating additional fields on the Initial Commitment. The same process can also

  • V17 R2.46+

    • Cash Amount Local (50): a cash disbursement is generated for this amount

      • In releases prior to V17 R2.53, Funded Capital Local (18386) is set equal to this amount after booking the transaction

    • Cost Local (128): locked and defaulted to same value as Cash Amount Local

    • Capital Calls Local (18450): set to the accumulated capital call balance

      • Defaults to same value as Cash Amount Local

      • Available in V17 R2.53 and above

    • Recallable Capital Local (18390): set to the accumulated recallable capital balance

    • In V17 R2.53 and above, Funded Capital Local is calculated as Capital Calls Local - Recallable Capital Local after booking the transaction

  • Pre-V17 R2.46

    • Cost Local (50): same usage as Cash Amount Local described above

      • Funded Capital Local (18386) is set equal to this amount after booking the transaction

  • Settlement Currency (63): the currency in which cash will settle

  • Settlement Net Amount (64): unlocked only if Settlement Currency differs from Asset Currency

Commitment Adjustment

The total commitment can be changed after the position has been established. Right-click the Private Market and select Other > Commitment Adjustment (V17 R2.46+) or Commitment Adjustment/Capital Call (V17 R2.37 - R2.45) or Additional Funding/Capital Call (pre-V17 R2.37). Critical fields are described below.

  • Entity ID (1163)

  • Effective Date (35)

  • Settlement Date (37)

  • Event Type (55) = LPCOMMIT

  • Transaction Name (1728) = Commitment Adjustment (V17 R2.37+) or Additional Commitment (pre-V17 R2.37)

  • Select Lot (962): populated automatically after the entity and security information are entered

  • Commitment Adjustment Amount (41): enter a positive number to increase the total commitment, or a negative number to decrease it

    • Field was named Additional Commitment Amount prior to V17 R2.37

  • V17 R2.37+

    • Cash Amount Local (50): the amount entered here will generate a cash disbursement, increase the Funded Capital (18386), and decrease the Unfunded Commitment (18388)

    • Cost Local (128): locked and defaulted to same value as Cash Amount Local

  • Pre-V17 R2.37

    • Cost Local (50): same usage as Cash Amount Local described above

  • Cost Local (50):

  • Settlement Currency (63): dictates the currency in which cash will settle

  • Settlement Net Amount (64): becomes unlocked if Settlement Currency differs from Asset Currency

  • Transaction Notes (56): defaults to COMMITMENT ADJUSTMENT

    • Values can be added and changed using the PECALLTYPE Code Category

Capital Call

Capital calls (funding of the commitment) can include both capital investments and expenses/fees that impact the funded and unfunded commitments. Right-click the Private Market and select Other > Capital Call (V17 R2.46+) Commitment Adjustment/Capital Call (V17 R2.37 - R2.45) or Additional Funding/Capital Call (pre-V17 R2.37). Capital calls increase the funded commitment and decrease the unfunded. Negative capital calls can be entered in V26 R1.3 and above to support returns of excess capital, which decrease the funded commitment and increase the unfunded. Critical fields are described below.

  • Entity ID (1163)

  • Effective Date (35)

  • Settlement Date (37)

  • Event Type (55) = LPCALL

  • Transaction Name (1728) = Call

  • Select Lot (962): populated automatically after the entity and security information are entered

  • V17 R2.37+

    • Cash Amount Local (50): enter the local amount of the capital call (must be positive), "in commitment" fees, and/or expense

      • A cash disbursement is created for positive values, receipt for negative values

        • Negative values can be entered in V26 R1.3 and above

      • This increases the Funded Capital (18386) and decreases the Unfunded Commitment (18388)

    • Expense Amount Local (11078): this offsets the impact to cost for expenses that affect the unfunded commitment, but do not hit cost

      • Expense Account Number (1826): specifies the ledger account to which the expense is posted using the PEEXPENSE Code Category

        • Only shown if Expense Amount Local is greater than zero

        • Defaults to 5004000450 (LP EXPENSE)

    • Cost Local (128): calculated as Cash Amount Local - Expense Amount Local

  • Pre-V17 R2.37

    • Cost Local (50): enter the local amount of the capital call (must be positive) and/or "in commitment" fees

      • A cash disbursement is created for this amount

      • This increases the Funded Capital (18386) and decreases the Unfunded Commitment (18388)

  • Settlement Currency (63): dictates the currency for cash settlement

  • Settlement Net Amount (64): becomes unlocked if Settlement Currency differs from Asset Currency

  • Transaction Notes (56): values can be added and changed using the PECALLTYPE Code Category

  • Original Trade Ticket Number (761)

  • Batch Identifier (701): defaults to Original Trade Ticket Number for the purpose of batch canceling trades

Cash Distribution

There are two types of cash distributions:

  • Recallable: cash is paid out to investors, but can be either fully or partially recalled at a later date

    • Decreases the funded commitment and increases the unfunded commitment

  • Non-Recallable: cash is paid out to investors permanently

    • Does not affect the funded commitment or unfunded commitment

    • These can post as gain, income, and/or relief of cost

This transaction is also used to process expenses/fees that do not impact the funded and unfunded commitments, such as withholding tax. Right-click the Private Market and select Other > Cash Distribution (V17 R2.46+) or Capitalization/Cash Entry/Final Close (pre-V17 R2.46). Critical fields are described below.

  • Entity ID (1163)

  • Effective Date (35)

  • Settlement Date (37)

  • Event Type (55) = LPCASH

  • Transaction Name (1728) = Cash

  • Select Lot (962): populated automatically after the entity and security information are entered

  • Cash Amount Local (50): enter the local amount of the distribution

    • A positive value will create a receipt, while a negative value will create a disbursement

    • A negative value should be used to book any expenses/fees that do not affect the funded commitment, such as "out commitment" fees

  • Settlement Currency (63): dictates the currency in which cash will settle

  • Settlement Net Amount (64): becomes unlocked if Settlement Currency differs from Asset Currency

    • A positive value will create a receipt, while a negative value will create a disbursement

  • Income Amount Local (11076): subtracted from Cash Amount Local for gain/loss calculation

    • Income Account Number (1825): specifies the ledger account to which the income is posted using the PEINCOME Code Category

      • Only shown if Income Amount Local is greater than zero

      • Defaults to 4003000450 (LP INCOME)

  • Expense Amount Local (11078): added to Cash Amount Local for gain/loss calculation

    • Expense Account Number (1826): specifies the ledger account to which the expense is posted using the PEEXPENSE Code Category

      • Only shown if Expense Amount Local is greater than zero

      • Defaults to 5004000450 (LP EXPENSE)

  • Cost Local (128): added to Cash Amount Local for gain/loss calculation

    • Affects the cost of the Private Market, with a positive value increasing the cost and a negative value decreasing the cost

    • To keep cost in sync with your cash, set this as the inverse of Cash Amount Local (if Cash Amount Local = 2 million, Cost Local = -2 million)

      • This is the inverse of what happens in a capital call, where a cash disbursement causes your cost to go up

    • In V17 R.50 and above, this defaults to the inverse of Recallable Capital Local

  • Recallable Capital Local (18390): enter the recallable amount of the cash distribution

    • This amount decreases the Funded Capital (18386) and increases the Unfunded Commitment (18388)

    • Leave as zero for non-recallable cash distributions