Providing you have suitable access control permissions, you can create a side to determine how a movement in a transaction type to which the side is ultimately assigned impacts a holding.
Note the following:
LUSID provides a set of built-in sides. It might be worth checking whether one of these is suitable before creating a custom side.
You can assign a side to any number of movements in any number of transaction types, providing those transaction types are domiciled in the same scope as the side.
Once assigned to movements in live transaction types, you should only modify a side under exceptional circumstances.
If you do modify a side, the PUT
SetSide*
APIs operate differently to the standard PUSHUpsert*
model used elsewhere in LUSID. A side is replaced rather than updated, so it's important to specify the entire definition each time. And note theSetSideDefinitions
API replaces all sides in a scope.
For examples of creating custom sides, see the following tutorials:
The following methods are available:
Method 1: Using the LUSID REST API
Method 2: Using the LUSID web app
Using the LUSID REST API
Call the SetSideDefinition API to create a side in a particular scope (see below), or the SetSideDefinitions API to create all your sides in a scope in a single operation, passing in your API token and specifying the following parameters in the URL:
A
side
name uniquely identifying the side in its scope.A
scope
if transaction types to which the side will ultimately be assigned are domiciled in a custom transaction type scope. If you omit this parameter, the side is created in thedefault
scope, and can only be assigned to transaction types domiciled in thedefault
scope.
In the body of the API request, specify:
One of the allowed values for each of the mandatory
security
,currency
,rate
,units
andamount
fields.Optionally for transactions in Future or CFD instruments, one of the allowed values for the
notionalAmount
field, for example theTransaction/default/NotionalAmount
system property.
Consider the following example of a call to the SetSideDefinition
API:
curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/sides/BuyWithCommission?scope=Ibor'
-H 'Content-Type: application/json-patch+json'
-H 'Authorization: Bearer <your-API-access-token>'
-d '{
"security": "Txn:SettleCcy",
"currency": "Txn:SettlementCurrency",
"rate": "SettledToPortfolioRate",
"units": "Transaction/MyProperties/Commission",
"amount": "Transaction/MyProperties/Commission",
"notionalAmount": "Transaction/default/NotionalAmount"
}'
Using the LUSID web app
Navigate to the System Settings > Transaction Types dashboard and open the Sides tab (highlighted in red).
Click the Add side button (highlighted in green) and follow the instructions: