FIX Doctorsupport@fixdoctor.tech
FIX Knowledge Base

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

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 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