FIX Reject 102 – Too Late to Cancel Explained
Reject code 102 (CxlRejReason) indicates that an OrderCancelRequest arrived too late. The order has already been filled, canceled by the exchange, expired, or is in a terminal state that prevents cancellation.
Root Cause
1) Order was already executed before cancel request arrived, 2) Network latency delayed cancel request, 3) Order expired (TimeInForce), 4) Exchange already canceled the order, 5) Order status changed to terminal state (Filled, DoneForDay, etc.).
Broker/Exchange Action
Broker sends OrderCancelReject (35=9) with CxlRejReason=102 and includes the original ClOrdID. The cancel request is rejected but the order state is communicated.
Client/Your Action
1) Check order status before sending cancel, 2) Handle OrderCancelReject gracefully, 3) Verify order is still active (OrdStatus=0,1,2), 4) Implement status tracking to avoid canceling filled orders, 5) Check for execution reports before canceling.
Example FIX Message
How FIX Doctor Detects This
FIX Doctor identifies OrderCancelReject messages (35=9) with CxlRejReason=102 and flags them in the error summary. The timeline shows the cancel reject event.
Related Errors
Analyze Your FIX Logs
Upload or paste your FIX logs to automatically detect this error and get detailed diagnostics.
Analyze FIX Logs