FIX Error Reject 102: Too late to cancel
What this error means
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.
Common causes
Common causes include:
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.).
Example log snippet
8=FIX.4.4|9=150|35=9|49=EXCHANGE|56=CLIENT|11=CANCEL123|41=ORDER123|39=2|102=102|58=Too late to cancel|10=123|
How to fix it
1) Check order status before sending cancel request
2) Handle OrderCancelReject gracefully in application
3) Verify order is still active (OrdStatus=0,1,2) before canceling
4) Implement status tracking to avoid canceling filled orders
5) Check for execution reports before canceling
6) Monitor order lifecycle to prevent late cancellation attempts
Related Knowledge Articles
Analyze Your FIX Logs
Upload or paste your FIX logs to automatically detect this error and get detailed diagnostics.
Analyze FIX Logs