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

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.
78 NoAllocs AllocAck N This repeating group is optionally used for messages with AllocStatus (87) = 2 (account level reject), AllocStatus (87) = 0 (accepted), to provide details of the individual accounts that were accepted or rejected. In the case of a reject, the reasons for the rejection should be specified. This group should not be populated where AllocStatus (87) has any other value. Indicates number of allocation groups to follow.
=> 79 AllocAccount @Acct C Required if NoAllocs (78) > 0. Must be first field in repeating group.
=> 661 AllocAcctIDSource @ActIDSrc C
=> 366 AllocPrice @Px 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.
=> 1047 AllocPositionEffect @AllocPosEfct N
=> 467 IndividualAllocID @IndAllocID N
=> 776 IndividualAllocRejCode @IndAllocRejCode C Required if NoAllocs (78) > 0.
=> <NestedParties> N
=> 161 AllocText @Txt N Free format text field related to this AllocAccount (79) (can be used here to hold text relating to the rejection of this AllocAccount)
=> 360 EncodedAllocTextLen @EncAllocTextLen C Must be set if EncodedAllocText (361) field is specified and must immediately precede it.
=> 361 EncodedAllocText @EncAllocText C Encoded (non-ASCII characters) representation of the AllocText (161) field in the encoded format specified via the MessageEncoding (347) field.
=> 989 SecondaryIndividualAllocID @IndAllocID2 N Will allow the intermediary to specify an allocation ID generated by the system
=> 993 AllocCustomerCapacity @CustCpcty N Will allow for granular reporting of separate allocation detail within a single trade report or allocation message.
=> 992 IndividualAllocType @Typ N Identifies whether the allocation is to be sub-allocated or allocated to a third party.
=> 80 AllocQty @Qty N Quantity to be allocated to specific sub-account
<Standard Message Trailer> Y