The same functionality can also be used to model Private Debt/Private Credit, but coupons must be managed using miscellaneous income transactions.
Include Page | ||||
---|---|---|---|---|
|
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
Value At Cost - No Price Found = No | Value At Cost - No Price Found = Yes | |
---|---|---|
Price Date Switch = Actual | Market Value = 0.00 | Market Value = Cost |
Price Date Switch = 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+.
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. The exact method for deriving these values is a client decision. They are typically calculated based on the most recent available statement market value and any subsequent transaction activity. 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)
Investment Period End Date (38): expected end date of the investment period
Available in V17 R2.38+
Trade Processing
Trades against Private Markets should 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
if you want to make trades to fail in this scenario.
Initial Commitment
The first step is to specify the total commitment amount. 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)
V17 R2.46+
Cash Amount Local (50): this will generate a cash disbursement, increase the Funded Capital (18386), and decrease the Unfunded Commitment (18388)
This is most common with positions acquired in the secondary market or when converting positions with prior capital calls
Cost Local (128): locked and defaulted to same value as Cash Amount Local
Pre V17 R2.46
Cost Local (50): same usage as Cash Amount Local described above
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) =
INITIAL COMMITMENT
(V17 R2.46+) orInitial Commitment
(pre-V17 R2.46)
Commitment Adjustment
The total commitment can be changed once 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+) orAdditional 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 pre-V17 R2.37
Cost Local (50): the amount entered here will generate a cash disbursement, increase the Funded Capital (18386), and decrease the Unfunded Commitment (18388)
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 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 commitment. 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 this amount
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 CategoryOnly 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 CategoryOriginal 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
This decreases the funded commitment and increases the unfunded commitment
Non-Recallable: cash is paid out to investors permanently
This does not affect the funded commitment or unfunded commitment
Right-click the Private Market and select Other > Cash Distribution (V17 R2.46+) or Capitalization/Cash Entry/Final Close (pre-V17 R2.46). The distribution can be broken out between income, expense, and cost, with the remainder posted to gain/loss. 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 "out commitment" fees if these are applicable to your investments
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 CategoryOnly 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 CategoryOnly 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
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
Gain/Loss Amount Local (171) = Cash Amount Local - Income Amount Local + Expense Amount Local + Cost Local
Posts to Gain Loss Sec ID L (171)
Transaction Notes (56): set to
CASH DISTRIBUTION
,RECALLABLE CAPITAL
,TEMP RETURN OF CAP
or similar for reporting purposesValues can be added and changed using the
PECASHTYPE
Code CategoryYou may choose to add a value of
OUT COMMITMENT FEES
if these are applicable to your investments
Original Trade Ticket Number (761)
Batch Identifier (701): defaults to Original Trade Ticket Number for the purpose of batch canceling trades
Net Transactions & Funding Splits (V17 R2.37+)
Private Market data vendors typically break out each statement into distinct transactions rather than netting them together as shown on a PDF. For example, a PDF statement that contains a capital call and a cash distribution with both return of capital and income components would come in as three distinct transactions: a capital call, a return of capital cash distribution, and an income cash distribution. Another example is a funding split, where a capital call that affects the funded/unfunded commitment is accompanied by fees that do not; this would come in as two distinct transactions.
Multiple capital calls and cash distributions can be booked at the same time using Book Trade > Other > Multiple Calls/Cash. This opens a multi-row panel where you can add rows by right-clicking in the lower section of the screen > Add Row(s). Each row is identified as a capital call or cash distribution based on Transaction Name (1728) = Call
or Cash
. Based on this election, one set of fields from the previous two sections becomes available.
The benefit of this screen is that all transactions share the same Original Trade Ticket Number (761). This value is automatically copied to Batch Identifier (701). Populating Batch Identifier makes it easier to identify groups of transactions and allows you to cancel the whole batch if there is a problem with any one component. Batch Identifier must be populated to use Batch Cancel Trade.
Capitalization
Income and/or expenses can be recognized by processing a capitalization event, which also adjusts the cost of the Private Market. Right-click the Private Market and select Other > Capitalization (V17 R2.46+) or Capitalization/Cash Entry/Final Close (pre-V17 R2.46). These transactions do not generate cash. Critical fields are described below.
Entity ID (1163)
Effective Date (35)
Settlement Date (37)
Event Type (55) =
LPCAP
Transaction Name (1728) =
Capitalization
Select Lot (962): populated automatically after the entity and security information are entered with the holding created by Initial Funding
Cash Amount Local (64): locked and defaulted to
0.00
Income Amount Local (11076)
Income Account Number (1825): specifies the ledger account to which the income is posted using the
PEINCOME
Code CategoryOnly shown if Income Amount Local is greater than zero
Defaults to
4003000450
(LP INCOME)
Expense Amount Local (11078)
Expense Account Number (1826): specifies the ledger account to which the expense is posted using the
PEEXPENSE
Code CategoryOnly shown if Expense Amount Local is greater than zero
Defaults to
5004000450
(LP EXPENSE)
Cost Local (50): locked and defaulted to Income Amount Local - Expense Amount Local + Gain/Loss Amount Local
Affects the cost of the Private Market, with a positive value increasing the cost and a negative value decreasing the cost
Gain/Loss Amount Local (171): can be positive or negative
Posts to Gain Loss Sec ID L (171)
Transaction Notes (56): set to
INCOME/EXPENSE
or similar for reporting purposesValues can be added and changed using the
PECASHTYPE
Code Category
Funded/Unfunded Adjustment
Starting in V17 R2.40, you can also use a capitalization event to update the funded commitment without affecting the cost or any other accounting. The result is an equal and opposite effect on the unfunded. This is useful for scenarios where an investor is informed that a portion of the total commitment will never be called because you can increase your funded commitment (and therefore decrease your unfunded commitment) without triggering any other activity.
One additional field has been added to the capitalization event. Leave all other fields null and only populate this field to adjust your funded and unfunded commitments without any impact to accounting.
Funded Commitment Adjustment Local (18386): enter a positive number to increase the funded commitment (and decrease the unfunded), or a negative number to decrease the funded commitment (and increase the unfunded)
The field was named Commitment Adjustment Local prior to V17 R2.46
Close
The step is to close out the position. Right-click the Private Market and select Other > Close (V17 R2.46+) or Capitalization/Cash Entry/Final Close (pre-V17 R2.46). Any cash associated with the close can be broken out between income, expense, and cost. Critical fields are described below.
Entity ID (1163)
Effective Date (35)
Settlement Date (37)
Event Type (55) =
LPCLOSE
Transaction Name (1728) =
Close
Select Lot (962): populated automatically after the entity and security information are entered
Local Cash Amount (50): enter the local amount of the distribution
A positive value will create a receipt, while a negative value will create a disbursement
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 Local Cash Amount for gain/loss calculation
Expense Amount Local (11078): added to Local Cash Amount for gain/loss calculation
Cost Local (128): locked and defaulted to the inverse of the current outstanding cost (or amortized cost, if available)
Added to Local Cash Amount for gain/loss calculation
Gain/Loss Amount Local (171) = Cash Amount Local - Income Amount Local + Expense Amount Local + Cost Local
Any outstanding cost posts to Gain Loss Sec ID L (171)
Transaction Notes (56): set to
CLOSE
or similar for reporting purposesValues can be added and changed using the
PECASHTYPE
Code Category
Expected Results
The attached spreadsheet shows the expected results of typical Private Market lifecycle events:
View file | ||
---|---|---|
|
Warning |
---|
Depending on your Eagle Accounting version, you may see other screens available for CBFI processing. This includes Initial Purchase, Contribution, Partial Withdrawal, and Final Sale (Full Withdrawal). These screens have been deprecated and should not be used. |
Conversion
There are two or three options for converting Private Markets depending on your Eagle Accounting release. The optimal method depends on your reporting requirements and the historical data available.
Method | Summary | Pros | Cons |
---|---|---|---|
Full History | Load the investment's full lifecycle using Eagle Accounting transactions |
|
|
Point in Time | Load the initial commitment, followed by net transactions that aggregate all capital calls and other activity up to the point in time, resulting in the appropriate cost |
|
|
When historical performance analysis is required for the Point in Time method, it is important to consider your entity setup. If each Private Market is held in its own entity, you can load historical fund-level returns and they will represent the security-level returns. You can also load historical security-level returns, but if there are multiple Private Markets in a single entity or they are comingled with other securities, you must load the full history of security-level returns for all of the entity's holdings to ensure accurate fund-level returns.
If historical performance analysis is not required, you can always calculate returns (non-IRR) from conversion date forward without loading historical return data.
Cancel & Rebook
Faulty Private Market transactions must be cancelled using Cancel Capital or Share Based Fund Investments, with the transaction rebooked using the Book Trade module. Private Market transactions are not supported in the Cancel & Rebook Trade process.
Pre-V17 R2.38: if you need to cancel the Initial Commitment, you must first cancel all subsequent activity
It may be preferable to use Delete a Position if you are in a test environment, but this is not recommended in production settings
V17 R2.38+: Cancel Initial Funding Only can be used to cancel LPOPEN transactions when there is subsequent activity
The subsequent activity is rolled back automatically (is it not replayed)
In V17 R2.37+, Batch Cancel Trade can be used to cancel net transactions that were booked using Multiple Calls/Cash.
Accounting
Once an Private Market position is established it will be picked up in Eagle’s global workflow. The following fields will be populated as described below:
Units (40): always
1.00
Original Face (41): equal to Commitment (16086)
Valuation
Private Markets use the standard valuation methodology in Accounting and Data Management. They are represented by a single unit/share and should be priced based on market value.
In some cases, market values may only be available on a delayed basis. When this happens, valuations can be restated historically, or the late market value can be entered with a current date. If there is transaction activity before updated valuations are received, some clients will adjust the most recent market value for capital calls and any other activity that impacts cost.
Note |
---|
Please consult with your internal accounting and compliance experts to identify and approve the appropriate valuation methodology. |
If Value At Cost - No Price Found = Yes
on your entity and you run the STAR to PACE process using Transfer Data - Batch or Transfer Data - Delta with Price Date Switch = Recent
, this is the hierarchy that will be used for valuation:
Market value loaded for current date
Most recent market value available
Position cost
Interportfolio Transfers (IPTs)
IPTs are supported for Private Markets using the same functionality as other securities. Prior to V17 R2.40, only the standard accounting fields were maintained on the "to" position (units, cost, MV, etc.). In V17 R2.40+, all applicable fields are available on the "to" position (total/funded/unfunded commitment, capital calls, etc.).
Refer to Manage Portfolio Transfers for details about processing IPTs.
Upgrades
If you are live with Private Markets on an Eagle Accounting release prior to V17 R2.36, you will need to update your existing positions to take advantage of the new functionality. In V17 R2.36 through R2.48, this requires closing out and reconverting the positions as described in the Conversion section. In V17 R2.49 and above, a dedicated maintenance event is available as described in Private Markets Maintenance Event Processing Notes. You can continue trading as usual in the interim, but the position-level fields that are unique to Private Markets will not reflect the correct values.
In addition, a few trade tags were repurposed adjusted to introduce new functionality and better align with other security types. Please review any existing automations to see if you need to update the mappings.
Old Tag | New Tag |
---|---|
50 | 128 |
64 | 50 |
478 | 129 |
479 | 478 |
Reporting
STAR to PACE (S2P)
The STAR to PACE process creates and/or updates trade and position records in Data Management for each Private Market transaction, and cash activity records are generated for transactions that have cash flows.
Market value is computed based upon available prices or cost
Settle Instructions 1-4 (1897-1900) and Settle Location (43) are stored on the adjustment records in Data Management for reporting purposes (V17 R2.38)
The mappings for Private Market-specific fields are provided below.
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Accounting Reports
Eagle has a core set of accounting reports that can be used to review Private Market information. These are designed to support the daily operational workflow for business users, allowing Grid Reports to be easily exported to Excel and customized to provide additional details as needed. Advanced Reports are intended to be client-facing and do not provide the same level of customization. Private Market activity is contained mainly in trade and position reports.
New tabs designed specifically for Private Markets were added to the default report profiles for the Trade Activity Report, Holdings Report, and Portfolio Valuation Report in V17 R2.38+. After submitting the report, click the tab that includes Private Equity in its name. These tabs include the fields that are unique to Private Markets, such as total commitment, funded commitment, unfunded commitment, recallable capital, etc.
Data Management Reporting
Include Page | ||||
---|---|---|---|---|
|
Performance
The Eagle Performance Toolkit can be utilized for IRR calculations for Private Markets, including Private Market Equivalent - IRR (PME-IRR). Performance analysis fields must be created to support PME-IRR.
In the case of a conversion, Eagle recommends loading historical market values and cash flows to the performance tables to enable IRR calculations prior to conversion
Note: the cash flow impacts of Private Market transactions occur at different times depending on the type of transaction. For example, LPCALL
is a start-of-day flow, while LPCASH
is an end-of-day flow. Please review your performance reports closely during testing as these nuances impact the returns.
Automation
Private Market SMFs and trades can be loaded through the standard CSV (V17 R2.39) and EagleML Message Center streams. The SMF must be loaded prior to the trade (trades do not spawn SMFs). Transaction messages are mapped as follows:
Event Type | Panel Routing |
---|---|
LPOPEN | pan-initialfunding.htm |
LPCOMMIT | pan-capitalcall.htm |
LPCALL LPCASH | pan-callcashmulti.htm |
LPCAP LPCLOSE | pan-capitalization.htm |
The element names for EagleML are available on Eagledocs: