Allocation Report (MsgType = AS, FIXML = AllocRpt)

Sent from sell-side to buy-side, sell-side to 3rd-party or 3rd-party to buy-side, the Allocation Report (Claim) (AS) provides account breakdown of an order or set of orders plus any additional follow-up front-office information developed post-trade during the trade allocation, matching and calculation phase. In versions of FIX prior to version 4.4, this functionality was provided through the Allocation Instruction (J) message. Depending on the needs of the market and the timing of "confirmed" status, the role of Allocation Report (AS) can be taken over in whole or in part by the Confirmation (AK) message.

Note the response to the Allocation Report (AS) message is the Allocation Report Ack (AT) message. In versions of FIX prior to version 4.4, the Allocation ACK (P) served this purpose.

An Allocation Report (AS) message can be submitted with AllocReportType (794) of

Settlement instructions are supported on the Allocation Report (AS) message to allow the Respondent (sell-side party or carry firm) to send an override of its own instructions to the Initiator.

General guidelines applicable to this message:

The allocation message contains repeating fields for each order, sub-account and individual execution. The field's relative position within the repeating group in the message is important. For example, each instance of allocation must be in the order as shown in the message definition below.

Tag Field Name FIXML Req'd Comments
<Standard Message Header> Y MsgType = AS
755 AllocReportID @RptID Y Unique identifier for this message
70 AllocID @AllocID N
71 AllocTransType @TransTyp Y i.e. New, Cancel, Replace
795 AllocReportRefID @RptRefID C Required for AllocTransType (71) = Replace or Cancel
796 AllocCancReplaceReason @CxlRplcRsn C Required for AllocTransType (71) = Replace or Cancel. Gives the reason for replacing or cancelling the allocation report
793 SecondaryAllocID @AllocID2 N Optional second identifier for this allocation instruction (need not be unique)
794 AllocReportType @RptTyp Y Specifies the purpose or type of Allocation Report (AS) message
87 AllocStatus @Stat Y
88 AllocRejCode @RejCode C Required for AllocStatus (87) = 1 (rejected)
72 RefAllocID @RefAllocID C Required for AllocTransType (71) = Replace or Cancel.
808 AllocIntermedReqType @IntermedReqTyp C Required if AllocReportType (794) = 8 (Request to Intermediary). Indicates status that is requested to be transmitted to counterparty by the intermediary (i.e. clearing house)
196 AllocLinkID @LinkID N Can be used to link two different Allocation messages (each with unique AllocID (70) ) together, i.e. for F/X "Netting" or "Swaps"
197 AllocLinkType @LinkTyp C Can be used to link two different Allocation messages and identifies the type of link. Required if AllocLinkID (196) is specified.
466 BookingRefID @BkngRefID N
857 AllocNoOrdersType @NoOrdsTyp Y Indicates how the orders being booked and allocated by this message are identified, i.e. by explicit definition in the NoOrders (73) group or not.
73 NoOrders OrdAlloc C Indicates number of orders to be combined for allocation. If order(s) were manually delivered set to 1 (one). Required when AllocNoOrdersType (857) = 1
=> 11 ClOrdID @ClOrdID C Order ID assigned by client if order(s) were electronically delivered and executed. If order(s) were manually delivered this field should contain string "MANUAL".Note where an order has undergone one or more cancel/replaces, this should be the ClOrdID (11) of the most recent version of the order. Required when NoOrders (73) > 0 and must be the first repeating field in the group.
=> 37 OrderID @OrdID N
=> 198 SecondaryOrderID @OrdID2 N Can be used to provide order id used by exchange or executing system.
=> 526 SecondaryClOrdID @ClOrdID2 N
=> 66 ListID @ListID N Required for List Orders.
=> <Nested Parties 2> N
=> 38 OrderQty @Qty N
=> 799 OrderAvgPx @AvgPx N Average price for this order
=> 800 OrderBookingQty @BkngQty N Quantity of this order that is being booked out by this message (will be equal to or less than this order's OrderQty). Note that the sum of the OrderBookingQty (800) values in this repeating group must equal the total quantity being allocated (in Quantity (53) field)
124 NoExecs AllExc N Indicates number of individual execution repeating group entries to follow. Absence of this field indicates that no individual execution entries are included. Primarily used to support step-outs.
=> 32 LastQty @LastQty C Amount of quantity (e.g. number of shares) in individual execution. Required if NoExecs (124) > 0
=> 17 ExecID @ExecID N
=> 527 SecondaryExecID @ExecID2 N
=> 31 LastPx @LastPx C Price of individual execution. Required if NoExecs (124) > 0
=> 669 LastParPx @LastParPx C Last price expressed in percent-of-par. Conditionally required for Fixed Income trades when LastPx (31) is expressed in Yield, Spread, Discount or any other price type
=> 29 LastCapacity @LastCpcty N Used to identify whether the trade was executed on an agency or principal basis.
570 PreviouslyReported @PrevlyRpted N
700 ReversalIndicator @ReversalInd N
574 MatchType @MtchTyp N
54 Side @Side Y
<Instrument> Y
<Instrument Extension> N
<Financing Details> N
711 NoUnderlyings Undly N
=> <Underlying Instrument> C Required when NoUnderlyings (711) > 0
555 NoLegs Leg N
=> <Instrument Leg> C Required when NoLegs (555) > 0
53 Quantity @Qty Y Total quantity (e.g. number of shares) allocated to all accounts, or that is Ready-To-Book
854 QtyType @QtyTyp N
30 LastMkt @LastMkt N Market of the executions.
229 TradeOriginationDate @OrignDt N
336 TradingSessionID @SesID N
625 TradingSessionSubID @SesSub N
423 PriceType @PxTyp N
6 AvgPx @AvgPx Y For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points).
860 AvgParPx @AvgParPx N
<Spread or Benchmark Curve Data> N
15 Currency @Ccy N Currency of AvgPx (6) . Should be the currency of the local market or exchange where the trade was conducted.
74 AvgPxPrecision @AvgPxPrcsn N Absence of this field indicates that default precision arranged by the broker/institution is to be used
<Parties> N
75 TradeDate @TrdDt Y
60 TransactTime @TxnTm N Date/time when allocation is generated
63 SettlType @SettlTyp N
64 SettlDate @SettlDt C Takes precedence over SettlType (63) value and conditionally required/omitted for specific SettlType (63) values.
775 BookingType @BkngTyp N Method for booking. Used to provide notification that this is to be booked out as an OTC derivative (e.g. CFD or similar). Absence of this field implies regular booking.
381 GrossTradeAmt @GrossTrdAmt N Expressed in same currency as AvgPx (6) . Sum of ( AllocQty (80) * AllocAvgPx (153) or AllocPrice (366) ).
238 Concession @Concession N
237 TotalTakedown @TotTakedown N
118 NetMoney @NetMny N Expressed in same currency as AvgPx (6) . Sum of AllocNetMoney (154) .
77 PositionEffect @PosEfct N
754 AutoAcceptIndicator @AutoAcceptInd N Indicates if Allocation has been automatically accepted on behalf of the Carry Firm by the Clearing House
58 Text @Txt N
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.
157 NumDaysInterest @NumDaysInt N Applicable for Convertible Bonds and fixed income
158 AccruedInterestRate @AcrdIntRt N Applicable for Convertible Bonds and fixed income
159 AccruedInterestAmt @AcrdIntAmt N Sum of AllocAccruedInterestAmt (742) within repeating group.
540 TotalAccruedInterestAmt @TotAcrdIntAmt N (Deprecated) use AccruedInterestAmt (159)
738 InterestAtMaturity @IntAtMat N
920 EndAccruedInterestAmt @EndAcrdIntAmt N For repurchase agreements the accrued interest on termination.
921 StartCash @StartCsh N For repurchase agreements the start (dirty) cash consideration
922 EndCash @EndCsh N For repurchase agreements the end (dirty) cash consideration
650 LegalConfirm @LegalCnfm N
<Stipulations> N
<Yield Data> N
892 TotNoAllocs @TotNoAllocs N Indicates total number of allocation groups (used to support fragmentation). Must equal the sum of all NoAllocs (78) values across all message fragments making up this allocation instruction. Only required where message has been fragmented.
893 LastFragment @LastFragment N Indicates whether this is the last fragment in a sequence of message fragments. Only required where message has been fragmented.
78 NoAllocs Alloc C Indicates number of allocation groups to follow. Not required for AllocTransType (71) =Cancel. Not required for AllocReportType (794) = "Warehouse recap".
=> 79 AllocAccount @Acct C May be the same value as BrokerOfCredit if ProcessCode is step-out or soft-dollar step-out and Institution does not wish to disclose individual account breakdowns to the ExecBroker. Required if NoAllocs > 0. Must be first field in repeating group.Not required for AllocTransType=Cancel.Not required for AllocType="Buyside Ready-To-Book " or "Warehouse instruction".
=> 661 AllocAcctIDSource @ActIDSrc N
=> 573 MatchStatus @MtchStat N
=> 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 (153) .
=> 80 AllocQty @Qty C Not required for AllocTransType (71) =Cancel. Not required for AllocType (626) ="Buyside Ready-To-Book " or "Warehouse instruction".
=> 467 IndividualAllocID @IndAllocID N
=> 81 ProcessCode @ProcCode N
=> <Nested Parties> N Used for NestedPartyRole (538) =BrokerOfCredit, ClientID, Settlement location (PSET), etc. Note: this field can be used for settlement location (PSET) information.
=> 208 NotifyBrokerOfCredit @NotifyBrkrOfCredit N
=> 209 AllocHandlInst @HandlInst N
=> 161 AllocText @Txt N Free format text field related to this AllocAccount (79)
=> 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.
=> <Commission Data> N
=> 153 AllocAvgPx @AvgPx N AvgPx (6) for this AllocAccount (79) . For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points) for this allocation. For Fixed Income always express value as "percent of par".
=> 154 AllocNetMoney @NetMny N NetMoney (118) for this AllocAccount (79) : (( AllocQty (80) * AllocAvgPx (153) ) - Commission (12) - sum of MiscFeeAmt (137) + AccruedInterestAmt (159) ) if a Sell; (( AllocQty (80) * AllocAvgPx (153) ) + Commission (12) + sum of MiscFeeAmt (137) + AccruedInterestAmt (159) ) if a Buy
=> 119 SettlCurrAmt @SettlCurrAmt N (Deprecated) Replaced by AllocSettlCurrAmt (737) . AllocNetMoney (154) in SettlCurrency (120) for this AllocAccount (79) if SettlCurrency (120) is different from "overall" Currency (15)
=> 737 AllocSettlCurrAmt @AllocSettlCurrAmt C AllocNetMoney (154) in AllocSettlCurrency (736) for this AllocAccount (79) if AllocSettlCurrency (736) is different from "overall" Currency (15)
=> 120 SettlCurrency @SettlCcy C (Deprecated) Replaced by AllocSettlCurrency (736) . SettlCurrency (120) for this AllocAccount (79) if different from "overall" Currency (15) . Required if SettlCurrAmt (119) is specified.
=> 736 AllocSettlCurrency @AllocSettlCcy C AllocSettlCurrency (736) for this AllocAccount (79) if different from "overall" Currency (15) . Required if AllocSettlCurrAmt (737) is specified.
=> 155 SettlCurrFxRate @SettlCurrFxRt N Foreign exchange rate used to compute AllocSettlCurrAmt (737) from Currency (15) to AllocSettlCurrency (736)
=> 156 SettlCurrFxRateCalc @SettlCurrFxRtCalc N Specifies whether the SettlCurrFxRate (155) should be multiplied or divided
=> 742 AllocAccruedInterestAmt @AcrdIntAmt N Applicable for Convertible Bonds and fixed income
=> 741 AllocInterestAtMaturity @IntAtMat N Applicable for securities that pay interest in lump-sum at maturity
=> 136 NoMiscFees MiscFees N Required if any miscellaneous fees are reported. Indicates number of repeating entries. Repeating group within Alloc repeating group.
=> => 137 MiscFeeAmt @Amt C Required if NoMiscFees (136) > 0
=> => 138 MiscFeeCurr @Curr N
=> => 139 MiscFeeType @Typ C Required if NoMiscFees (136) > 0
=> => 891 MiscFeeBasis @Basis N
=> 576 NoClearingInstructions ClrInst C
=> => 577 ClearingInstruction @ClrngInstrctn C Required if NoClearingInstructions (576) > 0
=> 635 ClearingFeeIndicator @ClrFeeInd N
=> 780 AllocSettlInstType @SettlInstTyp N Used to indicate whether settlement instructions are provided on this message, and if not, how they are to be derived. Absence of this field implies use of default instructions.
=> <SettlInstructionsData> C Used to communicate settlement instructions for this AllocAccount (79) detail. Required if AllocSettlInstType (780) = 2 or 3.
<Standard Message Trailer> Y