A side is a plug-and-play component of a movement, which itself is a component of a transaction type.

A side determines which holding is impacted by all the transactions belonging to that transaction type, and which transaction attributes (built-in data fields, properties or calculated fields) are used to update the quantity and/or cost of the holding.

Note the following:

  • LUSID provides a set of built-in sides which you can use as-is or modify. Alternatively, you can create your own custom sides.

  • The same side can be used in movements belonging to multiple transaction types.

  • A side is domiciled in a scope and can only ultimately belong to transaction types domiciled in the same scope.

  • A side has a set of mandatory and optional data fields. See the table below for allowed and default values.

Data field

Status

Allowed values

Explanation

Example value

Default value (if missing)

security

Identifies the underlying instrument, whether security or currency.

Mandatory

Txn:LusidInstrumentId

Returns the instrumentUid field on a transaction.

LUID_98ABCDJK

The unknown instrument, LUID_ZZZZZZZZ

Txn:TradeCurrency

Returns the transactionCurrency field on a transaction.

CCY_USD

Txn:SettlementCurrency or Txn:SettleCcy

Returns the totalConsideration.currency field on a transaction, for circumstances in which the settlement currency is different to the trade currency.

CCY_GBP

Txn:PortfolioCurrency

Returns the baseCurrency field on a transaction portfolio.

CCY_JPY

A transaction property

Returns the value of a custom property added to a transaction using its 3-stage key, for example Transaction/Demo/BuyAmountCcy. The property must either use the built-in String data type or have a custom data type with a primitive valueType of String. The property value must contain a valid instrument LUID, currency LUID, or ISO 4217 currency code.

LUID_98ABCDJK or CCY_GBP or GBP

currency

Identifies the currency of the flow.

Mandatory

Txn:TradeCurrency

Returns the transactionCurrency field on a transaction.

GBP

The unknown currency, CCY_ZZZ

Txn:SettlementCurrency or Txn:SettleCcy

Returns the totalConsideration.currency field on a transaction, for circumstances in which the settlement currency is different to the trade currency.

USD

Txn:PortfolioCurrency

Returns the baseCurrency field on a transaction portfolio.

EUR

A transaction property

Returns the value of a custom property added to a transaction using its 3-stage key, for example Transaction/Demo/BuyAmountCcy. The property must either use the built-in currency or iso4217Currency data type, or have a custom data type with a primitive valueType of String. The property value must contain a valid ISO 4217 currency code or currency LUID.

JPY or CCY_JPY

rate

Fixes the exchange rate between the currency of the flow and the portfolio's base currency, if different.

Mandatory

Txn:TradeToPortfolioRate

Returns the value of the Transaction/default/TradeToPortfolioRate system property added to a transaction to represent the exchange rate between the transaction's trade currency and the portfolio's base currency.

1.09

0

SettledToPortfolioRate

This is a calculated field representing the rate from the settlement currency to the portfolio currency. It is calculated as TradeToPortfolioRate/ExchangeRate, where ExchangeRate is the rate from trade currency to settlement currency.

1.78

A transaction property

Returns the value of a custom property added to a transaction using its 3-stage key, for example Transaction/Demo/FxRate. The property must either use the built-in number or currencyAndAmount data type, or have a custom data type with a primitive valueType of Decimal or Int. The property value must contain a parsable numeric value.

1.17

A constant value

For example, 1.0 when using Txn:PortfolioCurrency as the currency.

1.0

units, amount

Determines the number of units in the flow and their value respectively. The allowed values are the same.

Mandatory

Txn:Units

Returns the units field on a transaction.

100

0

Txn:TotalConsideration

Returns the totalConsideration.amount field on a transaction.

12678

Txn:TradeAmount

This is a calculated field representing the value of the underlying instrument in the trade currency:

  • If the underlying instrument is a currency, the number of units is returned.

  • Otherwise the total consideration less bond interest (if any) is returned, converted at the exchange rate on the transaction.

  • When the total consideration is zero (or not populated), the number of units multiplied by price is returned.

12678

Txn:BondInterest

Returns the value of the Transaction/default/BondInterest system property added to a transaction to represent the accrued interest in the settlement currency included in the purchase/sale of a bond.

90000

BaseOnSeparateBondInterest

This is a calculated field representing total consideration minus bond interest, where the latter is the value of the Transaction/default/BondInterest system property.

82000

Txn:BondInterestPortfolio

This is a calculated field representing bond interest converted to the portfolio's base currency, where the former is the value of the Transaction/default/BondInterest system property.

75000

A transaction property

Returns the value of a custom property added to a transaction using its 3-stage key, for example Transaction/Demo/Commission. The property must either use the built-in number or currencyAndAmount data type, or have a custom data type with a primitive valueType of Decimal or Int. The property value must contain a parsable numeric value.

302345

A constant value

For example, 0 when the units are not updated ie. a cost adjustment.

0

notionalAmount

Determines the notional value of the flow, if applicable.

Optional

The allowed values for this field are the same as for the units and amount fields, above. However, it might be most useful to assign this field the Transaction/default/NotionalAmount system property, to return the notional amount of a buy or sell transaction in a Future or CFD instrument.

0