FIX Tag Glossary – Definitions for All Common FIX Fields
This glossary provides definitions for the most commonly used FIX protocol tags. Understanding these fields is essential for debugging FIX messages, interpreting log files, and building FIX-compliant trading systems. Each tag includes its numeric identifier, field name, and a clear explanation of its purpose and usage.
Common FIX Tags
FIX protocol version (e.g., FIX.4.2, FIX.4.4). Identifies the FIX specification version used in the session.
Total length of the message body in bytes, excluding header and trailer. Used for message validation.
Three-digit checksum of all characters in the message. Used to verify message integrity during transmission.
Client Order ID. Unique identifier assigned by the client to identify an order. Must be unique per day or session.
Cumulative quantity filled. Total quantity of an order that has been executed across all fills.
Execution ID. Unique identifier for an execution report. Each fill or partial fill has a unique ExecID.
Message sequence number. Incremental sequence number for each message in a FIX session. Used to detect gaps and duplicates.
Message type. Identifies the type of FIX message (e.g., D=NewOrderSingle, 8=ExecutionReport, 3=Reject).
Order ID. Unique identifier assigned by the exchange or broker to identify an order. Different from ClOrdID.
Order quantity. Total quantity of shares, contracts, or units to be traded in an order.
Order status. Current state of the order (e.g., 0=New, 1=Partially filled, 2=Filled, 4=Canceled, 8=Rejected).
Order type. Specifies how the order should be executed (e.g., 1=Market, 2=Limit, 3=Stop, 4=Stop limit).
Original Client Order ID. Used in cancel/replace requests to reference the original ClOrdID being modified.
Price per unit. Limit price for limit orders, or stop price for stop orders. Must be positive.
Security identifier. Unique identifier for the financial instrument being traded (e.g., ISIN, CUSIP, ticker).
Sender company ID. Identifies the party sending the message. Part of the session-level routing.
Sender sub ID. Optional sub-identifier for the sender, used for routing to specific departments or systems.
Sending time. UTC timestamp when the message was sent. Format: YYYYMMDD-HH:MM:SS or YYYYMMDD-HH:MM:SS.sss.
Side of the order. 1=Buy, 2=Sell. Determines whether the order is a purchase or sale.
Trading symbol. Human-readable identifier for the security (e.g., AAPL, MSFT, EURUSD).
Target company ID. Identifies the party receiving the message. Part of the session-level routing.
Target sub ID. Optional sub-identifier for the target, used for routing to specific departments or systems.
Free-form text field. Used for human-readable messages, error descriptions, or additional information.
Time in force. Specifies how long the order remains active (e.g., 0=Day, 1=GTC, 3=IOC, 4=FOK).
Transaction time. UTC timestamp when the transaction occurred. Used in execution reports and market data.
Execution type. Type of execution (e.g., 0=New, F=Trade, I=Order status, 4=Canceled, 8=Rejected).
Leaves quantity. Remaining quantity of an order that has not yet been filled. LeavesQty = OrderQty - CumQty.
Reference tag ID. In reject messages, identifies the specific tag that caused the rejection.
Reference message type. In reject messages, identifies the message type that was rejected.
Session reject reason. Numeric code explaining why a session-level message was rejected (e.g., 5=Invalid tag number, 6=Required tag missing).
Using This Glossary
When analyzing FIX logs, refer to this glossary to understand what each tag represents. Tag numbers are consistent across FIX versions, though field names may vary slightly. The most critical tags for order flow are:
- ClOrdID (11) – Tracks orders from submission to execution
- MsgSeqNum (34) – Detects sequence gaps and message loss
- OrdStatus (39) – Shows current order state
- ExecType (150) – Identifies execution report types
Related Resources
Learn more about FIX protocol and troubleshooting:
- FIX Protocol Basics – Introduction to FIX messaging
- Common FIX Reject Codes – Understanding reject messages
- FIX Troubleshooting Guide – Step-by-step diagnostics
- Upload a FIX Log – Analyze your FIX messages