FIX Doctorsupport@fixdoctor.tech
FIX Knowledge Base

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

Tag 8BeginString

FIX protocol version (e.g., FIX.4.2, FIX.4.4). Identifies the FIX specification version used in the session.

Tag 9BodyLength

Total length of the message body in bytes, excluding header and trailer. Used for message validation.

Tag 10CheckSum

Three-digit checksum of all characters in the message. Used to verify message integrity during transmission.

Tag 11ClOrdID

Client Order ID. Unique identifier assigned by the client to identify an order. Must be unique per day or session.

Tag 14CumQty

Cumulative quantity filled. Total quantity of an order that has been executed across all fills.

Tag 17ExecID

Execution ID. Unique identifier for an execution report. Each fill or partial fill has a unique ExecID.

Tag 34MsgSeqNum

Message sequence number. Incremental sequence number for each message in a FIX session. Used to detect gaps and duplicates.

Tag 35MsgType

Message type. Identifies the type of FIX message (e.g., D=NewOrderSingle, 8=ExecutionReport, 3=Reject).

Tag 37OrderID

Order ID. Unique identifier assigned by the exchange or broker to identify an order. Different from ClOrdID.

Tag 38OrderQty

Order quantity. Total quantity of shares, contracts, or units to be traded in an order.

Tag 39OrdStatus

Order status. Current state of the order (e.g., 0=New, 1=Partially filled, 2=Filled, 4=Canceled, 8=Rejected).

Tag 40OrdType

Order type. Specifies how the order should be executed (e.g., 1=Market, 2=Limit, 3=Stop, 4=Stop limit).

Tag 41OrigClOrdID

Original Client Order ID. Used in cancel/replace requests to reference the original ClOrdID being modified.

Tag 44Price

Price per unit. Limit price for limit orders, or stop price for stop orders. Must be positive.

Tag 48SecurityID

Security identifier. Unique identifier for the financial instrument being traded (e.g., ISIN, CUSIP, ticker).

Tag 49SenderCompID

Sender company ID. Identifies the party sending the message. Part of the session-level routing.

Tag 50SenderSubID

Sender sub ID. Optional sub-identifier for the sender, used for routing to specific departments or systems.

Tag 52SendingTime

Sending time. UTC timestamp when the message was sent. Format: YYYYMMDD-HH:MM:SS or YYYYMMDD-HH:MM:SS.sss.

Tag 54Side

Side of the order. 1=Buy, 2=Sell. Determines whether the order is a purchase or sale.

Tag 55Symbol

Trading symbol. Human-readable identifier for the security (e.g., AAPL, MSFT, EURUSD).

Tag 56TargetCompID

Target company ID. Identifies the party receiving the message. Part of the session-level routing.

Tag 57TargetSubID

Target sub ID. Optional sub-identifier for the target, used for routing to specific departments or systems.

Tag 58Text

Free-form text field. Used for human-readable messages, error descriptions, or additional information.

Tag 59TimeInForce

Time in force. Specifies how long the order remains active (e.g., 0=Day, 1=GTC, 3=IOC, 4=FOK).

Tag 60TransactTime

Transaction time. UTC timestamp when the transaction occurred. Used in execution reports and market data.

Tag 150ExecType

Execution type. Type of execution (e.g., 0=New, F=Trade, I=Order status, 4=Canceled, 8=Rejected).

Tag 151LeavesQty

Leaves quantity. Remaining quantity of an order that has not yet been filled. LeavesQty = OrderQty - CumQty.

Tag 371RefTagID

Reference tag ID. In reject messages, identifies the specific tag that caused the rejection.

Tag 372RefMsgType

Reference message type. In reject messages, identifies the message type that was rejected.

Tag 373SessionRejectReason

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: