Two fields, two jobs

In FIX order-state guidance, OrdStatus (39) conveys the order’s current state. ExecType (150) identifies the purpose of the execution report. Pending Cancel acknowledges the cancel request while cancellation is still in progress. The order can receive a fill during that interval under the venue’s workflow. FIX Trading Community · Order state changes ↗

Follow the quantities through the race

An order for 100 units has filled 40 when its cancel request is received. Another 15 may execute before the remainder is canceled. A reconciliation system needs the trade event, cumulative executed quantity, remaining quantity and final status. Treating the first cancel acknowledgement as final could hide the additional execution.

Define the broker-side contract

Map the venue’s FIX version and order-state rules, keep execution identifiers, and make duplicate processing idempotent. Test a partial fill during pending cancel, a rejected cancel and a replay after disconnect. Reconcile with an independent trade record or the venue’s drop copy where available.