OpenAPI

The transactions resource provides access to historical access of a requesting entity's transactions. Transactions can take many forms, but can simple be described with the following definition:

A transaction documents the movements of cash and or securities on an account.


A movement of cash is a "booking"


A movement of securities is a "trade"


While transactions are primarily documented for previous trade dates, intraday transactions do appear in this endpoint, with the currently available information. After the transaction has been fully netted, booked and settled, all details will be present. Important fields, such as the relevant identifiers, will not be available for intraday transactions.


Types

Transactions consist of a specific grouping of Bookings and Trades. We generalize transactions into four generic types, to facilitate understanding:

TypeIdentifierDefinitionExamplesAdditional detailsCorrections
TradeTradeIdA single movement of securities (trade) MUST occur. There CAN be multiple movements of cash (bookings).

Buying stock of a listed company

Buying a CFD of an index

Selling call options of an equity

Besides the required movement of securities, a Trade Transaction generally has several bookings detailing the associated costs or payments.

The opening of a CFD position, and a securities transfer into Saxo Bank, are examples of a Trade Transaction that does not have bookings.

Corrections applied to a trade transaction exist as separate trade transaction(s) under a new TradeId.
Corporate ActionCorporateActionId

Multiple security movements (trades) CAN occur. Likewise, multiple cash movements (bookings) CAN occur.

A minimum of a single trade or booking MUST occur.


Cash Dividend payout from existing holdings

Share Dividend from your existing holdings

A common Corporate Action Transaction will usually have 0-1 trades, and several bookings. 

Corporate Action Transactions can however become very complex, as they can span long periods of time and in rare cases consist of multiple trades along with many associated bookings.

Corrections applied to a corporate action transaction are included in the original transaction, under the same CorporateActionId. This can contain either additional booking or trade entries to the transaction's response.
Cfd Cash Adjustment

Dividend paid for holding of CfdOnIndex

Cash AmountBookingIdA single booking MUST occur. A trade MUST NOT occur.

Subscription Costs

Account Interest

A Cash Amount or Transfer Transaction is always a single booking, and is the most simple form of a transactionCorrections applied to a cash amount or transfer transaction exist as a separate cash amount transaction under a new BookingId.
Cash Transfer

Cash Deposits

Cash Withdrawals



Even though movements of securities (i.e. trades) can be attributed to a Corporate Action Transaction, it is not a Trade Transaction.

If you are in doubt what the transaction type is, check the "TransactionType" attribute in the response returned.


Transaction Schema

To have a consistent structure between all 4 transaction types, the response object describing a transaction consists of:


SchemasDescriptionExample
Transaction RootRoot of a transaction object, containing generic transaction information and total amounts of bookings, costs, etc.
... 

    "AccountId": "12121515615",
    "Date": "2022-02-14",
    "TradeId": "564455434",
    "FrontOfficeTradeId": "45464864864",
    "TransactionType": "Trade",
    "TransactionTypeDisplay": "Trade",
    "Event": "Buy",
    "EventDisplay": "Buy",
    "Currency": "DKK",
    "TotalCost": -21.12,
    "CurrencyDecimals": 2,
    "BookedAmount": -20.78,
    "ConversionRate": 6.897015,
    "ConversionCost": -0.11,
    "RealizedPnL": 0.0,
    "IsIntraDay": false,
    "Venue": "Exchange",
    "ValueDate": "2020-02-14",
...
BookingsArray of Booking Objects, each containing Booking specific information, describing the reason for cash movement, and the amounts that are applied.
... 
"Bookings": [
    {
        "BookingId": "3432656727",
        "AmountType": "Client Custody Fee",
        "AmountTypeId": "142",
        "BookedAmount": -5.38,
        "ConversionRate": 1.0,
        "CostClass": "AncillaryCosts",
        "CostSubClass": "ProductCosts"
    }
],
...
TradesArray of Trade Objects, each containing Trade specific information, describing detailed attributes of the trade, such as the traded quantity of securities.
... 

"Trades": [
    {
        "TradeId": "5445434545",
        "TradedQuantity": -5000.0,
        "TradeAdjustedDate": "2020-02-14",
        "Price": 1.08427,
        "SpreadCost": -0.34,
        "TradeType": "Sold",
        "TradedValue": 5421.35,
        "OpenClose": "To Close"
    }
],
...


A combined set of the above arrays, objects, and attributes describe a single transaction of all types in a detailed way.


We highly recommend you look into the specific endpoint documentation to get the most detailed explanations of each returned array, object, and attribute. Here we highlight attributes of few general sets of attributes and objects here, to highlight their importance and behavior:

Noteworthy AttributesDescription

All Amount and Conversion fields

These values are always in the currency of the entity making the request.
CashThis shows the before and after cash in the requester entity's currency. We distinguish between available cash, blocked cash, and the overall balance of cash to provide a fully detailed understanding of your cash positions at that time.

Instruments

UnderlyingInstruments

If a transaction relates to an instrument  (and or has an underlying instrument), these objects will be filled out on the transactions detail level.

In the rare event that a transaction based on one instrument, invokes trades of another instrument, the trade object will have an instrument object describing it as well. In most cases, the Instrument and Underlying instruments will only be present on the root level.


If a transaction endpoint is capable of returning multiple transactions, it will be wrapped in the Saxo Response Envelope.


Example Single Transactions and types

It is best explain this structure further, with some transaction types that you may already be familiar with.


TypeDescriptionUnderlying Trade(s)Underlying Booking(s)
TradeBuy SharesBuy 101 shares in IBM:xnys

Pay 70000 DKK for the share amount

Pay 40 DKK for the commission

Corporate ActionContract for Difference Cash Adjustment(error)

Get Cash Dividend paid to you for holdings of Credit Suisse Group AG

Pay Withholding Taxes subtracted from the above amount.

Corporate ActionStock DividendReceived 51 shares of IGB, for no cost(error)
Corporate Action

Dividend Options with correction

Share Option exercised to open on 2021-10-21 to grant 9 shares of RDSb:xlon

Correction Applied on 2021-10-22 to sell 9 shares of RDSb:xlon

Correction Applied on 2021-10-22 to buy 9 shares of RDSb:xlon

Receive 4 DKK for fractional shares paid out

Cash AmountCFD Financing(error)CFD Financing payment of .2 EUR
Cash TransferDeposit of cash to your account(error)1000 Euros added to your account.