FIX 4.4 : Allocation Instruction Ack <P> message

Structure | Related Messages


In versions of FIX prior to version 4.4, this message was known as the Allocation ACK message.

The Allocation Instruction Ack <P> message is used to acknowledge the receipt of and provide status for an Allocation Instruction <J> message.

The status is indicated by the AllocStatus <87> field as follows:

AllocStatus <87> value


3 = received, not yet processed

Used to acknowledge receipt of an Allocation Instruction <J> message. This should always be followed by a second Allocation Instruction Ack <P> of status 0, 1 or 2 as follows or an Allocation Report <AS> message.

0 = accepted

The Allocation Instruction <J> has been validated and processed successfully.

1 = block level reject

The entire Allocation Instruction <J> has been rejected. The AllocRejCode <88> (88) field must be populated when performing a block level reject; this gives the reason for rejecting the Allocation Instruction <J>.

2 = account level reject

The Allocation Instruction <J> has been validated and one or more of the AllocAccount <79> details in the NoAllocs <78> repeating group has failed validation (e.g. account not found). In this case, it is possible (though not mandatory) to include a list of the AllocAccount <79> details that failed validation together with reject reasons.

For an Allocation Instruction Ack <P> message with AllocStatus <87> of 'Accepted' in response to an Allocation Instruction <J> with AllocType <626> of 'Calculated', it is recommended that the MatchStatus <573> field be used to denote whether any financial details provided in the 'Calculated' Allocation Instruction <J> were matched by the Respondent. If a match takes place and succeeds, then the match status will be '0-Compared and affirmed'. If the match takes place and fails, or no match takes place, then the match status will be '1-Uncompared or unaffirmed'.


Tag Field Name Req'd Comments
<MessageHeader> Y MsgType <35> = P
70 AllocID Y
Component Block - <Parties> N

Insert here the set of "<Parties>" (firm identification) fields defined in "COMMON COMPONENTS OF APPLICATION MESSAGES"

793 SecondaryAllocID N

Optional second identifier for the allocation instruction being acknowledged (need not be unique)

75 TradeDate N
60 TransactTime Y

Date/Time Allocation Instruction Ack <P> generated

87 AllocStatus Y

Denotes the status of the allocation instruction; received (but not yet processed), rejected (at block or account level) or accepted (and processed).

88 AllocRejCode N

Required for AllocStatus <87> = 1 ( block level reject) and for AllocStatus <87> 2 (account level reject) if the individual accounts and reject reasons are not provided in this message

626 AllocType N
808 AllocIntermedReqType N

Required if AllocType <626> = 8 (Request to Intermediary)

Indicates status that is requested to be transmitted to counterparty by the intermediary (i.e. clearing house)

573 MatchStatus N

Denotes whether the financial details provided on the Allocation Instruction <J> were successfully matched.

460 Product N
167 SecurityType N
58 Text N

Can include explanation for AllocRejCode <88> = 7 (other)

354 EncodedTextLen N

Must be set if EncodedText <355> field is specified and must immediately precede it.

355 EncodedText N

Encoded (non-ASCII characters) representation of the Text <58> field in the encoded format specified via the MessageEncoding <347> field.

78 NoAllocs N

This repeating group is optionally used for messages with AllocStatus <87> = 2 (account level reject) to provide details of the individual accounts that caused the rejection, together with reject reasons. This group should not be populated when AllocStatus <87> has any other value.

Indicates number of allocation groups to follow.

=> 79 AllocAccount N

Required if NoAllocs <78> > 0. Must be first field in repeating group.

=> 661 AllocAcctIDSource N
=> 366 AllocPrice N

Used when performing 'executed price' vs. 'average price' allocations (e.g. Japan). AllocAccount <79> plus AllocPrice <366> form a unique Allocs entry. Used in lieu of AllocAvgPx <153>.

=> 467 IndividualAllocID N
=> 776 IndividualAllocRejCode N

Required if NoAllocs <78> > 0.

=> 161 AllocText N

Free format Text <58> field related to this AllocAccount <79> (can be used here to hold text relating to the rejection of this AllocAccount <79>)

=> 360 EncodedAllocTextLen N

Must be set if EncodedAllocText <361> field is specified and must immediately precede it.

=> 361 EncodedAllocText N

Encoded (non-ASCII characters) representation of the AllocText <161> field in the encoded format specified via the MessageEncoding <347> field.

<MessageTrailer> Y


Related Messages

Onix Solutions