---
title: ExecutionReport
seo:
  title: ExecutionReport | FIX Order Entry
  description: "FIX order entry ExecutionReport reference: field layout, repeating
    groups, supported values, and message-specific behavior."
sidebar:
  label: ExecutionReport
---
`MsgType(35)=ExecutionReport(8)`

Direction: **Exchange to client**.

Report an order's acceptance, state change, rejection, or fill.

## Field Layout

See [FIX Message Layouts](/reference/fix-message-layouts) for field ordering and presence rules.

| Field | Type | Presence | Behavior |
| --- | --- | --- | --- |
| `OrderID(37)` | [`STRING`](/reference/fix-data-types#string) | Required |  |
| `ClOrdID(11)` | [`STRING`](/reference/fix-data-types#string) | Optional |  |
| `OrigClOrdID(41)` | [`STRING`](/reference/fix-data-types#string) | Conditional | <span style="overflow-wrap:anywhere">Included on reports answering an accepted cancellation or amendment when the order has a previous ClOrdID(11). Uses that previous ID even if the request omitted OrigClOrdID(41) or supplied a stale value.</span> |
| `ExecID(17)` | [`STRING`](/reference/fix-data-types#string) | Required |  |
| `ExecType(150)` | [`CHAR`](/reference/fix-data-types#char) | Required | Supported values:<br/><code style="overflow-wrap:anywhere">ExecType(150)=NEW(0)</code><br/><code style="overflow-wrap:anywhere">ExecType(150)=DONE_FOR_DAY(3)</code><br/><code style="overflow-wrap:anywhere">ExecType(150)=CANCELED(4)</code><br/><code style="overflow-wrap:anywhere">ExecType(150)=REPLACED(5)</code><br/><code style="overflow-wrap:anywhere">ExecType(150)=REJECTED(8)</code><br/><code style="overflow-wrap:anywhere">ExecType(150)=EXPIRED(C)</code><br/><code style="overflow-wrap:anywhere">ExecType(150)=TRADE(F)</code> |
| `OrdStatus(39)` | [`CHAR`](/reference/fix-data-types#char) | Required | Supported values:<br/><code style="overflow-wrap:anywhere">OrdStatus(39)=NEW(0)</code><br/><code style="overflow-wrap:anywhere">OrdStatus(39)=PARTIALLY_FILLED(1)</code><br/><code style="overflow-wrap:anywhere">OrdStatus(39)=FILLED(2)</code><br/><code style="overflow-wrap:anywhere">OrdStatus(39)=CANCELED(4)</code><br/><code style="overflow-wrap:anywhere">OrdStatus(39)=PENDING_CANCEL(6)</code><br/><code style="overflow-wrap:anywhere">OrdStatus(39)=REJECTED(8)</code><br/><code style="overflow-wrap:anywhere">OrdStatus(39)=PENDING_NEW(A)</code><br/><code style="overflow-wrap:anywhere">OrdStatus(39)=EXPIRED(C)</code><br/><code style="overflow-wrap:anywhere">OrdStatus(39)=PENDING_REPLACE(E)</code> |
| `Account(1)` | [`STRING`](/reference/fix-data-types#string) | Optional |  |
| `Symbol(55)` | [`STRING`](/reference/fix-data-types#string) | Optional |  |
| `Side(54)` | [`CHAR`](/reference/fix-data-types#char) | Optional | Supported values:<br/><code style="overflow-wrap:anywhere">Side(54)=BUY(1)</code><br/><code style="overflow-wrap:anywhere">Side(54)=SELL(2)</code> |
| `OrderQty(38)` | [`QTY`](/reference/fix-data-types#qty) | Optional | <span style="overflow-wrap:anywhere">The order's quantity in contracts, including when the order was placed with a notional budget.</span> |
| `Price(44)` | [`PRICE`](/reference/fix-data-types#price) | Optional | <span style="overflow-wrap:anywhere">The order's limit price.</span> |
| `TimeInForce(59)` | [`CHAR`](/reference/fix-data-types#char) | Optional | Supported values:<br/><code style="overflow-wrap:anywhere">TimeInForce(59)=GOOD_TILL_CANCEL(1)</code><br/><code style="overflow-wrap:anywhere">TimeInForce(59)=FILL_OR_KILL(4)</code> |
| `LeavesQty(151)` | [`QTY`](/reference/fix-data-types#qty) | Optional |  |
| `CumQty(14)` | [`QTY`](/reference/fix-data-types#qty) | Optional |  |
| `AvgPx(6)` | [`PRICE`](/reference/fix-data-types#price) | Required |  |
| `LastQty(32)` | [`QTY`](/reference/fix-data-types#qty) | Conditional | <span style="overflow-wrap:anywhere">Optional on fills; omitted from other reports.</span> |
| `LastPx(31)` | [`PRICE`](/reference/fix-data-types#price) | Conditional | <span style="overflow-wrap:anywhere">Optional on fills; omitted from other reports.</span> |
| `Commission(12)` | [`AMT`](/reference/fix-data-types#amt) | Conditional | <span style="overflow-wrap:anywhere">Optional on fills; omitted from other reports.</span> |
| `CommType(13)` | [`CHAR`](/reference/fix-data-types#char) | Conditional | <span style="overflow-wrap:anywhere">Included with cumulative commission; omitted when no cumulative commission is reported.</span><br/><br/>Supported values:<br/><code style="overflow-wrap:anywhere">CommType(13)=ABSOLUTE(3)</code> |
| `LastCommission(8001)` | [`AMT`](/reference/fix-data-types#amt) | Conditional | <span style="overflow-wrap:anywhere">Optional on fills; omitted from other reports.</span> |
| `TransactTime(60)` | [`UTCTIMESTAMP`](/reference/fix-data-types#utctimestamp) | Optional |  |
| `QuoteID(117)` | [`STRING`](/reference/fix-data-types#string) | Optional |  |
| `QuoteMsgID(1166)` | [`STRING`](/reference/fix-data-types#string) | Conditional | <span style="overflow-wrap:anywhere">For an order originating from a maker's quote, echoes QuoteMsgID(1166) from that quote. ClOrdID(11) carries the same value.</span> |
| `OrdRejReason(103)` | [`INT`](/reference/fix-data-types#int) | Conditional | <span style="overflow-wrap:anywhere">Present on rejected execution reports.</span><br/><br/>Supported values:<br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=BROKER_EXCHANGE_OPTION(0)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=UNKNOWN_SYMBOL(1)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=EXCHANGE_CLOSED(2)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=UNKNOWN_ORDER(5)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=DUPLICATE_ORDER(6)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=UNSUPPORTED_ORDER_CHARACTERISTIC(11)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=INCORRECT_QUANTITY(13)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=UNKNOWN_ACCOUNT(15)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=PRICE_EXCEEDS_CURRENT_PRICE_BAND(16)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=INVALID_PRICE_INCREMENT(18)</code><br/><code style="overflow-wrap:anywhere">OrdRejReason(103)=OTHER(99)</code> |
| `Text(58)` | [`STRING`](/reference/fix-data-types#string) | Optional |  |
