Recommended transaction types for corporate action events

If you use the default transaction templates provided by LUSID for corporate action events then you must create transaction types with specific names residing in the default source.

If you wish to change transaction type names and/or sources then you cannot use the default transaction templates and must instead create custom transaction templates for the events you wish to handle.

The transaction types on this page are suggestions only. You can design a transaction type to have any economic impact you like.

CashDividendEvent

See this dedicated tutorial.

DividendOptionEvent

The default transaction template for this corporate action event lists two transaction types, one mandatory and one conditional.

DvopCashIncome

This transaction type is always required. See also: Movement types | Built-in sides | Calculation types

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/types/default/DvopCashIncome?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "aliases": [
    {
      "type": "DvopCashIncome",
      "description": "Transaction type for dividend option event - cash income",
      "transactionClass": "Basic",
      "transactionRoles": "AllRoles",
      "isDefault": false
    }
  ],
  "movements": [
    {
      "name": "Add income to cash balance"
      "movementTypes": "CashAccrual",
      "side": "Side2",
      "direction": 1,
    },
    {
      "name": "Report the income as a flow out of the investment"
      "movementTypes": "Carry",
      "side": "DvopCashIncomeCarryCustomSide",
      "direction": 1,
    }
  ],
  "calculations": [
    {
      "type": "Txn:TradeToPortfolioRate"
    },
    {
      "type": "Txn:ExchangeRate"
    }
  ]
}'

The second Carry movement uses a custom side:

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/sides/DvopCashIncomeCarryCustomSide?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "security": "Txn:LusidInstrumentId",
  "currency": "Txn:TradeCurrency",
  "rate": "Txn:TradeToPortfolioRate",
  "units": 0,
  "amount": "Txn:TotalConsideration"
}'

DvopSecurityOption

This transaction type is required if the corporate action loaded into LUSID has a chosen election of security. See also: Movement types | Built-in sides | Calculation types

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/types/default/DvopSecurityOption?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "aliases": [
    {
      "type": "DvopSecurityOption",
      "description": "Transaction type for dividend option event - security option",
      "transactionClass": "Basic",
      "transactionRoles": "AllRoles",
      "isDefault": false
    }
  ],
  "movements": [
    {
      "name": "Add units to holding"
      "movementTypes": "StockMovement",
      "side": "Side1",
      "direction": 1,
    },
    {
      "name": "Decrease appropriate cash balance"
      "movementTypes": "CashCommitment",
      "side": "Side2",
      "direction": -1,
    }
  ],
  "calculations": [
    {
      "type": "Txn:TradeToPortfolioRate"
    },
    {
      "type": "Txn:ExchangeRate"
    }
  ]
}'

SpinOffEvent

The default transaction template for this corporate action event lists three transaction types, two mandatory and one conditional.

SpinOffAdjustCost

This transaction type is always required. See also: Movement types | Built-in sides | Calculation types

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/types/default/SpinOffAdjustCost?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "aliases": [
    {
      "type": "SpinOffAdjustCost",
      "description": "Transaction type for spin off event - adjust cost",
      "transactionClass": "Basic",
      "transactionRoles": "AllRoles",
      "isDefault": false
    }
  ],
  "movements": [
    {
      "name": "Adjust cost of holding"
      "movementTypes": "StockMovement",
      "side": "Side1",
      "direction": -1,
    }
  ],
  "calculations": [
    {
      "type": "Txn:TradeToPortfolioRate"
    },
    {
      "type": "Txn:ExchangeRate"
    }
  ]
}'

SpinOffNewUnits

This transaction type is always required. See also: Movement types | Built-in sides | Calculation types

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/types/default/SpinOffNewUnits?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "aliases": [
    {
      "type": "SpinOffNewUnits",
      "description": "Transaction type for spin off event - new units",
      "transactionClass": "Basic",
      "transactionRoles": "AllRoles",
      "isDefault": false
    }
  ],
  "movements": [
    {
      "name": "Add units to holding"
      "movementTypes": "StockMovement",
      "side": "Side1",
      "direction": 1,
    }
  ],
  "calculations": [
    {
      "type": "Txn:TradeToPortfolioRate"
    },
    {
      "type": "Txn:ExchangeRate"
    }
  ]
}'

SpinOffCashInLieu

This transaction type is required if the corporate action loaded into LUSID has fractional units. See also: Movement types | Built-in sides | Calculation types

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/types/default/SpinOffCashInLieu?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "aliases": [
    {
      "type": "SpinOffCashInLieu",
      "description": "Transaction type for dividend option event - cash for fractional units",
      "transactionClass": "Basic",
      "transactionRoles": "AllRoles",
      "isDefault": false
    }
  ],
  "movements": [
    {
      "name": "Remove units from holding"
      "movementTypes": "StockMovement",
      "side": "Side1",
      "direction": -1,
    },
    {
      "name": "Increase appropriate cash balance"
      "movementTypes": "CashCommitment",
      "side": "Side2",
      "direction": 1,
    }
  ],
  "calculations": [
    {
      "type": "Txn:TradeToPortfolioRate"
    },
    {
      "type": "Txn:ExchangeRate"
    }
  ]
}'

StockDividendEvent

The default transaction template for this corporate action event lists two transaction types, one mandatory and one conditional.

StockDividendAdditionalUnits

This transaction type is always required. See also: Movement types | Built-in sides | Calculation types

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/types/default/StockDividendAdditionalUnits?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "aliases": [
    {
      "type": "StockDividendAdditionalUnits",
      "description": "Transaction type for stock dividend event - additional units",
      "transactionClass": "Basic",
      "transactionRoles": "AllRoles",
      "isDefault": false
    }
  ],
  "movements": [
    {
      "name": "Add units to holding"
      "movementTypes": "StockMovement",
      "side": "Side1",
      "direction": 1,
    }
  ],
  "calculations": [
    {
      "type": "Txn:TradeToPortfolioRate"
    },
    {
      "type": "Txn:ExchangeRate"
    }
  ]
}'

StockDividendCashInLieu

This transaction type is required if the corporate action loaded into LUSID has fractional units. See also: Movement types | Built-in sides | Calculation types

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/types/default/StockDividendCashInLieu?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "aliases": [
    {
      "type": "StockDividendCashInLieu",
      "description": "Transaction type for stock dividend event - cash for fractional units",
      "transactionClass": "Basic",
      "transactionRoles": "AllRoles",
      "isDefault": false
    }
  ],
  "movements": [
    {
      "name": "Remove units from holding"
      "movementTypes": "StockMovement",
      "side": "Side1",
      "direction": -1,
    },
    {
      "name": "Increase appropriate cash balance"
      "movementTypes": "CashCommitment",
      "side": "Side2",
      "direction": 1,
    }
  ],
  "calculations": [
    {
      "type": "Txn:TradeToPortfolioRate"
    },
    {
      "type": "Txn:ExchangeRate"
    }
  ]
}'

StockSplitEvent

The default transaction template for this corporate action event lists two transaction types, one mandatory and one conditional.

StockSplitAdditionalUnits

This transaction type is always required. See also: Movement types | Built-in sides | Calculation types

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/types/default/StockSplitAdditionalUnits?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "aliases": [
    {
      "type": "StockSplitAdditionalUnits",
      "description": "Transaction type for stock split event - additional units",
      "transactionClass": "Basic",
      "transactionRoles": "AllRoles",
      "isDefault": false
    }
  ],
  "movements": [
    {
      "name": "Add units to holding"
      "movementTypes": "StockMovement",
      "side": "Side1",
      "direction": 1,
    }
  ],
  "calculations": [
    {
      "type": "Txn:TradeToPortfolioRate"
    },
    {
      "type": "Txn:ExchangeRate"
    }
  ]
}'

StockSplitCashInLieu

This transaction type is required if the corporate action loaded into LUSID has fractional units. See also: Movement types | Built-in sides | Calculation types

curl -X PUT 'https://<your-domain>.lusid.com/api/api/transactionconfiguration/types/default/StockSplitCashInLieu?scope=default'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "aliases": [
    {
      "type": "StockSplitCashInLieu",
      "description": "Transaction type for stock split event - cash for fractional units",
      "transactionClass": "Basic",
      "transactionRoles": "AllRoles",
      "isDefault": false
    }
  ],
  "movements": [
    {
      "name": "Remove units from holding"
      "movementTypes": "StockMovement",
      "side": "Side1",
      "direction": -1,
    },
    {
      "name": "Increase appropriate cash balance"
      "movementTypes": "CashCommitment",
      "side": "Side2",
      "direction": 1,
    }
  ],
  "calculations": [
    {
      "type": "Txn:TradeToPortfolioRate"
    },
    {
      "type": "Txn:ExchangeRate"
    }
  ]
}'