FIX 4.1 : Execution Report <8> message

confirm changes to an existing order (i.e. accept cancel and replace requests)

relay order status information

relay fill information on working orders

reject orders

report post-trade 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. State changes should be sent as separate messages and should not be used to also convey new partial
fill details (i.e. do not report a partial fill or filled in a Done for the Day, Reject <3>, etc.)

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. If a single execution is corrected more than once, ExecRefID <19> should refer to the ExecID <17> of the last corrected ExecutionRpt (same convention as ClOrdID <11> and OrigClOrdID <41>). Note: Data reported in the CumQty <14>, LeavesQty <151>, 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.

Any fills which occur and need to be communicated to the customer while an order is "pending" and waiting to achieve a new
state (i.e. via a Order Cancel Replace (aka Order Modification) Request) must contain the "original" (current order prior
to state change request) order parameters (i.e. ClOrdID <11>, OrderQty <38>, LeavesQty <151>, Price <44>, etc). An order cannot be considered replaced until it has been explicitly accepted and confirmed to have reached the replaced
status (i.e OrdStatus <39> = "Replaced")--Care should be taken as the replaced order could still have reports coming which will update the CumQty <14> and AvgPx <6> of both the original and replacement, however, the effect on the replacement (ClOrdID <11>, new quantity or limit price, etc.) will not be seen until a report on the replacement has been generated.

To transmit a change in OrdStatus <39> for an order, the broker(sell side) should send an Execution Report <8> with the new OrdStatus <39> value in ExecType <150> AND OrdStatus <39> to signify this message is changing the state of the order. The only exception to this rule is when sending a CancelReject <9> in response to a Cancel or Replace request, the CancelReject <9> message is used. Furthermore, partial/complete fill information should be sent in a separate Execution Report <8> than order accept(New), cancel accept(Canceled), cancel/replace accept(Replaced) or Done For Day reports.

The OrdStatus <39> field is used to identify the status of the current order. If an order simultaneously exists in more than one order state,
the value with highest precedence is the value that is reported in the OrdStatus <39> field. The order statuses are as follows:

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.

2

Done for Day

Order not, or partially, filled; no further executions forthcoming

3

Calculated

Order has been completed for the day (either filled or done for day). Commission <12> or currency settlement details have been calculated and reported in this execution message

4

Filled

Order completely filled, no remaining quantity

5

Stopped

Order has been stopped at the exchange

6

Suspended

Order has been placed in suspended state at the request of the client.

7

Canceled

Canceled order with or without executions

7

Expired

Order has been canceled in broker's system due to time in force instructions.

8

Partially Filled

Outstanding order with executions and remaining quantity

9

Replaced

Replaced order with or without executions

10

New

Outstanding order with no executions

10

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.

10

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 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. Requests to change price on a filled order will be rejected (see Order Cancel Reject <9> message type).

There can be exceptions to this rule when ExecType <150> and/or OrdStatus <39> are Canceled, DoneForTheDay, Expired, Calculated, or Rejected in which case the order is no longer active and LeavesQty <151> could be 0.