The CBFI workflow can also be used to model Limited Partnerships and Real Estate in some cases. You can set up a funding commitment, process transactions to fund the commitment, receive distributions, and increase or decrease the commitment.
Pay special attention to underlined sections, as these highlight the most frequently encountered issues. Bold is used for navigation, modules, and screens. Italics are used for fields, tables, and errors. Fixed width
indicates values for fields or code/text that should be entered. Tags are shown in parentheses (#) after field names.
Entity Setup
In V17 R2.39+, Private Equity Price Source (18452) dictates the source used for PE securities with Processing Security Type (3931) = EQCBFI (Capital Based Fund Investment)
. This is beneficial when the same PE investment 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
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 PE 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 PE security for each entity due to pricing considerations.
Reference Data
Market Data
PE investments 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 PE investment 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 PE 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
PE 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
. 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. (Capital Based Fund Investment)
- 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 PE securities should be processed through Book Trade. Enter the appropriate entity, security identifier, and trade (35)/settle (37) dates and click Submit to query for the PE security.
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 trades to fail in this scenario.
Initial Commitment
The first step is to specify the total commitment amount. Right-click the PE security and select 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 total local amount of the commitment (must be positive)
- Cost Local (50): the amount entered here 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
- 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
Commitment Adjustment
You can change the total commitment after the initial position is booked. Right-click the PE security and select Other > Commitment Adjustment/Capital Call (V17 R2.37+) 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 with the holding created by Initial Funding
- 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
- This field uses the
PECALLTYPE
Code Category
- This field uses the
Capital Call
You can process a capital call (funding of the commitment), which may include both capital investments and fees that impact the funded and unfunded commitments. Right-click the PE security and select Other > Commitment Adjustment/Capital Call (V17 R2.37+) 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 with the holding created by Initial Funding
- 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 (1825): specifies the ledger account for posting the expense
- Only shown if Expense Amount Local is greater than zero
- Defaults to
5004000450
(LP EXPENSE)
- Expense Account Number (1825): specifies the ledger account for posting the expense
- Cost Local (128): calculated as Cash Amount Local - Expense Amount Local
- Cash Amount Local (50): enter the local amount of the capital call (must be positive), "in commitment" fees, and/or expense
- 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)
- Cost Local (50): enter the local amount of the capital call (must be positive) and/or "in commitment" fees
- 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): this field uses 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 LPs, but can be either fully or partially recalled by the GP at a later date
- This decreases the funded commitment and increases the unfunded commitment
- Non-Recallable: cash is paid out to LPs permanently
- This does not affect the funded commitment or 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 (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 Cash Amount Local for gain/loss calculation
- Income Account Number (1825): specifies the ledger account for posting the income
- Only shown if Income Amount Local is greater than zero
- Defaults to
4003000450
(LP INCOME)
- Income Account Number (1825): specifies the ledger account for posting the income
- Expense Amount Local (11078): added to Cash Amount Local for gain/loss calculation
- Expense Account Number (1825): specifies the ledger account for posting the expense
- Only shown if Expense Amount Local is greater than zero
- Defaults to
5004000450
(LP EXPENSE)
- Expense Account Number (1825): specifies the ledger account for posting the expense
- Cost Local (50): added to Cash Amount Local for gain/loss calculation
- Affects the cost of the PE 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
- 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 purposes- This field uses the
PECASHTYPE
Code Category
- This field uses the
- Original Trade Ticket Number (761)
- Batch Identifier (701): defaults to Original Trade Ticket Number for the purpose of batch canceling trades
Net Transactions (V17 R2.37+)
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
You can recognize income and/or expenses by processing a capitalization event, which also adjusts the cost of the PE position, using Book Trade > Other > Capitalization/Cash Entry/Final Close. These transactions hit LP Income (11076) and LP Expense (11078), but they do not generate cash or affect the funded and unfunded commitments. 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
- Only shown if Income Amount Local is greater than zero
- Defaults to
4003000450
(LP INCOME)
- Income Account Number (1825): specifies the ledger account to which the income is posted
- Expense Amount Local (11078)
- Expense Account Number (1825): specifies the ledger account to which the expense is posted
- Only shown if Expense Amount Local is greater than zero
- Defaults to
5004000450
(LP EXPENSE)
- Expense Account Number (1825): specifies the ledger account to which the expense is posted
- Cost Local (50): locked and defaulted to Income Amount Local - Expense Amount Local + Gain/Loss Amount Local
- Affects the cost of the PE position, 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 purposes- This field uses the
PECASHTYPE
Code Category
- This field uses the
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
- 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 purposes- This field uses the
PECASHTYPE
Code Category
- This field uses the
Expected Results
The table below shows the expected results of typical PE lifecycle events. These examples are simplified such that Cost and Funded Capital are always equal, but this is not a requirement. Cost and Funded Capital can fluctuate independently based on your investment activity.
Transaction | Event Type (55) | Commitment (41) | Cost/Cash (50) | Income (11076) | Expense (11078) | Cost (128) | Recallable (18390) | Gain/Loss (171) | Commitment (16086) | Capital Calls (18448) | Cost (128) | Funded Capital (18386) | Recallable Capital (18390) | Unfunded Commitment (18388) | LP Income (11076) | LP Expense (11078) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Initial Commitment | LPOPEN | 10,000,000 | 0 | - | - | - | 0 | - | 10,000,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
Commitment Adjustment | LPCOMMIT | 2,000,000 | 0 | - | - | - | 0 | - | 12,000,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
Capital Call | LPCALL | - | 5,000,000 | - | - | - | 0 | - | 12,000,000 | 5,000,000 | 5,000,000 | 5,000,000 | 0 | 7,000,000 | 0 | 0 | |
Cash Distribution (Non-Recallable) | LPCASH | - | 4,000,000 | 1,000,000 | 0 | 0 | 0 | 3,000,000 | 12,000,000 | 5,000,000 | 5,000,000 | 5,000,000 | 0 | 7,000,000 | 1,000,000 | 0 | |
Cash Distribution (Recallable) | LPCASH | - | 3,000,000 | 0 | 0 | -3,000,000 | 3,000,000 | 0 | 12,000,000 | 5,000,000 | 2,000,000 | 2,000,000 | 3,000,000 | 10,000,000 | 1,000,000 | 0 | |
Expense | LPCASH | - | -750,000 | 0 | 750,000 | 0 | 0 | 0 | 12,000,000 | 5,000,000 | 2,000,000 | 2,000,000 | 3,000,000 | 10,000,000 | 1,000,000 | 750,000 |
⠀
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 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 PE 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 PE 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
Faulty PE transactions must be cancelled using Cancel Capital or Share Based Fund Investments, with the transaction rebooked using the Book Trade module. PE 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 a PE 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
PE securities 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.
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
Upgrades
If you are live with PE on an Eagle Accounting release prior to V17 R2.36, you will need to close out and reconvert your positions to take advantage of the new functionality. Refer to the Conversion section under Trade Processing for details. You can continue your trading as usual in the interim, but the position-level PE fields will not reflect the correct values until the positions are reconverted.
Reporting
STAR to PACE (S2P)
The STAR to PACE process creates and/or updates trade and position records in Data Management for each PE 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 PE-specific fields are provided below.
Accounting Reports
Eagle has a core set of accounting reports that can be used to review PE 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. PE activity is contained mainly in trade and position reports.
New tabs designed specifically for PE investments 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 PE investments, such as total commitment, funded commitment, unfunded commitment, recallable capital, etc.
Data Management Reporting
OLAP reports provide the maximum level of customization, allowing any column in Data Management to be pulled into a report. These go beyond the Eagle Accounting Grid Reports because they are not limited by core queries, can support multiple sources and various types of calculations, and provide drill-down functionality based on user-defined groupings.General Reporting (Eagle OLAP)
Performance
The Eagle Performance Toolkit can be utilized for IRR calculations for PE securities, 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 PE 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
PE 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:
0 Comments