Entity Setup
There are no additional fields required when setting up an entity to trade CBFI securities. However, 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 CBFI securities 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 |
There may be situations where the same PE investment is held across multiple entities. The best practice is to setup a separate CBFI security for each entity due to pricing considerations.
Reference Data
Market Data
Pricing data is not typically available until each PE fund statement is received. These statements include pricing for the period end date and are often received on a delay. In such cases, Eagle recommends using estimated prices for dates between statement period ends to smooth the valuation and performance returns. The exact method for deriving these prices is up to you. They are typically calculated based on the most recent available statement price and any subsequent transaction activity. Another approach clients have taken, albeit less common, is to calculate estimated prices in line with the return of a benchmark.
Security Data
The CBFI security master can be configured much like an equity security. CBFIs can be set up using Issue Viewer, Security Reference Manager (SRM), or Reference Data Center (RDC). Processing Security Type (3931) must be set to EQCBFI
. Security Type and Sub Security Type can be used to help further identify these investments, such as Private Equity or Real Estate. The following list captures the minimum security data required.
- 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)
Trade Processing
Trades against CBFI securities should be processed through Book Trade. Depending on your version you may see other screens designed for CBFI processing, but these have been deprecated and should not be used. This includes the following screens, typically found under the Reorg menu: Initial Purchase, Contribution, Partial Withdrawal, Final Sale (Full Withdrawal).
Transaction Notes (56) is a critical field as it is used to drive reporting.
Initial Commitment
You can set up and track an unfunded commitment to a PE fund using Book Trade > Open > Initial Funding. 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 entire local amount of the commitment (must be positive)
- Cost Local (50): set to
0.00
, unless cash is involved with the initial commitment- This is most common with positions acquired in the secondary market
- Transaction Notes (56): set to
Initial Commitment
Commitment Amount will be stored in the Original Par field for this holding. The Initial Funding event does not affect the current shares of the security nor does it affect the cash in the portfolio.
Commitment Adjustment
You can change an unfunded commitment to a PE fund using Book Trade > Other > Additional Funding/Capital Call. Critical fields are described below.
- Entity ID (1163)
- Effective Date (35)
- Settlement Date (37)
- Event Type (55) =
LPCOMMIT
- Transaction Name (1728) =
Additional Commitment
- Select Lot (962): populated automatically after the entity and security information are entered with the holding created by Initial Funding
- Additional Commitment Amount (41): enter a positive number to increase the commitment, or a negative number to decrease it
- Note: out of the box, this field only allows positive values; you can allow negative values by updating the panel as described in the Recommended Configuration Changes section
- Transaction Notes (56): set to
Commitment Adjustment
Capital Call
You can process a capital call (funding of the commitment), which can include both capital investments and "in commitment" fees, using Book Trade > Other > Additional Funding/Capital Call. Both of these reduce the unfunded commitment to a PE fund. 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 with the holding created by Initial Funding
- 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
- Transaction Notes (56): set to
Capital Call
The capital call transaction will affect the cost of the CBFI, increasing it to include the new capital that has been invested in the PE fund. Additionally, the cash balance of the portfolio will be reduced to reflect the cash movement.
Cash Distribution
There are two types of cash distributions:
- Recallable: cash is paid out to LPs, but can be either fully or partially recalled by the GP at a later date
- This increases the unfunded commitment
- To accurately track the unfunded commitment, partially recallable cash distributions must be entered as two separate transactions: one for the recallable amount and one for the non-recallable amount
- Non-Recallable: cash is paid out to LPs permanently
- This does not affect the unfunded commitment
You can process a cash distribution from a PE fund using Book Trade > Other > Capitalization/Cash Entry/Final Close. The distribution 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) =
LPCASH
- Transaction Name (1728) =
Cash
- Select Lot (962): populated automatically after the entity and security information are entered with the holding created by Initial Funding
- Cash Amount Local (64): enter the local amount of the distribution; 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
- Expense Amount Local (11078): added to Cash Amount Local for gain/loss calculation
- Cost Local (50): added to Cash Amount Local for gain/loss calculation
- Affects the cost of the CBFI position, 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
- Gain/Loss Amount Local (171) = Cash Amount Local - Income Amount Local + Expense Amount Local + Cost Local
- Posts as the transaction's realized gain/loss
- Transaction Notes (56): set to
RECALLABLE CAPITAL
orTEMP RETURN OF CAP
to adjust the unfunded commitment, or any other value to leave it unchanged
Capitalization
You can recognize income and/or expenses by processing a capitalization event, which also adjusts the cost of the CBFI position, using Book Trade > Other > Capitalization/Cash Entry/Final Close. These transactions hit the LP INCOME
and LP EXPENSE
accounts, but they do not generate cash, affect the unfunded commitment, or create realized gain/loss. 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)
- Expense Amount Local (11078)
- Cost Local (50): locked and defaulted to Income Amount Local - Expense Amount Local
- Affects the cost of the CBFI position, with a positive value increasing the cost and a negative value decreasing the cost
- Gain/Loss Amount Local (171): locked and defaulted to
0.00
- Transaction Notes (56): set to
Income/Expense
for reporting purposes
Close
You can close out a position in a PE fund using Book Trade > Other > Capitalization/Cash Entry/Final Close. 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 with the holding created by Initial Funding
- Income Amount Local (11076): subtracted from Cash Amount Local for gain/loss calculation
- Expense Amount Local (11078): added to Cash Amount Local for gain/loss calculation
- Cost Local (50): added to Cash Amount Local for gain/loss calculation
- Locked and defaulted to the inverse of the current outstanding cost (or amortized cost, if available)
- Gain/Loss Amount Local (171) = Cash Amount Local - Income Amount Local + Expense Amount Local + Cost Local
- Posts as the transaction's realized gain/loss
- Transaction Notes (56): set to
Close
for reporting purposes
Note: the close event should only be used when there is no cost remaining, as current functionality will close the entire position to gain/loss without respect to the cost.
Conversion
There are two options for converting PE positions. The optimal method depends on your requirements and the historical data you have 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 CBFI security 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 CBFI securities 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
If a faulty transaction is entered it must first be cancelled using one of the following screens, depending on your version:
- V17 & Above
- Cancel Capital Based Purchase or Final Sale
- Cancel Capital Based Contribution or Withdrawal
- Note: these menu options can be used interchangeably as they are linked to the same screen
- Prior to V17: Cancel Capital Based Fund Investments
If you need to cancel the Initial Commitment, you must first cancel all subsequent activity. If you are in a testing environment, it may be preferable to use Delete a Position, but we generally do not recommend this in production settings.
Accounting
Once a CBFI security has been opened, it will follow standard Accounting functionality. The following fields will be populated as described below:
- Units (40): will always be
1.00
- Original Face (41): commitment amount for the CBFI
- Cost fields: sum of all capital calls, cash distributions, and income/expense transactions
In versions prior to V15 R2.32 and V17 R2.11, FX gain/loss is not automatically broken out for cash distributions. Workarounds are available in lower versions, but require technical implementation. Please discuss with your implementation team or contact Instrument Engineering for details.
Valuation
While CBFI securities use the standard valuation methodology in Accounting and Data Management, they are typically represented by a single unit and priced based on market value. If the CBFI market value is available it can be loaded directly as a price due to the single-unit position. In some cases market values may only be available on a delayed basis. When this happens, valuations can be restated historically, or the late price can be entered with a current date.
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
Reporting
STAR to PACE (S2P)
The STAR to PACE process will generate position detail records in Data Management for each CBFI. Market value will be computed based upon available prices or at cost. Cash activity records will be generated for all transactions that have a cash flow.
Accounting Reports
CBFIs can be viewed on both the modern and legacy Trade Activity reports. However, they show a limited amount of data and the latter may require modification to meet your requirements as Eagle does not natively track unfunded commitments and committed capital. A Report Profile can be added to the legacy Trade Activity report track them by categorizing each transaction and bucketing it appropriately, but the values are calculated on the fly at report run time; they are not available on the sub-ledger for reporting. Details about the Report Profile and calculations are available below in the PE Reporting section.
Performance
The Eagle Performance Toolkit can be utilized for IRR calculations for CBFI securities. Beginning in V15 R2.18, Eagle supports the Private Market Equivalent - IRR (PME-IRR) calculations. Performance analysis fields need to 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 CBFI 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.
Recommended Configuration Changes
These changes are recommended to expand the existing CBFI functionality and make it more user friendly. As with any environment configuration changes, these should be deployed in a test environment before being moved to production.
Screen Changes
Note: you may receive one or two of the following errors when saving your changes. These can be ignored.
- Value of Tag 55 "" and value of SubMessage "LPCAP" are different
- Value of Tag 55 "" and value of SubMessage "LPCALL" are different.
- Property "executeplugins" is obsolete.
Initial Funding (pan-initialfunding.htm)
- Lock and default Transaction Notes to
Initial Commitment
Implementation
- Open Web Panel Designer
- Navigate to eagle > star > trade > Capital Based Fund Investments and open Initial Funding
- Ensure you are in Overlay edit mode
- Scroll down to Transaction Notes
- Set Read-only column =
Yes
- Scroll right and set Default value =
Initial Commitment
- Set Read-only column =
- Click Save
Additional Funding/Capital Call (pan-capitalcall.htm)
- Allow negative values in Additional Commitment Amount to support commitment decreases
- Lock and default Transaction Notes to
Commitment Adjustment
when Transaction Name =Additional Commitment
- Lock and default Transaction Notes to
Capital Call
when Transaction Name =Call
Implementation
- Open Web Panel Designer
- Navigate to eagle > star > trade > Capital Based Fund Investments and open Additional Funding/Capital Call
- Ensure you are in Overlay edit mode
- Scroll down to Additional Commitment Amount
- Scroll right and set Negative values allowed = 1
- Scroll down to Transaction Notes
- Set Read-only column =
Yes
- Set Read-only column =
- Click the ...LISTBOX tab
Comment out this section:
41i script 41i defentry :41: 41i text IF :1728: = "ADD" AND :41: = 0 THEN ERR("Additional commitment amount must be greater than zero."); 41i end
Add this code to the end:
56i --- - - - - - - - - - - - - - 56i script 56i defentry :56: 56i text IF :1728: = "ADD" THEN FORCE(@:56:,"Commitment Adjustment"); 56i text IF :1728: = "CALL" THEN FORCE(@:56:,"Capital Call"); 56i end
- Click Save
Capitalization/Cash Entry/Final Close (pan-capitalization.htm)
- Remove error that prevents Effective Date from being greater than Post Date (30)
- Conditionally require Transaction Notes when Transaction Name =
Cash
- Add Code Value lookup to Transaction Notes against the
PECASHTYPE
Code Category
Implementation
- Open Add Code Category
- Set Code Category Name (1165) =
PECASHTYPE
- Set Code Category Description (1166) =
Private Equity Cash Type
- Set Code Category Name (1165) =
- Click Submit
- Open Add Code Value
- Set Code Category Name (1165) =
PECASHTYPE
- Right-click the row in the lower section of the screen and select Add Row(s)
Populate Code Value (1176) and Code Name (1177) using the Short Description and Long Description (respectively) from the table below
Short Description Long Description BLOCKER EXPENSE
Blocker Expense (Fee)
CASH DISTRIBUTION
Cash Distribution
LATE INTEREST
Late Interest (Fee)
LEGAL
Legal (Fee)
OTHER FEES
Other Fees (Fee)
RECALLABLE CAPITAL
Recallable Capital
TAX
Tax (Fee)
TEMP RETURN OF CAP
Temporary Return of Capital
- Set Code Category Name (1165) =
- Click Submit
- Open Web Panel Designer
- Navigate to eagle > star > trade > Capital Based Fund Investments and open Capitalization/Cash Entry/Final Close
- Ensure you are in Overlay edit mode
- Click the ...LISTBOX tab
- Scroll down to/search for the Link ID of 35i
Right-click the line shown below and select Comment Row
35i E1 :>:30:;Effective date can not be greater than post date
Add this code to the end:
56i --- - - - - - - - - - - - - - 56i P list 56i D dynamic 56i T Transaction Notes Lookup 56i Lookup 56i Defentry :56: 56i Type usual 56i Condition CHANGED(@:56:) AND ALTERED(@:56:) 56i Flags disabledirectmap 56i Panel pan-lcodeval.htm 56i SourceMapIDs 1176=56:1165='PECASHTYPE': 56i MapIDs 56=1176: 56i PanelFlags ReuseResults 56i Helpids 1177 56i End 56i script 56i defentry :56: 56i text IF :1728: = "CASH" THEN SET(R56) ELSE SET(O56); 56i end
- Scroll down to/search for the Link ID of 35i
- Click Save
STAR to PACE
The Event Type (55) LPCOMMIT
must be added to the list of STAR Performance Flow
descriptors used by Data Management and Performance. These are maintained using Code Values.
- Open Add Code Value
- Set Code Category Name (1165) =
STAR_PERF_FLOW
Set Code Value (1176) =
LPCOMMIT
Set Code Name (1177) =
Positive
Set System Control (1148) =
0
- You may need to show hidden fields depending on what tool you are using
- Set Code Category Name (1165) =
- Click Submit
- Open Engine Manager
- Navigate to All Engines > Refresh Engines Cache
- Under Command Name, right-click
CCF_CLEAR_CODE_MAP_CACHE
and select Run
PE Reporting
A generic PE Report Profile is available as a baseline for implementations: BUSINESSUSERGROUP[Q-POS-STAR-ASOF]^Private Equity Report^pan-tradeactivity.htm. The profile should be uploaded to this directory via System Management Center: /apps/[EnvironmentID]/estar/tpe/dynamic/profiledat/result_public/eagle/star/reports
. Adjustments may be required to maintain correct bucketing if additional values are used for Transaction Notes beyond those specified above.
The Report Profile is built against the legacy Trade Activity report because some key fields are not currently pushed to Data Management (this is tracked as SDP-39412). It can be found in Web Panel Designer under the path eagle > star > reports > Legacy Reports - To Be Reviewed > pan-tradeactivity.htm. The following table provides details about each field.
Field | Direct/Derived | Details |
---|---|---|
Accounting Date | Direct | effective date (36) |
Issue Name | Direct | issue name (961) |
Transaction | Direct |
|
Total Commitment | Direct | original face (41) |
Capital Call Local | Derived | IF Transaction = CAPITAL CALL THEN settle amt s * -1 |
Recallable Capital Local | Derived | IF Transaction = RECALLABLE CAPITAL OR Transaction = TEMP RETURN OF CAP THEN settle amt s |
Unfunded Commitment | Derived |
|
ws unfunded commitment | Derived | This field is work variable strictly used to derive Unfunded Commitment.
|
Net Cash Local | Derived |
IF Transaction != CAPITAL CALL THEN settle amt s |
Net Cash Base | Derived |
IF Transaction != CAPITAL CALL THEN settle amt base |
Return of Capital Local | Derived | IF Transaction = RECALLABLE CAPITAL OR Transaction = CASH DISTRIBUTION OR Transaction = TEMP RETURN OF CAP THEN cost delta l |
Return of Capital Base | Derived | IF Transaction = RECALLABLE CAPITAL OR Transaction = CASH DISTRIBUTION OR Transaction = TEMP RETURN OF CAP THEN cost delta b |
Income Local | Direct | lp income local (11076) |
Income Base | Direct | lp income base (11077) |
Expense Local | Direct | lp expense local (11078) |
Expense Base | Direct | lp expense base (11079) |
Gain/Loss Local | Direct | gain loss sec id l (171) |
Gain/Loss Base | Direct | gain loss sec id b (175) |
Add Comment