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 value Description

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> 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 MatchStatus 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

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 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