FIX 4.0 : Execution Report <8> message

Structure | Related Messages


The Execution Report <8> 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 as orders are worked
  5. reject orders
  6. report miscellaneous fees calculations associated with a trade

NOTE: Execution reports do not replace the end-of-day confirm. Execution reports are to be regarded only as replacements for the existing fill messages currently communicated via telephone.

Each execution message will contain information that will describe the current state of the order and execution status as understood by the broker.

Execution report messages can be transmitted as transaction types (ExecTransType <20>) NEW, CANCEL, CORRECT or STATUS. Transaction types CANCEL and CORRECT modify the state of the message identified in field ExecRefID <19>. Transaction type STATUS indicates that the execution message contains no new information, only summary information regarding order status.

  • The NEW transaction type indicates that this message represents a new order, a change in status of the order, or a new fill against an existing order. The combination of the ExecTransType <20> and OrdStatus <39> fields will indicate how the message is to be applied to an order.
  • The CANCEL transaction type applies at the execution level. The Cancel transaction will be used to cancel an execution which has been reported in error. The canceled execution will be identified in the ExecRefID <19> field.
  • The CORRECT transaction type applies at the execution level and is used to modify an incorrectly reported fill. The incorrect execution will be identified in the ExecRefID <19> field. Note: Data reported in the CumQty <14> and AvgPx <6> fields represent the status of the order as of the time of the correction, not as of the time of the originally reported execution.

The OrdStatus <39> field is used to identify the status of the current order. The order statuses are as follows:

OrdStatus Description
New Outstanding order with no executions
Partially Filled Outstanding order with executions and remaining quantity
Filled Order completely filled, no remaining quantity
Done for Day Order not, or partially, filled; no further executions forthcoming
Canceled Canceled order with or without executions
Replaced Replaced order with or without executions
Pending Cancel/Replace Order with cancel request pending, used to confirm receipt of cancel or replace request. DOES NOT INDICATE THAT THE ORDER HAS BEEN CANCELED OR REPLACED.
Stopped Order has been stopped at the exchange
Rejected Order has been rejected by broker. NOTE: An order can be rejected subsequent to order acknowledgment, i.e. an order can pass from New to Rejected status.
Suspended Order has been placed in suspended state at the request of the client
Pending New Order has been received by brokers system but not yet accepted for execution. An Execution message with this status will only be sent in response to a Status Request <H> message.
Expired Order has been canceled in broker's system due to time in force instructions
Calculated Order has been completed for the day (either filled or done for day). Miscellaneous fees have been calculated and reported in this execution message.

NOTE: The canceled and replaced order status is set in response to accepted cancel and replace requests. These requests are only acted upon when there is an outstanding order quantity. Requests to replace OrderQty <38> to a level less than the CumQty <14> will be rejected (OrderQty <38> = CumQty <14> + LeavesQty). Requests to change price on a filled order will be rejected (see Order Cancel Reject <9> message type).

The CumQty <14> and AvgPx <6> fields should be calculated to reflect the fills on all versions of an order. For example, if partially filled order A were replaced by order B, the CumQty <14> and AvgPx <6> on order B's fills should represent the fills on order A plus those on order B.

The field ClOrdID <11> is provided for institutions to affix an identification number to an order to coincide with internal systems. The OrderId field is populated with the broker-generated order number.


Tag Field Name Req'd Comments
<MessageHeader> Y MsgType <35> = 8
37 OrderID Y
11 ClOrdID N

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

109 ClientID N

Used for firm identification in third-party transactions.

76 ExecBroker N

Used for firm identification in third-party transactions.

66 ListID N

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

17 ExecID Y
20 ExecTransType Y
19 ExecRefID N

Required for Cancel and Correct ExecTransType <20> messages

39 OrdStatus Y
103 OrdRejReason N

For optional use with OrdStatus <39> ='8' (Rejected)

1 Account N

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

63 SettlmntTyp N

Absence of this field is interpreted as Regular.

64 FutSettDate N

Required when SettlmntTyp <63> ='6' (Future) or SettlmntTyp <63> ='8' (Sellers Option)

55 Symbol Y
65 SymbolSfx N
48 SecurityID N
22 IDSource N
106 Issuer N
107 SecurityDesc N
54 Side Y
38 OrderQty Y
40 OrdType N
44 Price N
99 StopPx N

Required for OrdType <40> ='4' (Stop Limit).

15 Currency N

Message without Currency <15> field is interpreted as US dollars

59 TimeInForce N

Absence of this field indicates Day order

126 ExpireTime N

Required if TimeInForce <59> = GTD

18 ExecInst N

Can contain multiple instructions, space delimited.

47 Rule80A N
32 LastShares Y

Not required ExecTransType <20> ='3' (Status)

31 LastPx Y

Not required for ExecTransType <20> ='3' (Status)

30 LastMkt N
29 LastCapacity N
14 CumQty Y
6 AvgPx Y
75 TradeDate N

Used when reporting other than current day trades.

60 TransactTime N
113 ReportToExch N
12 Commission N
13 CommType N
136 NoMiscFees N

Required if any miscellaneous fees are reported. Indicates number of repeating entries.

=> 137 MiscFeeAmt N

Required if NoMiscFees <136> > 0

=> 138 MiscFeeCurr N

Required if NoMiscFees <136> > 0

=> 139 MiscFeeType N

Required if NoMiscFees <136> > 0

118 NetMoney N

Required if miscellaneous fees are reported, in currency of execution

119 SettlCurrAmt N

Used to report results of forex accommodation trade

120 SettlCurrency N

Used to report results of forex accommodation trade

58 Text N
<MessageTrailer> Y


Related Messages