---
title: "What is a side?"
slug: "what-is-a-side"
tags: ["transaction type", "side", "movement", "TradeToPortfolioRate", "BaseOnSeparateBondInterest", "SettledToPortfolioRate"]
updated: 2026-07-21T08:09:23Z
published: 2026-07-21T08:09:23Z
canonical: "support.lusid.com/what-is-a-side"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lusid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What is a side?

A *side* is a plug-and-play component of a [movement](/v1/docs/what-is-a-movement), which itself is a component of a [transaction type](/v1/docs/what-is-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](/v1/docs/what-built-in-transaction-types-and-sides-are-provided-with-lusid#builtin-sides) which you can use as-is or modify. Alternatively, you can [create your own custom sides](/v1/docs/how-do-i-create-a-side).
- 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 below for allowed and default values.

## `security`

Mandatory. Identifies the underlying instrument, whether security or currency.

This field is a string that expects to resolve to an instrument or currency [LUID](/v1/docs/what-is-a-lusid-instrument-id-or-luid). The default value (if missing or unresolved) is the [unknown instrument](/v1/docs/what-is-the-unknown-instrument-or-luid-zzzzzzzz): `LUID_ZZZZZZZZ`

| Allowed values | Explanation | Example value |
| --- | --- | --- |
| `Txn:LusidInstrumentId` | Returns the `instrumentUid` field on a transaction. | `LUID_98ABCDJK` |
| `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 [property](/v1/docs/properties) (custom, system or derived) explicitly added to a transaction, for example `Transaction/Demo/BuyAmountCcy`. The property must either use the built-in `String` data type or have a [custom data type](/v1/docs/how-do-i-create-a-custom-data-type-and-store-reference-data) with a primitive `valueType` of `String`. The property value must contain a valid LUID or ISO 4217 currency code. | `LUID_98ABCDJK` or `CCY_GBP` or `GBP` |

## `currency`

Mandatory. Identifies the currency.

This field is a string that expects to resolve to either a [currency LUID](/v1/docs/what-is-a-lusid-instrument-id-or-luid) or an ISO 4217 currency code. The default value (if missing or unresolved) is the [unknown currency](/v1/docs/what-is-the-unknown-instrument-or-luid-zzzzzzzz): `CCY_ZZZ`

| Allowed values | Explanation | Example value |
| --- | --- | --- |
| `Txn:TradeCurrency` | Returns the `transactionCurrency` field on a transaction. | `GBP` |
| `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 [property](/v1/docs/properties) (custom, system or derived) explicitly added to a transaction, 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`. | `JPY` or `CCY_JPY` |

## `rate`

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

This field is a string that expects to resolve to a parsable numeric value. The default value (if missing or unresolved) is `0`.

| Allowed values | Explanation |
| --- | --- |
| `Txn:TradeToPortfolioRate` | Returns the `Transaction/default/TradeToPortfolioRate` [system property](/v1/docs/what-is-a-system-property) to represent the exchange rate between the transaction currency and the portfolio's base currency. |
| `SettledToPortfolioRate` | This is a calculated field representing the rate from the settlement currency to the portfolio currency. It is calculated as `Transaction/default/TradeToPortfolioRate / exchangeRate`, where `exchangeRate` is the rate from transaction currency to settlement currency. |
| A transaction property | Returns the value of a [property](/v1/docs/properties) (custom, system or derived) explicitly added to a transaction, 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`. |
| A constant value | For example, `1.0` when using `Txn:PortfolioCurrency` as the currency. |

## `units` and `amount`

Mandatory. Determines the number of units and their value respectively. The allowed values for both fields are the same. [More on calculated amounts](/v1/docs/transactions-and-manual-vs-automatic-calculation-of-amounts).

These fields are strings that expect to resolve to parsable numeric values. The default value (if missing or unresolved) is `0`.

| Allowed values | Explanation |
| --- | --- |
| `Txn:Units` | Returns the `units` field on a transaction. |
| `Txn:GrossTradeAmount` | Returns the trade amount before fees in transaction currency, a calculation by LUSID that cannot be set manually nor overridden. Note the sign of the amount is aligned with the sign of the units, for circumstances in which negative units are traded. [See how this is calculated](/v1/docs/transactions-and-manual-vs-automatic-calculation-of-amounts). |
| `Txn:TradeAmount` | Returns the trade amount after fees in transaction currency, a calculation by LUSID that cannot be set manually nor overridden. Note the sign of the amount is aligned with the sign of the units, for circumstances in which negative units are traded. [See how this is calculated](/v1/docs/transactions-and-manual-vs-automatic-calculation-of-amounts). |
| `Txn:GrossConsideration` | Returns the `Transaction/default/GrossConsideration` system property, whether set or calculated. Note this includes accrued interest, is before fees, and is in settlement currency. [More information](/v1/docs/transactions-and-manual-vs-automatic-calculation-of-amounts). |
| `Txn:TotalConsideration` | Returns the `totalConsideration.amount` field on a transaction, whether set or calculated. Note this includes accrued interest, is after fees, and is in settlement currency. [More information](/v1/docs/transactions-and-manual-vs-automatic-calculation-of-amounts). |
| `Txn:TotalConsiderationInTradeCurrency` | Returns `totalConsideration.amount / exchangeRate`, to convert to transaction currency. |
| `Txn:BondInterest` | Returns the `Transaction/default/BondInterest` system property, whether set or calculated. [More information](/v1/docs/transactions-and-manual-vs-automatic-calculation-of-amounts). |
| `BaseOnSeparateBondInterest` | Returns `totalConsideration.amount - Transaction/default/BondInterest` |
| `Txn:BondInterestPortfolio` | Returns `Transaction/default/BondInterest * ` `Transaction/default/TradeToPortfolioRate`, to convert to portfolio currency. |
| `Txn:NotionalAmount` | Returns the `Transaction/default/NotionalAmount` system property. See the `notionalAmount` field, below. |
| `Txn:TotalFees` | Returns the `Transaction/default/TotalFees` system property when LUSID's [transaction fee engine](/v1/docs/transaction-fees-and-capitalisation) is enabled, storing both capitalised and expensed fees. |
| `Txn:TotalCapitalisedFees` | Returns the `Transaction/default/TotalCapitalisedFees` system property, storing total capitalised fees. |
| `Txn:TotalNonCapitalisedFees` | Returns the `Transaction/default/TotalNonCapitalisedFees` system property, storing total expensed fees. |
| A transaction property | Returns the value of a [property](/v1/docs/properties) (custom, system or derived) explicitly added to a transaction, 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`. |
| A constant value | For example, `0` for when the units should not be updated i.e. a cost adjustment. |

## `notionalAmount`

Optional for `Future` and `ContractForDifference` instruments only. Determines the notional value. [More information](/v1/docs/transactions-and-manual-vs-automatic-calculation-of-amounts).

Typical behaviour is to configure this field to use `Txn:NotionalAmount`, which returns the value of the `Transaction/default/NotionalAmount` system property added to a transaction or calculated automatically. However, it can accept any of the other allowed values for the `units` and `amount` fields, [above](/v1/docs/what-is-a-side#units-amount).

This field is a string that expects to resolve to a parsable numeric value. The default value (if missing or unresolved) is `0`.

## `currentFace`

Optional for MBS instruments only (modelled as asset-backed `ComplexBond`). Determines the outstanding notional of a holding. [More information](/v1/docs/transactions-and-manual-vs-automatic-calculation-of-amounts).

This field is a string that expects to resolve to a parsable numeric value. The default value (if missing or unresolved) is `0`.

| Allowed values | Explanation |
| --- | --- |
| `Txn:CurrentFace` | Returns the `Transaction/default/CurrentFace` system property, whether this is set or calculated. |
| `Txn:Units` | Returns the `units` field on a transaction. |
| `Txn:TotalConsideration` | Returns the `totalConsideration.amount` field on a transaction. |
| A transaction property | Returns the value of a [property](/v1/docs/properties) (custom, system or derived) explicitly added to a transaction, for example `Transaction/Demo/Commission`. The property must either use the built-in `number` data type, or have a custom data type with a primitive `valueType` of `Decimal`. |
| A constant value | A parsable numeric value, for example `2500`. |
