Allocation Instruction Ack (MsgType = P, FIXML = AllocInstrctnAck)

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.

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

AllocStatus value Description
3 = received, not yet processed Used to acknowledge receipt of an Allocation Instruction message. This should always be followed by a second Allocation Instruction Ack of status 0, 1 or 2 as follows or an Allocation Report message.
0 = accepted The Allocation Instruction has been validated and processed successfully.
1 = block level reject The entire Allocation Instruction 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.
2 = account level reject The Allocation Instruction has been validated and one or more of the AllocAccount details in the NoAllocs 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 details that failed validation together with reject reasons.

Tag Field Name FIXML Req'd Comments
<Standard Message Header> Y MsgType = P
70 AllocID @AllocID Y
<Parties> N Insert here the set of "Parties" (firm identification) fields defined in "Common Components of Application Messages".
793 SecondaryAllocID @AllocID2 N Optional second identifier for the allocation instruction being acknowledged (need not be unique)
75 TradeDate @TrdDt N
60 TransactTime @TxnTm N Date/Time Allocation Instruction Ack (P) generated
87 AllocStatus @Stat 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 @RejCode C 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 @AllocType N
808 AllocIntermedReqType @IntermedReqTyp C 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 @MtchStat C Denotes whether the financial details provided on the Allocation Instruction (J) were successfully matched.
460 Product @Prod N
167 SecurityType @SecTyp N
58 Text @Txt N Can include explanation for AllocRejCode (88) = 7 (other)
354 EncodedTextLen @EncTxtLen C Must be set if EncodedText (355) field is specified and must immediately precede it.
355 EncodedText @EncTxt C Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field.
<AllocAckGrp> 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 has any other value. Indicates number of allocation groups to follow.
<Standard Message Trailer> Y