Definition
The execution report message is used to:
- Confirm the receipt of an order
- Confirm changes to an existing order (i.e. accept cancel and replace requests)
- Relay order status information
- Relay fill information on working orders
- Relay fill information on tradeable or restricted tradeable quotes
- Reject orders
- Report post-trade fees calculations associated with a trade
Message structure 391 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.
StandardHeaderComponentRequired
MsgType = 8
StandardHeader definition & usage →
FIX.4.4 (Always unencrypted, must be first field in message)
(Always unencrypted, must be second field in message)
(Always unencrypted, must be third field in message)
(Always unencrypted)
(Always unencrypted)
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
Required to identify length of encrypted section of message. (Always unencrypted)
Required when message body is encrypted. Always immediately follows SecureDataLen field.
(Can be embedded within encrypted data section.)
(Can be embedded within encrypted data section.)
Sender's LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
"ADMIN" reserved for administrative messages not intended for a specific user. (Can be embedded within encrypted data section.)
Trading partner LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
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.)
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
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.)
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.)
Required when message may be duplicate of another message sent under a different sequence number. (Can be embedded within encrypted data section.)
(Can be embedded within encrypted data section.)
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.)
Required when specifying XmlData to identify the length of a XmlData message block. (Can be embedded within encrypted data section.)
Can contain an XML formatted message block (e.g. FIXML). Always immediately follows XmlDataLen field. (Can be embedded within encrypted data section.) See Volume 1: FIXML Support
Type of message encoding (non-ASCII characters) used in a message’s "Encoded" fields. Required if any "Encoding" fields are used.
The last MsgSeqNum value received by the FIX engine and processed by downstream application, such as trading system or order routing system. Can be specified on every message sent. Useful for detecting a backlog with a counterparty.
HopRepeating groupCount tag 627—
Number of repeating groups of historical "hop" information. Only applicable if OnBehalfOfCompID is used, however, its use is optional. Note that some market regulations or counterparties may require tracking of message hops.
OrderID is required to be unique for each chain of orders.
Can be used to provide order id used by exchange or executing system.
Required for executions against electronically submitted orders which were assigned an ID by the institution or intermediary. Not required for orders manually entered by the broker or fund manager (for CIV orders).
Conditionally required for response to an electronic Cancel or Cancel/Replace request (ExecType=PendingCancel, Replace, or Canceled). ClOrdID of the previous accepted order (NOT the initial order of the day) when canceling or replacing an order.
Required if responding to a QuoteResponse message. Echo back the Initiator’s value specified in the message.
Required if responding to and if provided on the Order Status Request message. Echo back the value provided by the requester.
Required if responding to an Order Mass Status Request. Echo back the value provided by the requester.
Can be used when responding to an Order Mass Status Request to identify the total number of Execution Reports which will be returned.
Can be used when responding to an Order Mass Status Request to indicate that this is the last Execution Reports which will be returned as a result of the request.
PartiesRepeating groupCount tag 453—
Repeating group below should contain unique combinations of PartyID, PartyIDSource, and PartyRole
Used to identify source of PartyID. Required if PartyIDSource is specified. Required if NoPartyIDs > 0.
Used to identify class source of PartyID value (e.g. BIC). Required if PartyID is specified. Required if NoPartyIDs > 0.
Identifies the type of PartyID (e.g. Executing Broker). Required if NoPartyIDs > 0.
PtysSubGrpRepeating groupCount tag 802—
Repeating group of Party sub-identifiers.
PtysSubGrp definition & usage →
ContraGrpRepeating groupCount tag 382—
Number of ContraBrokers repeating group instances.
ContraGrp definition & usage →
Required for executions against orders which were submitted as part of a list.
CrossID for the replacement order
Must match original cross order. Same order chaining mechanism as ClOrdID/OrigClOrdID with single order Cancel/Replace.
Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) forExecType=I (Order Status)).
Required for Trade Cancel and Trade Correct ExecType messages
Describes the purpose of the execution report.
Describes the current state of a CHAIN of orders, same scope as OrderQty, CumQty, LeavesQty, and AvgPx
For optional use with OrdStatus = 0 (New)
For optional use with ExecType = 8 (Rejected)
Required for ExecType = D (Restated).
Required for executions against electronically submitted orders which were assigned an account by the institution or intermediary
Specifies type of account
Takes precedence over SettlType value and conditionally required/omitted for specific SettlType values.
InstrumentComponentRequired
Instrument definition & usage →
Common, "human understood" representation of the security. SecurityID value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles) Use "[N/A]" for products which do not have a symbol.
Used in Fixed Income with a value of "WI" to indicate "When Issued" for a security to be reissued under an old CUSIP or ISIN or with a value of "CD" to indicate a EUCP with lump-sum interest rather than discount price.
Takes precedence in identifying security to counterparty over SecurityAltID block. Requires SecurityIDSource if specified.
Required if SecurityID is specified.
SecAltIDGrpRepeating groupCount tag 454—
Number of alternate Security Identifiers
SecAltIDGrp definition & usage →
Indicates the type of product the security is associated with (high-level category)
Indicates the type of security using ISO 10962 standard, Classification of Financial Instruments (CFI code) values. It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments.
It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments. Required for Fixed Income. Refer to Volume 7 - Fixed Income Futures and Options should be specified using the CFICode[461] field instead of SecurityType[167] (Refer to Volume 7 - Recommendations and Guidelines for Futures and Options Markets.)
Sub-type qualification/identification of the SecurityType (e.g. for SecurityType="MLEG"). If specified, SecurityType is required.
Specifies the month and year of maturity. Applicable for standardized derivatives which are typically only referenced by month and year (e.g. S&P futures). Note MaturityDate (a full date) can also be specified.
Specifies date of maturity (a full date). Note that standardized derivatives which are typically only referenced by month and year (e.g. S&P futures).may use MaturityMonthYear and/or this field. When using MaturityMonthYear, it is recommended that markets and sell sides report the MaturityDate on all outbound messages as a means of data enrichment.
For Options.
Date interest is to be paid. Used in identifying Corporate Bond issues.
Date instrument was issued. For Fixed Income IOIs for new issues, specifies the issue date.
(Deprecated, use UnderlyingSecurityType (310) )
(Deprecated, use TerminationType (788) )
(Deprecated, use Price (44) )
For Fixed Income: Amortization Factor for deriving Current face from Original face for ABS or MBS securities, note the fraction may be greater than, equal to or less than 1. In TIPS securities this is the Inflation index. Qty * Factor * Price = Gross Trade Amount For Derivatives: Contract Value Factor by which price must be adjusted to determine the true nominal value of one futures/options contract. (Qty * Price) * Factor = Nominal Value
The location at which records of ownership are maintained for this instrument, and at which ownership changes must be recorded. Can be used in conjunction with ISIN to address ISIN uniqueness issues.
ISO Country code of instrument issue (e.g. the country portion typically used in ISIN). Can be used in conjunction with non-ISIN SecurityID (e.g. CUSIP for Municipal Bonds without ISIN) to provide uniqueness.
A two-character state or province abbreviation.
The three-character IATA code for a locale (e.g. airport code for Municipal Bonds).
(Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)
Used for derivatives, such as options and covered warrants
Used for derivatives
Used for derivatives, such as options and covered warrants to indicate a versioning of the contract when required due to corporate actions to the underlying. Should not be used to indicate type of option - use the CFICode[461] for this purpose.
For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount.
For Fixed Income.
Can be used to identify the security.
Must be set if EncodedIssuer field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding field.
Must be set if EncodedSecurityDesc field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the SecurityDesc field in the encoded format specified via the MessageEncoding field.
Identifies MBS / ABS pool
Must be present for MBS/TBA
The program under which a commercial paper is issued
The registration type of a commercial paper issuance
EvntGrpRepeating groupCount tag 864—
Number of repeating EventType group entries.
If different from IssueDate
If different from IssueDate and DatedDate
FinancingDetailsComponent—
FinancingDetails definition & usage →
The full name of the base standard agreement, annexes and amendments in place between the principals and applicable to this deal
A common reference to the applicable standing agreement between the principals
A reference to the date the underlying agreement was executed.
Currency of the underlying agreement.
For Repos the timing or method for terminating the agreement.
Settlement date of the beginning of the deal
Repayment / repurchase date
Delivery or custody arrangement for the underlying securities
Percentage of cash value that underlying security collateral must meet.
UndInstrmtGrpRepeating groupCount tag 711—
Number of underlyings
UndInstrmtGrp definition & usage →
UnderlyingInstrumentComponent—
UnderlyingInstrument definition & usage →
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)
Specific to the <UnderlyingInstrument> (not in <Instrument>)
Specific to the <UnderlyingInstrument> (not in <Instrument>) Unit amount of the underlying security (par, shares, currency, etc.)
Specific to the <UnderlyingInstrument> (not in <Instrument>) In a financing deal clean price (percent-of-par or per unit) of the underlying security or basket.
Specific to the <UnderlyingInstrument> (not in <Instrument>) In a financing deal price (percent-of-par or per unit) of the underlying security or basket. "Dirty" means it includes accrued interest
Specific to the <UnderlyingInstrument> (not in <Instrument>) In a financing deal price (percent-of-par or per unit) of the underlying security or basket at the end of the agreement.
Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value attributed to this collateral at the start of the agreement
Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value currently attributed to this collateral
Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value attributed to this collateral at the end of the agreement
UnderlyingStipulationsRepeating groupCount tag 887—
Specific to the <UnderlyingInstrument> (not in <Instrument>)
UnderlyingStipulations definition & usage →
Required if NoUnderlyingStips >0
StipulationsRepeating groupCount tag 232—
Stipulations definition & usage →
Required if NoStipulations >0
OrderQtyDataComponent—
**Note: OrderQty field is required for Single Instrument Orders unless rejecting or acknowledging an order for a CashOrderQty or PercentOrder.
OrderQtyData definition & usage →
One of CashOrderQty, OrderQty, or (for CIV only) OrderPercent is required. Note that unless otherwise specified, only one of CashOrderQty, OrderQty, or OrderPercent should be specified.
One of CashOrderQty, OrderQty, or (for CIV only) OrderPercent is required. Note that unless otherwise specified, only one of CashOrderQty, OrderQty, or OrderPercent should be specified. Specifies the approximate "monetary quantity" for the order. Broker is responsible for converting and calculating OrderQty in tradeable units (e.g. shares) for subsequent messages.
For CIV - Optional. One of CashOrderQty, OrderQty or (for CIV only) OrderPercent is required. Note that unless otherwise specified, only one of CashOrderQty, OrderQty, or OrderPercent should be specified.
For CIV - Optional
For CIV - Optional
Required if specified on the order
Required if specified on the order
PegInstructionsComponent—
PegInstructions definition & usage →
Amount (signed) added to the peg for a pegged order in the context of the PegOffsetType
Describes whether peg is static/fixed or floats
Type of Peg Offset (e.g. price offset, tick offset etc)
Specifies nature of resulting pegged price (e.g. or better limit, strict limit etc)
If the calculated peg price is not a valid tick price, specifies how to round the price (e.g. be more or less aggressive)
The scope of the "related to" price of the peg (e.g. local, global etc)
DiscretionInstructionsComponent—
DiscretionInstructions definition & usage →
What the discretionary price is related to (e.g. primary price, display price etc)
Amount (signed) added to the "related to" price specified via DiscretionInst, in the context of DiscretionOffsetType
Describes whether discretion price is static/fixed or floats
Type of Discretion Offset (e.g. price offset, tick offset etc)
Specifies the nature of the resulting discretion price (e.g. or better limit, strict limit etc)
If the calculated discretion price is not a valid tick price, specifies how to round the price (e.g. to be more or less aggressive)
The scope of "related to" price of the discretion (e.g. local, global etc)
The current price the order is pegged at
The current discretionary price of the order
The target strategy of the order
For further specification of the TargetStrategy
Mandatory for a TargetStrategy=Participate order and specifies the target participation rate. For other order types optionally specifies a volume limit (i.e. do not be more than this percent of the market volume)
For communication of the performance of the order versus the target strategy
Absence of this field indicates Day order
Time specified on the order at which the order should be considered valid
Conditionally required if TimeInForce = GTD and ExpireTime is not specified.
Conditionally required if TimeInForce = GTD and ExpireDate is not specified.
Can contain multiple instructions, space delimited.
Quantity (e.g. shares) bought/sold on this (last) fill. Required if ExecType = Trade or Trade Correct. If ExecType=Stopped, represents the quantity stopped/guaranteed/protected for.
Price of this (last) fill. Required if ExecType = Trade or Trade Correct. Should represent the "all-in" (LastSpotRate + LastForwardPoints) rate for F/X orders. ). If ExecType=Stopped, represents the price stopped/guaranteed/protected at.
Last price expressed in percent-of-par. Conditionally required for Fixed Income trades when LastPx is expressed in Yield, Spread, Discount or any other price type that is not percent-of-par.
Applicable for F/X orders
Applicable for F/X orders
If ExecType = Trade (F), indicates the market where the trade was executed. If ExecType = New (0), indicates the market where the order was routed.
Quantity 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.
Currently executed quantity for chain of orders.
For GT orders on days following the day of the first trade.
For GT orders on days following the day of the first trade.
For GT orders on days following the day of the first trade.
States whether executions are booked out or accumulated on a partially filled GT order
Used when reporting other than current day trades.
Time the transaction represented by this ExecutionReport occurred
CommissionDataComponent—
Note: 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.
CommissionData definition & usage →
For CIV - Optional
For CIV - Optional
SpreadOrBenchmarkCurveDataComponent—
SpreadOrBenchmarkCurveData definition & usage →
For Fixed Income
Must be present if BenchmarkPrice is used.
The identifier of the benchmark security, e.g. Treasury against Corporate bond.
Source of BenchmarkSecurityID. If not specified, then ID Source is understood to be the same as that in the Instrument block.
For fixed income products which pay lump-sum interest at maturity.
For repurchase agreements the accrued interest on termination.
For repurchase agreements the start (dirty) cash consideration
For repurchase agreements the end (dirty) cash consideration
Note: On a fill/partial fill messages, it represents value for that fill/partial fill, on ExecType=Calculated, it represents cumulative value for the order. Value expressed in the currency reflected by the Currency field.
Used to report results of forex accommodation trade
Used to report results of forex accommodation trade
Foreign exchange rate used to compute SettlCurrAmt from Currency to SettlCurrency
Specifies whether the SettlCurrFxRate should be multiplied or divided
For use in derivatives omnibus accounting
Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar). Absence of this field implies regular booking.
Must be set if EncodedText field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.
Can be used with OrdType = "Forex - Swap" to specify the "value date" for the future portion of an F/X swap.
Can be used with OrdType = "Forex - Swap" to specify the order quantity for the future portion of an F/X swap.
Can be used with OrdType = "Forex - Swap" to specify the forward points (added to LastSpotRate) for the future portion of an F/X swap.
Default is a single security if not specified.
For CIV - Optional
Reference to Registration Instructions message for this Order.
Supplementary registration information for this Order
For CIV - Optional
For CIV - Optional
For CIV - Optional
For CIV - Optional
Applicable only on OrdStatus of Partial or Filled.
ContAmtGrpRepeating groupCount tag 518—
Number of contract details in this message (number of repeating groups to follow)
ContAmtGrp definition & usage →
InstrmtLegExecGrpRepeating groupCount tag 555—
Number of legs Identifies a Multi-leg Execution if present and non-zero.
InstrmtLegExecGrp definition & usage →
InstrumentLegComponent—
InstrumentLeg definition & usage →
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)
Specific to the <InstrumentLeg> (not in <Instrument>)
Specific to the <InstrumentLeg> (not in <Instrument>)
Specific to the <InstrumentLeg> (not in <Instrument>)
Identifies MBS / ABS pool
LegStipulationsRepeating groupCount tag 683—
LegStipulations definition & usage →
Required if NoLegStipulations >0
NestedPartiesRepeating groupCount tag 539—
NestedParties definition & usage →
Repeating group below should contain unique combinations of NestedPartyID, NestedPartyIDSource, and NestedPartyRole
Used to identify source of NestedPartyID. Required if NestedPartyIDSource is specified. Required if NoNestedPartyIDs > 0.
Used to identify class source of NestedPartyID value (e.g. BIC). Required if NestedPartyID is specified. Required if NoNestedPartyIDs > 0.
Identifies the type of NestedPartyID (e.g. Executing Broker). Required if NoNestedPartyIDs > 0.
NstdPtysSubGrpRepeating groupCount tag 804—
Repeating group of NestedParty sub-identifiers.
NstdPtysSubGrp definition & usage →
MiscFeesGrpRepeating groupCount tag 136—
Required if any miscellaneous fees are reported. Indicates number of repeating entries. Repeating group. ** Nested Repeating Group follows **
MiscFeesGrp definition & usage →
StandardTrailerComponentRequired
StandardTrailer definition & usage →
Required when trailer contains signature. Note: Not to be included within SecureData field
Note: Not to be included within SecureData field
(Always unencrypted, always last field in message)