FIX Protocol Tag 39: OrdStatus
Current status of the order, such as new, partially filled, filled, cancelled or rejected.
- Tag number
- 39
- Data type
- CHAR
- FIX versions
- FIX 4.0 to 5.0 SP2
- Used in
- 7 message types
Practical notes on OrdStatus
OrdStatus is the state of the order after the event an Execution Report describes.
- Read it with ExecType (150): 150 says what just happened, 39 says where the order now stands. A partial fill is 150=F and 39=1.
- Final states: 2 Filled, 4 Canceled, 8 Rejected, C Expired. Done for day (3) means no more executions today; a multi-day order can resume the next day.
- Pending states: A Pending new, 6 Pending cancel, E Pending replace. They tell you a request is in progress.
- When more than one state applies, pending states take precedence. An order that is partly filled and waiting for a cancel reports 39=6.
Common mistakes
- Treating 39=6 or 39=E as final. Wait for the confirmation or the reject.
Changes between FIX versions
- Replaced (5) is not in the FIX 4.4 dictionary. On FIX 4.4 a replace is reported with ExecType 150=5 and OrdStatus giving the current state.
See also:39=5 not valid in FIX 4.4FIX order lifecycle explainedHow to read an Execution Report
Tag 39 in each FIX version
Values and message usage as defined in a specific version.
Data type
CHAR: A single character.
Valid values
15 enumerated values across all FIX versions.
| Value | Meaning | FIX versions |
|---|---|---|
| 0 | New | All |
| 1 | Partially filled | All |
| 2 | Filled | All |
| 3 | Done for day | All |
| 4 | Canceled | All |
| 5 | Replaced | 4.0, 4.1, 4.2, 4.3, 5.0, 5.0 SP1, 5.0 SP2 |
| 6 | Pending cancel | All |
| 7 | Stopped | All |
| 8 | Rejected | All |
| 9 | Suspended | All |
| A | Pending new | All |
| B | Calculated | All |
| C | Expired | All |
| D | Accepted for bidding | 4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2 |
| E | Pending replace | 4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2 |
Example
39=0
Illustrative value. In a message, fields are separated by the SOH character (0x01), often shown as | or ^ in logs.
Decode a message with this tagMessage types that use tag 39
- Execution Report 35=8
- Order Cancel Reject 35=9
- List Status 35=N
- Trade Capture Report 35=AE
- Trade Capture Report Ack 35=AR
- Trade Match Report 35=DC
- Mass Order Ack 35=DK
Covers every version from FIX 4.0 to 5.0 SP2, including fields reached through components and repeating groups. The version pages above show whether the tag is required in each message.
Field and message data comes from the QuickFIX data dictionaries for FIX 4.0 to 5.0 SP2 and FIXT 1.1, used under the QuickFIX Software License. This product includes software developed by quickfixengine.org (http://www.quickfixengine.org/). Enumerated value names are converted to plain text for reading.