ZagTrader

Session-level rejects (35=3)

Incorrect data format for value (373=6)

The value does not match the field's data type: letters in an integer, a timestamp in the wrong layout, a comma as decimal separator. The receiver answers with a Reject carrying 373=6 and the field in RefTagID (371).

What it means

Each FIX field has a type. The common ones are INT, a plain whole number; FLOAT, PRICE and QTY, decimals with a dot and no exponent or thousands separator; BOOLEAN, Y or N; UTCTIMESTAMP, written as YYYYMMDD-HH:MM:SS with optional fractional seconds, always in UTC.

Fractional seconds are a frequent problem. Older engines accept seconds or milliseconds only, so a timestamp with microseconds or nanoseconds can fail on one counterparty and pass on another.

Common causes

  • ISO 8601 timestamps such as 2026-10-20T09:30:00Z instead of 20261020-09:30:00.
  • Locale formatting: 1.234,50 or 1,234.50 for a price.
  • Exponent notation from a float-to-string conversion, such as 1.5E-4.
  • true and false instead of Y and N.
  • Too many fractional digits in a timestamp for the counterparty's engine.

How to fix it

On the side that sent the message

  • Format every field from its FIX type, with an invariant locale and without exponent notation.
  • Agree timestamp precision with the counterparty, and send milliseconds unless they accept more.

On the side that raised the error

Example

A New Order Single with TransactTime in ISO 8601 format.

  1. 1. Buy side: TransactTime as 2026-10-20T09:30:00Z

    8=FIX.4.4|9=141|35=D|49=BUYSIDE|56=SELLSIDE|34=88|52=20261020-09:55:00.000|11=ORD-1001|21=1|55=MSFT|54=1|60=2026-10-20T09:55:00Z|38=1000|40=2|44=187.50|59=0|10=130|
  2. 2. Sell side: Reject, RefTagID 60

    8=FIX.4.4|9=120|35=3|49=SELLSIDE|56=BUYSIDE|34=960|52=20261020-09:55:00.002|45=88|371=60|372=D|373=6|58=Incorrect data format for value|10=172|

SOH (0x01) is shown as |. BodyLength (9) and CheckSum (10) are calculated as if every | were SOH.

Open this example in the parser

Questions

What is the FIX timestamp format?
UTCTimestamp is YYYYMMDD-HH:MM:SS, optionally followed by a dot and fractional seconds, for example 20261020-09:30:00.123. It is always UTC and has no time zone suffix.

Reference

Related errors

All FIX errors · FIX guides