LUSID automatically generates at least one journal entry line for each item of economic activity in each source transaction portfolio underlying a fund. Journal entry lines constitute the building blocks of financial reports for that fund.
Each journal entry line is a debit or credit amount representing a financial impact of that economic activity. The posting rules you've chosen for a particular fund NAV type then post the amount to a specific general ledger account.
LUSID generates journal entry lines in response to the following types of economic activity in a portfolio:
Transaction activity
LUSID generates at least one journal entry line per output transaction. Note the following:The number of journal entry lines is determined by the transaction type. Every movement belonging to that transaction type generates at least one journal entry line, while some movements generate multiple lines on trade and settlement dates. More about transaction types and movements.
The nature of a journal entry line depends on the economic bucket (for example
NA_Cost
orCA_Capital
) into which it is automatically categorised by LUSID, which itself depends on the movement type. The amount is reported in both local (transaction) and base (portfolio) currency.It is your responsibility to use transaction types with movements that create pairs of journal entry lines categorised into appropriate economic buckets. For example, a transaction representing a subscription might have a
FundsIn
-style transaction type with two movements, one generating aNA_Cost
journal entry line for a positive debit amount to be posted to an investments account (or similar), and the other generating an equal and oppositeCA_Capital
journal entry line for a negative credit amount to be posted to a cash account (or similar).To ensure journal entry lines balance, LUSID may produce a balancing entry for an 'unknown P&L component' categorised into a
PL_Other
economic bucket. This can be mapped by posting rules to an appropriate account, or more commonly to an error account for easy diagnosis of possible configuration problems.
Valuation activity
LUSID generates at least one pair of journal entry lines per holding impacted by the latest market data (prices and/or FX rates) detected in the LUSID Quote Store. Note the following:The number of journal entry line pairs is determined by the type of underlying instrument and the impact of that market data on the valuation.
The nature of a journal entry line depends on the economic bucket into which it is automatically categorised by LUSID. The amount is always reported in base currency, and for most buckets in local currency as well.
LUSID automatically balances journal entry lines for valuation activity, so for example a positive debit amount for unrealised share price gain/loss for posting to an investments account (or similar) is always paired with an equal and opposite negative credit amount for posting to a PnL account (or similar).
It is your responsibility to load market data suitable for valuing each holding on the start and end dates of an accounting period. You do not need to load market data for intermediate dates. More about valuation and market data.
Auditing journal entry lines
Call the GetValuationPointJournalEntryLines API:
curl -X POST 'https://<your-domain>.lusid.com/api/api/funds/MyFundScope/MyFundCode/valuationpoints/journalentrylines/$query'
-H 'Content-Type: application/json-patch+json'
-H 'Authorization: Bearer <your-API-access-token>'
-d '{
"end": {
"diaryEntry": "VP-28Feb2024"
}
}'
Navigate to Fund Accounting > Journal Entry Lines and select a Fund, a NAV Type and, at a mimimum, a To Calendar Entry. Note that LUSID shows lines since the last finalised valuation point:
You can specify a range of valuation points by enabling Display Range and selecting a From Calendar Entry to show additional journal entry lines. Alternatively, you can specify dates by enabling Ad-Hoc Mode.
Coming soon
Example: Journal entry lines for a portfolio containing equities
Imagine we have a simple GBP-denominated portfolio containing equities. And a fund set up to reference that portfolio with the following four general ledger accounts in the underlying chart of accounts:
In this example we'll see how to configure LUSID to generate balanced pairs of journal entry lines representing a typical selection of portfolio economic activity for posting to these accounts.
Subscription transaction
On 1 July we seed the portfolio with $15,000 at a USD/GBP exchange rate of 0.75, using a FundsIn
transaction type with two movements, Capital
and CashAccrual
. When the trade settles on 3 July, these movement types combine to generate a balanced pair of journal entry lines, so no further configuration is required.
LUSID generates the following journal entry lines for this transaction; note these have a source type of LusidTransaction
:
Transaction type | Movement(s) | Journal entry lines | Notes | |||||
---|---|---|---|---|---|---|---|---|
Date | Economic bucket | Holding type | DR or CR | Local amount (USD) | Base amount (GBP) | |||
|
| 1 July |
|
| Credit | -15000 | -11250 | Balances the cash holding. |
Subtotal |
|
|
|
| -15000 | -11250 |
| |
| 1 July |
|
| Debit | 15000 | 11250 | Receivable cash holding on the trade date. | |
3 July |
|
| Credit | -15000 | -11250 | Reverses the receivable cash holding on the settlement date. | ||
3 July |
|
| Debit | 15000 | 11250 | Permanent cash holding. | ||
Subtotal | 15000 | 11250 |
| |||||
Total | 0 | 0 |
|
We can post the:
Debit amount (journal entry line with an economic bucket of
NA_Cost
and holding type ofB
) to the2-Cash
account.Credit amount (economic bucket of
CA_Capital
) to the3-Capital
account.
Note: You can choose to post journal entry lines reflecting temporary receivable/payable cash holdings (holding types of
A
,C
orR
) to specific accounts on the trade date if you wish. For the purpose of simplicity in this example, these journal entry lines are ignored.
Purchase transaction
On 3 July we buy 300 Microsoft shares @ $10 at a USD/GBP exchange rate of 0.7, using a Buy
transaction type with two movements, StockMovement
and CashCommitment
. When the trade settles on 5 July, these movement types combine to generate a balanced pair of journal entry lines, so no further configuration is required. A holdings report on 5 July shows a position of 300 Microsoft shares and a USD cash balance of $12,000.
LUSID generates the following journal entry lines for this transaction:
Transaction type | Movement(s) | Journal entry lines | Notes | |||||
---|---|---|---|---|---|---|---|---|
Date | Economic bucket | Holding type | DR or CR | Local amount (USD) | Base amount (GBP) | |||
|
| 3 July |
|
| Debit | 3000 | 2100 | Security (non-cash) holding. |
Subtotal |
|
|
|
| 3000 | 2100 |
| |
| 3 July |
|
| Credit | -3000 | -2100 | Payable cash holding on the trade date. | |
5 July |
|
| Debit | 3000 | 2100 | Reverses the payable cash holding on the settlement date. | ||
5 July |
|
| Credit | -3000 | -2250 | Permanent cash holding. | ||
5 July |
|
| Debit | 0 | 150 | Currency gain/loss is only reported in the base (or portfolio) currency. | ||
Subtotal | -3000 | -2100 |
| |||||
Total | 0 | 0 |
|
We can post the:
Debit amount for the security (economic bucket of
NA_Cost
and holding type ofP
) to the1-Investments
account.Credit amount for cash (economic bucket of
NA_Cost
and holding type ofB
) to the2-Cash
account.Debit amount for realised currency gain/loss to the
4-PnL
account. Note an equal and opposite amount of base currency has already been factored into the credit amount for cash.
Dividend transaction
On 5 July we load a dividend of 10 cents per share for our 300 Microsoft shares at a USD/GBP exchange rate of 0.77, using a Dividend
transaction type with two movements, Carry
and CashAccrual
. When the trade settles on 7 July, these movement types combine to generate a balanced pair of journal entry lines, so no further configuration is required. A holdings report on 7 July shows a position of 300 Microsoft shares and a USD cash balance of $12,030.
LUSID generates the following journal entry lines for this transaction:
Transaction type | Movement(s) | Journal entry lines | Notes | |||||
---|---|---|---|---|---|---|---|---|
Date | Economic bucket | Holding type | DR or CR | Local amount (USD) | Base amount (GBP) | |||
|
| 5 July |
|
| Credit | -30 | -23.10 | Security (non-cash) holding. |
Subtotal |
|
|
|
| -30 | -23.10 |
| |
| 5 July |
|
| Debit | 30 | 23.10 | Receivable cash holding on the trade date. | |
7 July |
|
| Credit | -30 | -23.10 | Reverses the receivable cash holding on the settlement date. | ||
7 July |
|
| Debit | 30 | 23.10 | Permanent cash holding. | ||
Subtotal | 30 | 23.10 |
| |||||
Total | 0 | 0 |
|
We can post the:
Credit amount representing a flow of value out of the security (economic bucket of
PL_Carry
and holding type ofP
) to the4-PnL
account.Debit amount for cash (economic bucket of
NA_Cost
and holding type ofB
) to the2-Cash
account.
Portfolio fee transaction
On 7 July we pay a portfolio fee of £50 using a PortfolioFee
transaction type with two movements, Fee
and CashCommitment
. When the trade settles on 9 July, these movement types combine to generate a balanced pair of journal entry lines, so no further configuration is required. A holdings report on 9 July shows a position of 300 Microsoft shares, a USD cash balance of $12,030 and a GBP cash balance of -£50.
LUSID generates the following journal entry lines for this transaction:
Transaction type | Movement(s) | Journal entry lines | Notes | |||||
---|---|---|---|---|---|---|---|---|
Date | Economic bucket | Holding type | DR or CR | Local amount (GBP) | Base amount (GBP) | |||
|
| 7 July |
|
| Debit | 50 | 50 | Balances the cash holding. |
Subtotal |
|
|
|
| 50 | 50 |
| |
| 7 July |
|
| Credit | -50 | -50 | Payable cash holding on the trade date. | |
9 July |
|
| Debit | 50 | 50 | Reverses the payable cash holding on the settlement date. | ||
9 July |
|
| Credit | -50 | -50 | Permanent cash holding. | ||
Subtotal | -50 | -50 |
| |||||
Total | 0 | 0 |
|
We can post the:
Credit amount (economic bucket of
NA_Cost
and holding type ofB
) to the2-Cash
account.Debit amount (economic bucket of
PL_Fees
and holding type ofB
) to the4-PnL
account.
Sale transaction
On 9 July we sell 100 Microsoft shares @ $15 at a USD/GBP exchange rate of 0.8, using a Sell
transaction type with movements, StockMovement
and CashCommitment
. When the trade settles on 11 July, these movement types combine to generate a balanced pair of journal entry lines, so no further configuration is required. A holdings report on 11 July shows a position of 200 Microsoft shares, a USD cash balance of $13,530 and a GBP cash balance of -£50.
LUSID generates the following journal entry lines for this transaction:
Transaction type | Movement(s) | Journal entry lines | Notes | |||||
---|---|---|---|---|---|---|---|---|
Date | Economic bucket | Holding type | DR or CR | Local amount (USD) | Base amount (GBP) | |||
|
| 9 July |
|
| Credit | -1000 | -700 | Security (non-cash) holding. |
9 July |
|
| Credit | -500 | -400 | Realised gain/loss is a combination of price gain/loss and currency gain/loss. Currency gain/loss is only reported in the base (or portfolio) currency. | ||
9 July |
|
| Credit | 0 | -100 | |||
Subtotal |
| -1500 | -1200 |
| ||||
| 9 July |
|
| Debit | 1500 | 1200 | Receivable cash holding on the trade date. | |
11 July |
|
| Credit | -1500 | -1200 | Reverses the receivable cash holding on the settlement date. | ||
11 July |
|
| Debit | 1500 | 1200 | Permanent cash holding. | ||
Subtotal |
| 1500 | 1200 |
| ||||
Total |
| 0 | 0 |
|
We can post the:
Credit amount for the security (economic bucket of
NA_Cost
and holding type ofP
) to the1-Investments
account.Debit amount for cash (economic bucket of
NA_Cost
and holding type ofB
) to the2-Cash
account.Credit amounts for realised share price and currency gain/loss to the
4-PnL
account. Note a combined equal and opposite amount has already been factored into the debit amount for cash.
Valuation
On 15 July we load the latest market data into the LUSID quote store: a MSFT share price of $20 and USD/GBP spot rate of 0.9. Our remaining 200 shares, which originally cost $2,000 or £1,400, are now worth $4,000 or £3,600, an unrealised gain of £2,200. Our cash balance of $13,530 which cost £10,223.10 is now worth £12,177, an unrealised gain of £1,953.90.
There are no transaction types (and therefore no movements) associated with valuation activity, and LUSID automatically generates balanced pairs of journal entry lines, so no further configuration is required.
LUSID generates the following journal entry lines for the valuation; note these have a source type of LusidValuation
:
Journal entry lines | ||||||
---|---|---|---|---|---|---|
Date | Economic bucket | Holding type | DR or CR | Local amount (USD) | Base amount (GBP) | Notes |
15 July |
|
| Debit | 2000 | 1800 | The |
|
| Credit | -2000 | -1800 | ||
|
| Debit | 0 | 400 | The | |
|
| Credit | 0 | -400 | ||
|
| Debit | 0 | 1953.90 | The | |
|
| Credit | 0 | -1953.90 |
We can post the:
Debit amounts for unrealised share price gain/loss and currency gain/loss for the security (economic bucket starting with
NA_
and holding type ofP
) to the1-Investments
account.Debit amount for unrealised currency gain/loss for cash (economic bucket starting with
NA_
and holding type ofB
) to the2-Cash
account.Credit amounts (economic bucket starting with
PL_
) to the4-PnL
account.