spec question

Imported from previous forum

is a fix message still valid if I include a tag in it that is not specified under the corresponding message type in the specifications?

e.g. if I include a SenderSubID(50) in NewOrder - Single?

[start quote from FIX-5.0_VOL-1.pdf Page 17 of 116]

Required Fields:

Each message within the protocol is comprised of required, optional and conditionally required (fields which are required based on the presence or value of other fields) fields. Systems should be designed to operate when only the required and conditionally required fields are present.

[end quote]

In the above I do not see anything to the effect of a FIX message becoming invalid due to the presence of an “extra” field. In your question, SenderSubID(50) is part of FIX message header so it can be present in all messages.

Taking a different example, your question is : “My system received a New Order Single FIX message with ExecID(17) having a value. Should my system reject the message because it contains a Tag not listed in NOS FIX Message as required, optional or conditionally required Tag?” My guess is NO because to my knowledge FIX spec in no place specifies the other fields as “Should NOT be present”.

In my observation, FIX engines only check for presence of required, conditionally required and optional fields and do NOT check for the absence of other fields, these “junk” useless fields would just be ignored, this is done to improve performance without any loss of functionality.

Regards,
K. Mahesh
+1-203-252-4039

is a fix message still valid if I include a tag in it that is not
specified under the corresponding message type in the specifications?

e.g. if I include a SenderSubID(50) in NewOrder - Single?

SenderSubID is part of the standard FIX header and as such can, as standard, be part of ANY message.

You should make sure that you are using it for its intended purpose (essentially showing a logical division of your other side) in order to reduce confusion by your counterparties.

In general adding fields to messages is allowed, as long as your counterparties understand how they will be used. You (and they) MAY need to configure your FIX engines to send/accept these extra fields.

George Brisco

sorry for the bad example, but thanks a lot

SenderSubID is part of the standard FIX header and as such can, as
standard, be part of ANY message.

You should make sure that you are using it for its intended purpose
(essentially showing a logical division of your other side) in order to
reduce confusion by your counterparties.

In general adding fields to messages is allowed, as long as your
counterparties understand how they will be used. You (and they) MAY need
to configure your FIX engines to send/accept these extra fields.

George Brisco