Skip to content

FIX MESSAGE 35=8

ExecutionReport

MsgType (35) = 8SingleGeneralOrderHandlingAdded FIX.2.7

Definition

The execution report message is used to:

  1. Confirm the receipt of an order
  2. Confirm changes to an existing order (i.e. accept cancel and replace requests)
  3. Relay order status information
  4. Relay fill information on working orders
  5. Reject orders
  6. Report post-trade fees calculations associated with a trade

FIX 4.2 group names/IDs were assigned during the official Orchestra translation; some mappings to later versions are approximate. This layout stays within the 4.2 source.

Message structure 126 distinct fields

Source order, including nested components and groups. Group counts precede the repeated entries. “Required here” is relative to the enclosing component or group, not unconditional in the message. A dash means not marked required; conditional requirements remain in the source notes. This is a reference, not a counterparty-specific validator.

  1. StandardHeaderComponentRequired

    MsgType = 8

    1. 8 BeginStringStringRequired here

      FIX.4.2 (Always unencrypted, must be first field in message)

    2. 9 BodyLengthintRequired here

      (Always unencrypted, must be second field in message)

    3. 35 MsgTypeStringRequired here

      (Always unencrypted, must be third field in message)

    4. 49 SenderCompIDStringRequired here

      (Always unencrypted)

    5. 56 TargetCompIDStringRequired here

      (Always unencrypted)

    6. Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)

    7. Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)

    8. Required to identify length of encrypted section of message. (Always unencrypted)

    9. Required when message body is encrypted. Always immediately follows SecureDataLen field.

    10. 34 MsgSeqNumintRequired here

      (Can be embedded within encrypted data section.)

    11. (Can be embedded within encrypted data section.)

    12. Sender's LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)

    13. "ADMIN" reserved for administrative messages not intended for a specific user. (Can be embedded within encrypted data section.)

    14. Trading partner LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)

    15. Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)

    16. Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)

    17. Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)

    18. Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)

    19. 43 PossDupFlagBoolean

      Always required for retransmitted messages, whether prompted by the sending system or as the result of a resend request. (Can be embedded within encrypted data section.)

    20. 97 PossResendBoolean

      Required when message may be duplicate of another message sent under a different sequence number. (Can be embedded within encrypted data section.)

    21. 52 SendingTimeUTCTimestampRequired here

      (Can be embedded within encrypted data section.)

    22. 122 OrigSendingTimeUTCTimestamp

      Required for message resent as a result of a ResendRequest. If data is not available set to same value as SendingTime (Can be embedded within encrypted data section.)

    23. Required when specifying XmlData to identify the length of a XmlData message block. (Can be embedded within encrypted data section.)

    24. Can contain an XML-formatted message block (e.g. FIXML). Always immediately follows XmlDataLen field. (Can be embedded within encrypted data section.) See Appendix M – FIXML Support

    25. Type of message encoding (non-ASCII characters) used in a message’s "Encoded" fields. Required if any "Encoding" fields are used.

    26. The last MsgSeqNum value received and processed. Can be specified on every message sent. Useful for detecting a backlog with a counterparty.

    27. Used when a message is sent via a "hub" or "service bureau". If A sends to Q (the hub) who then sends to B via a separate FIX session, then when Q sends to B the value of this field should represent the SendingTime on the message A sent to Q. (always expressed in UTC (Universal Time Coordinated, also known as "GMT")

  2. 37 OrderIDStringRequired

    OrderID is required to be unique for each chain of orders.

  3. Can be used to provide order id used by exchange or executing system.

  4. 11 ClOrdIDString

    Required for executions against electronically submitted orders which were assigned an ID by the institution. Not required for orders manually entered by the broker.

  5. Conditionally required for response to an electronic Cancel or Cancel/Replace request (ExecType=PendingCancel, Replaced, or Canceled). ClOrdID of the previous order (NOT the initial order of the day) when canceling or replacing an order.

  6. 109 ClientIDString

    Used for firm identification in third-party transactions (should not be a substitute for OnBehalfOfCompID/DeliverToCompID).

  7. 76 ExecBrokerString

    Used for firm identification in third-party transactions (should not be a substitute for OnBehalfOfCompID/DeliverToCompID).

  8. ContraGrpRepeating groupCount tag 382

    Number of ContraBrokers repeating group instances.

    1. 382 NoContraBrokersGroup count
    2. First field in repeating group. Required if NoContraBrokers > 0.

    3. 438 ContraTradeTimeUTCTimestamp
  9. 66 ListIDString

    Required for executions against orders which were submitted as part of a list.

  10. 17 ExecIDStringRequired

    Must be unique for each Execution Report message

  11. 20 ExecTransTypecharRequired
  12. 19 ExecRefIDString

    Required for Cancel and Correct ExecTransType messages

  13. 150 ExecTypecharRequired

    Describes the type of execution report. Same possible values as OrdStatus.

  14. 39 OrdStatuscharRequired

    Describes the current state of a CHAIN of orders, same scope as OrderQty, CumQty, LeavesQty, and AvgPx

  15. For optional use with ExecType = 8 (Rejected)

  16. Required for ExecType = D (Restated).

  17. 1 AccountString

    Required for executions against electronically submitted orders which were assigned an account by the institution

  18. Absence of this field is interpreted as Regular.

  19. 64 FutSettDateLocalMktDate

    Required when SettlmntTyp = 6 (Future) or SettlmntTyp = 8 (Sellers Option)

  20. 55 SymbolStringRequired
  21. 65 SymbolSfxString
  22. 48 SecurityIDString
  23. 22 IDSourceString
  24. Must be specified if a Future or Option. If a Future: Symbol, SecurityType, and MaturityMonthYear are required. If an Option: Symbol, SecurityType, MaturityMonthYear, PutOrCall, and StrikePrice are required.

  25. Specifies the month and year of maturity. Required if MaturityDay is specified.

  26. 205 MaturityDayDayOfMonth

    Can be used in conjunction with MaturityMonthYear to specify a particular maturity date.

  27. For Options.

  28. For Options.

  29. For Options.

  30. For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount.

  31. For Fixed Income.

  32. Can be used to identify the security.

  33. 106 IssuerString
  34. Must be set if EncodedIssuer field is specified and must immediately precede it.

  35. Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding field.

  36. Must be set if EncodedSecurityDesc field is specified and must immediately precede it.

  37. Encoded (non-ASCII characters) representation of the SecurityDesc field in the encoded format specified via the MessageEncoding field.

  38. 54 SidecharRequired
  39. Either CashOrderQty or OrderQty is required. Not required for a rejected cash order or an order ack for a cash order.

  40. Either CashOrderQty or OrderQty is required. Specifies the approximate "monetary quantity" conveyed on the order. Broker is responsible for converting and calculating OrderQty in shares for subsequent messages involving fills.

  41. 40 OrdTypechar
  42. 44 PricePrice

    Required if specified on the order

  43. 99 StopPxPrice

    Required if specified on the order

  44. 211 PegDifferencePriceOffset

    Required if specified on the order

  45. Code to identify the price a DiscretionOffset is related to and should be mathematically added to. Required if DiscretionOffset is specified.

  46. 389 DiscretionOffsetPriceOffset

    Amount (signed) added to the "related to" price specified via DiscretionInst.

  47. 15 CurrencyCurrency
  48. Absence of this field indicates Day order

  49. 168 EffectiveTimeUTCTimestamp

    Time specified on the order at which the order should be considered valid

  50. 432 ExpireDateLocalMktDate

    Conditionally required if TimeInForce = GTD and ExpireTime is not specified.

  51. 126 ExpireTimeUTCTimestamp

    Conditionally required if TimeInForce = GTD and ExpireDate is not specified.

  52. 18 ExecInstMultipleValueString

    Can contain multiple instructions, space delimited.

  53. 47 Rule80Achar
  54. Quantity of shares bought/sold on this (last) fill. Not required ExecTransType = 3 (Status). When required, should be "0" for non-fills ("fill" defined as ExecTransType=New and ExecType=Partial Fill or Fill) unless noted below. If ExecType=Stopped, represents the quantity stopped/guaranteed/protected for.

  55. 31 LastPxPrice

    Price of this (last) fill. Not required for ExecTransType = 3 (Status), Should represent the "all-in" (LastSpotRate + LastForwardPoints) rate for F/X orders. ). When required, should be "0" for non-fills ("fill" defined as ExecTransType=New and ExecType=Partial Fill or Fill) unless noted below. If ExecType=Stopped, represents the price stopped/guaranteed/protected at.

  56. Applicable for F/X orders

  57. 195 LastForwardPointsPriceOffset

    Applicable for F/X orders

  58. 30 LastMktExchange
  59. 151 LeavesQtyQtyRequired

    Amount of shares open for further execution. If the OrdStatus is Canceled, DoneForTheDay, Expired, Calculated, or Rejected (in which case the order is no longer active) then LeavesQty could be 0, otherwise LeavesQty = OrderQty - CumQty.

  60. 14 CumQtyQtyRequired

    Currently executed shares for chain of orders.

  61. 6 AvgPxPriceRequired
  62. For GT orders on days following the day of the first trade.

  63. For GT orders on days following the day of the first trade.

  64. 426 DayAvgPxPrice

    For GT orders on days following the day of the first trade.

  65. States whether executions are booked out or accumulated on a partially filled GT order

  66. 75 TradeDateLocalMktDate

    Used when reporting other than current day trades.

  67. 60 TransactTimeUTCTimestamp

    Time the transaction represented by this ExecutionReport occurred

  68. On a fill/partial fill messages, it represents value for that fill/partial fill, on ExecType=Calculated, it represents cumulative value for the order. Monetary commission values are expressed in the currency reflected by the Currency field.

  69. Used to report results of forex accommodation trade

  70. Used to report results of forex accommodation trade

  71. Foreign exchange rate used to compute SettlCurrAmt from Currency to SettlCurrency

  72. Specifies whether the SettlCurrFxRate should be multiplied or divided

  73. For options

  74. 58 TextString
  75. Must be set if EncodedText field is specified and must immediately precede it.

  76. Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.

  77. 193 FutSettDate2LocalMktDate

    Can be used with OrdType = "Forex - Swap" to specify the "value date" for the future portion of an F/X swap.

  78. Can be used with OrdType = "Forex - Swap" to specify the order quantity for the future portion of an F/X swap.

  79. Default is a single security if not specified.

  80. StandardTrailerComponentRequired
    1. Required when trailer contains signature. Note: Not to be included within SecureData field

    2. Note: Not to be included within SecureData field

    3. 10 CheckSumStringRequired here

      (Always unencrypted, always last field in message)