====== EXECUTION REPORT [35=8] ======
The Execution Report message notifies clients of order state changes and execution events. This message confirms order receipt, modifications, fills, rejections, and all order lifecycle events.
===== Report Types =====
**ExecType (150) Values:**
^ Code ^ Status ^ Description ^
| 0 | New | Order accepted |
| 3 | Done for Day | Order expired at close |
| 4 | Canceled | Order canceled |
| 5 | Replace | Order modified |
| 6 | Pending Cancel | Cancel request pending |
| 7 | Stopped | Order stopped |
| 8 | Rejected | Order rejected |
| 9 | Suspended | Order suspended |
| A | Pending New | New order pending |
| C | Expired | Order expired |
| E | Pending Replace | Replace pending |
| F | Trade | Execution/fill |
| I | Order Status | Status update |
===== Order Status (OrdStatus) =====
^ Code ^ Status ^
| 0 | New |
| 1 | Partially Filled |
| 2 | Filled |
| 3 | Done for Day |
| 4 | Canceled |
| 5 | Replaced |
| 6 | Pending Cancel |
| 8 | Rejected |
| 9 | Suspended |
| A | Pending New |
===== ExecID Structure =====
* **Trade:** OrderID_TradeSeqNum_T
* **Leg Trade:** OrderID_LegTradeSeqNum_TL
* **Status:** OrderID_SeqNum_F/S/U/H
===== Message Specification =====
**Message Direction:** T4 → Client
^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^
| | **Message Header** | | Y | MsgType = 8 |
| 1 | Account | String | Y | Account code |
| 11 | ClOrdID | String | Y | Client order ID |
| 41 | OrigClOrdID | String | O | Previous ClOrdID |
| 37 | OrderID | String | Y | T4-generated order ID |
| 17 | ExecID | String | Y | Unique execution ID |
| 150 | ExecType | Char | Y | Execution type (see table) |
| 39 | OrdStatus | Char | Y | Current order status |
| 20 | ExecTransType | Int | O | 0=Overnight, 2=BackOffice, 3=Pit |
| 48 | SecurityID | String | Y | T4 Market ID |
| 55 | Symbol | String | Y | T4 Contract ID |
| 207 | SecurityExchange | String | Y | T4 Exchange ID |
| 167 | SecurityType | String | Y | FUT, OPT, STK, SYN, BIN |
| 201 | PutOrCall | Int | C | Options: 0=Put, 1=Call |
| 202 | StrikePrice | Float | C | Options: Strike price |
| 54 | Side | Char | Y | 0=None, 1=Buy, 2=Sell |
| 38 | OrderQty | Int | Y | Total order quantity |
| 40 | OrdType | Char | O | 1=Market, 2=Limit, 3=Stop, 4=Stop Limit |
| 44 | Price | Float | C | Limit price |
| 99 | StopPx | Float | C | Stop price |
| 31 | LastPx | Float | C | Fill price (trades only) |
| 32 | LastQty | Int | C | Fill quantity (trades only) |
| 14 | CumQty | Int | O | Total filled quantity |
| 151 | LeavesQty | Int | O | Remaining open quantity |
| 59 | TimeInForce | Char | Y | 0=Day, 1=GTC, 3=IOC, 4=FOK |
| 60 | TransactTime | UTCTimestamp | O | Transaction time |
| 200 | MaturityMonthYear | String | O | Format: YYYYMM |
| 107 | SecurityDesc | String | O | Security description |
| 21 | HandlInst | Char | O | 1=Automated private, 2=Automated public, 3=Manual |
| 204 | CustomerOrFirm | Int | O | 0=Customer, 1=Firm |
| 77 | OpenClose | Char | O | O=Open, C=Close |
| 58 | Text | String | O | Rejection reason or status text |
| 103 | OrdRejReason | Int | C | Rejection code |
| 337 | ContraTrader | String | O | Counterparty trader |
| 375 | ContraBroker | String | O | Counterparty broker |
| 442 | MultiLegReportingType | Int | O | 1=Single, 2=Individual leg, 3=Multileg |
| 66 | ListID | String | O | Batch order identifier (OCO, AutoOCO) |
| 198 | SecondaryOrderID | String | O | Secondary order ID |
| 526 | SecondaryClOrdID | String | O | Exchange ClOrdIDs |
| 584 | MassStatusReqID | String | O | Associated collateral inquiry ID |
| 912 | LastReportRequested | Boolean | O | Y=Last report in sequence |
| 1028 | ManualOrderIndicator | Boolean | O | Y=Manual, N=Automated |
| 1385 | ContingencyType | Int | O | 1=OCO, 2=AutoOCO, 3=Spark, 8=AutoOCOM |
| 210 | MaxShow | Int | O | Iceberg visible quantity |
| 10100 | TrailingDelta | Float | O | Trailing stop amount |
| 10101 | TriggerPrice | Float | O | Auto OCO trigger price |
| 10102 | ActivationType | Int | O | 1=Immediate, 2=Above, 3=Below, 4=Mode, 5=Time, 6=Queue |
| 10103 | ActivationValue | String | O | Activation conditions (semicolon-delimited) |
| 453 | NoPartyIDs | Int | O | Number of party groups |
| →448 | PartyID | String | C | Party identifier |
| →447 | PartyIDSource | Char | C | D=Proprietary |
| →452 | PartyRole | Int | C | 44=Order entry operator |
| | **Message Trailer** | | Y | |
===== Sample Messages =====
**Note:** Pipe (|) used for readability. Actual FIX messages use SOH (ASCII 01) delimiter.
**New Order Acknowledged:**
8=FIX.4.2|9=350|35=8|49=T4|56=T4Example|50=T4FIX|52=20130709-22:30:54.794|
143=US,IL|1=Account1|11=fn-635089878547629169|
17=0.6.1.48024.6481305817_ESU3.635089878581150000.601A5E7B|150=0|
37=601A5E7B-8140-478A-AB45-E4916AC8CF3B|39=0|48=CME_20130900_ESU3|55=ES|
207=CME_Eq|200=201309|59=0|107=E-mini S&P 500 Sep13|54=2|167=FUT|38=40|
40=2|44=164025|60=20130709-22:30:58.115|21=1|204=0|10=234|
**Partial Fill:**
8=FIX.4.2|9=400|35=8|49=T4|56=T4Example|50=T4FIX|52=20130709-22:30:54.934|
143=US,IL|1=Account1|11=fn-635089878547629169|
17=1.1.64272:M:132407TN0000685.635089878581150000.601A5E7B|150=F|
37=601A5E7B-8140-478A-AB45-E4916AC8CF3B|39=1|48=CME_20130900_ESU3|55=ES|
207=CME_Eq|200=201309|59=0|107=E-mini S&P 500 Sep13|54=2|167=FUT|38=40|
40=2|44=164025|31=164175|32=1|14=1|151=39|60=20130709-22:30:58.090|
21=1|204=0|337=TRADE|375=CME000A|10=234|
===== Notes =====
* Multiple execution reports generated for order lifecycle events
* Overnight positions reported with ExecTransType=0, PossResend=Y
* OCO/AutoOCO components linked via ListID (66)
* Verbose reporting controlled via Logon (Tag 372)
* External orders generate reports for subscribed accounts