Skip to content

FIX MESSAGE 35=BN

ExecutionAck

MsgType (35) = BNSingleGeneralOrderHandlingAdded FIX.4.4

Definition

The ExecutionAck(35=BN) message is an optional message that provides dual functionality to notify a trading partner that an electronically received execution has either been accepted or rejected (DK'd).

Additional detail from the official source

The DK portion of this message does not replace the existing DontKnowTrade(35=Q) message for users who have already implemented the DontKnowTrade(35=Q) message. For users who have not implemented the DontKnowTrade(35=Q) message, through this single message they will be able to accept and DK an ExecutionReport(35=8) message. Users who wish to continue to use the DontKnowTrade(35=Q) message but also want a means to explicitly accept an execution report can also use this message.

Message structure 3905 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.

Nested fields load when needed. Open the full static layout (also works without JavaScript).

  1. StandardHeaderComponentRequired

    MsgType = BN

    Open this block to load its fields in message context, or follow the definition link.

  2. 37 OrderIDStringRequired
  3. 11 ClOrdIDString

    Conditionally required if the Execution Report message contains a ClOrdID.

  4. 1036 ExecAckStatuscharRequired

    Indicates the status of the execution acknowledgement. The "received, not yet processed" is an optional intermediary status that can be used to notify the counterparty that the Execution Report has been received.

  5. 17 ExecIDStringRequired

    The ExecID of the Execution Report being acknowledged.

  6. Conditionally required when ExecAckStatus = 2 (Don't know / Rejected).

  7. InstrumentComponentRequired

    Open this block to load its fields in message context, or follow the definition link.

  8. UndInstrmtGrpRepeating groupCount tag 711

    Open this block to load its fields in message context, or follow the definition link.

  9. InstrmtLegGrpRepeating groupCount tag 555

    Open this block to load its fields in message context, or follow the definition link.

  10. 54 SidecharRequired
  11. OrderQtyDataComponent

    Conditionally required if specified in the ExecutionReport(35=8).

    Open this block to load its fields in message context, or follow the definition link.

  12. Conditionally required if specified on the Execution Report

  13. 31 LastPxPrice

    Conditionally Required if specified on the Execution Report

  14. Conditionally required if specified on the Execution Report

  15. PriceQualifierGrpRepeating groupCount tag 2709

    Open this block to load its fields in message context, or follow the definition link.

  16. Conditionally required if specified on the Execution Report

  17. 14 CumQtyQty

    Conditionally required if specified on the Execution Report

  18. 6 AvgPxPrice

    Conditionally required if specified on the Execution Report

  19. RegulatoryTradeIDGrpRepeating groupCount tag 1907

    Open this block to load its fields in message context, or follow the definition link.

  20. 58 TextString

    Conditionally required if DKReason = "other"

  21. StandardTrailerComponentRequired

    Open this block to load its fields in message context, or follow the definition link.