Sent from sell-side to buy-side, sell-side to 3rd-party or 3rd-party to buy-side, the Allocation Report (Claim) 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 message. Depending on the needs of the market and the timing of confirmed status, the role of Allocation Report can be taken over in whole or in part by the Confirmation (AK) message.
Note the response to the Allocation Report message is the Allocation Report Ack message. In versions of FIX prior to version 4.4, the Allocation ACK served this purpose.
An Allocation Report message can be submitted with AllocReportType (794) of
Sellside Calculated Using Preliminary (includes Misc Fees, Accrued Interest and Net Money)
Sellside Calculated Without Preliminary (includes Misc Fees, Accrued Interest and Net Money). (AllocType=" Sellside Initiated"), i.e. where the allocations have been provided via some other mechanism or agreed earlier in the order process.
Warehouse recap sent unsolicited by sellside, used to communicate confirmation and current status of any warehoused position in a particular stock (see Volume 7 PRODUCT: EQUITIES for specific usage guidance on this topic)
Settlement instructions are supported on the Allocation Report 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:
AllocReportID (755) should be unique for all Allocation Report messages.
To reject an Allocation Report message, an Allocation Report Ack with AllocStatus (87) 'Block level reject' or 'Account level reject' should be used. Use of 'Block level reject' means the entire message has been rejected (e.g. net money mismatch). 'Account level reject' is used when the block level matches successfully but one or more (or all) of the constituent account level details fails validation (e.g. account not found, incorrect MiscFees). In the latter case, the rejecting party can (optionally) notify the instructing party of those allocation details that are being rejected by listing the offending account numbers in the Allocation Instruction Ack (P) message.
A rejected Allocation Report must be resolved out-of-band.
Where settling in markets where multiple alternative settlement locations exist, it is recommended that the settlement location (equivalent to ISO15022 'PSET' field) be identified on each allocation detail within the NoAllocs (78) repeating group. A nested parties component block is provided which can be used for this purpose.
The number of sub-account instances is indicated in NoAllocs.
Multiple orders can be combined for allocation or for AllocType=" Ready-To-Book" or AllocType (626) = "Warehouse instruction". Note that combined orders must refer to the same instrument and have the same trade date, settlement date and side. The identification of the orders to be combined can be achieved in one of two ways:
By identifying the number of orders in the NoOrders (73) field and each individual order in the OrderID (37) fields. The AllocNoOrdersType (857) field is used to denote that this is happening and takes value "1=Explicit list provided". If any orders were handled outside FIX, the ClOrdID (11) must be set to 'MANUAL'. Regardless of whether the orders were handled within or outside FIX, the order quantity and average price must also be specified for each order. This is to assist in validating the message and, for manual orders, to help identify the correct orders to book.
By stating that an unspecified group of orders is to be combined. The NoOrders (73) field in this case is left blank. The AllocNoOrdersType (857) field is set to "0=Not specified" to specify that this is happening. Note use of this approach is only recommended where either the number of orders being booked is extremely large or some kind of aggregation rule is being used.
Multiple executions can be combined for allocation by identifying the number of executions in the NoExecs (124) field and each individual execution in the ExecID (17) fields. Combined executions must refer to the same instrument, trade date, settlement date and side.
| 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 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) 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 | ||||
| 715 | ClearingBusinessDate | @BizDt | N | Indicates Clearing Business Date for which transaction will be settled. | |||
| 828 | TrdType | @TrdTyp | N | Indicates Trade Type of Allocation. | |||
| 829 | TrdSubType | @TrdSubTyp | N | Indicates TradeSubType of Allocation. Necessary for defining groups. | |||
| 442 | MultiLegReportingType | @MLegRptTyp | N | Indicates MultiLegReportType of original trade marked for allocation. | |||
| 582 | CustOrderCapacity | @CustCpcty | N | Indicates CTI of original trade marked for allocation. | |||
| 578 | TradeInputSource | @InptSrc | N | Indicates input source of original trade marked for allocation. | |||
| 991 | RndPx | @RndPx | N | Specifies the rounded price to quoted precision. | |||
| 1011 | MessageEventSource | @MsgEvtSrc | N | Used to identify the event or source which gave rise to a message. | |||
| 579 | TradeInputDevice | @InptDev | N | Specific device number, terminal number or station where trade was entered | |||
| 819 | AvgPxIndicator | @AvgPxInd | N | Indicates if an allocation is to be average priced. Is also used to indicate if average price allocation group is complete or incomplete. | |||
| 857 | AllocNoOrdersType | @NoOrdsTyp | N | 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. | ||
| => | <NestedParties2> | N | Insert here the set of "NestedParties2" fields defined in "Common Components of Application Messages". This is used to identify the executing broker for step in/give in trades | ||||
| => | 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) (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. | ||
| => | 1003 | TradeID | @TrdID | N | |||
| => | 1041 | FirmTradeID | @FirmTrdID | N | |||
| 570 | PreviouslyReported | @PrevlyRpted | N | ||||
| 700 | ReversalIndicator | @ReversalInd | N | ||||
| 574 | MatchType | @MtchTyp | N | ||||
| 54 | Side | @Side | Y | ||||
| <Instrument> | Y | Insert here the set of "Instrument" fields defined in "Common Components of Application Messages". | |||||
| <InstrumentExtension> | N | Insert here the set of "InstrumentExtension" fields defined in "Common Components of Application Messages". | |||||
| <FinancingDetails> | N | Insert here the set of "FinancingDetails" fields defined in "Common Components of Application Messages". | |||||
| 711 | NoUnderlyings | Undly | N | Number of underlyings | |||
| => | <UnderlyingInstrument> | C | Must be provided if Number of underlyings > 0 | ||||
| 555 | NoLegs | Leg | N | Number of legs Identifies a Multi-leg Execution if present and non-zero. | |||
| => | <InstrumentLeg> | C | Must be provided if Number of legs > 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 | ||||
| <SpreadOrBenchmarkCurveData> | N | Insert here the set of "SpreadOrBenchmarkCurveData" fields defined in "Common Components of Application Messages". | |||||
| 15 | Currency | @Ccy | N | Currency of AvgPx. 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 | Insert here the set of "Parties" (firm identification) fields defined in "Common Components of Application Messages". | |||||
| 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. Sum of (AllocQty * AllocAvgPx (153) or AllocPrice). | |||
| 238 | Concession | @Concession | N | ||||
| 237 | TotalTakedown | @TotTakedown | N | ||||
| 118 | NetMoney | @NetMny | N | Expressed in same currency as AvgPx. Sum of AllocNetMoney. | |||
| 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 in FIX.4.4) | |||
| 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 | ||||||
| <YieldData> | N | ||||||
| <PositionAmountData> | N | Insert here here the set of "Position Amount Data" fields defined in "Common Components of Application Messages". | |||||
| 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 | Conditionally required except when AllocTransType (71) = Cancel, or when AllocType (626) = Ready-to-book or Warehouse instruction | |||
| => | 79 | AllocAccount | @Acct | C | May be the same value as BrokerOfCredit if ProcessCode (81) is step-out or soft-dollar step-out and Institution does not wish to disclose individual account breakdowns to the ExecBroker. Required if NoAllocs (78) > 0. Must be first field in repeating group. Conditionally required except when for AllocTransType="Cancel", or when AllocType= "Ready-To-Book" or "Warehouse instruction". | ||
| => | 661 | AllocAcctIDSource | @AcctIDSrc | 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. | ||
| => | 80 | AllocQty | @Qty | C | Conditionally required except when for AllocTransType="Cancel", or when AllocType= "Ready-To-Book" or "Warehouse instruction". | ||
| => | 467 | IndividualAllocID | @IndAllocID | N | |||
| => | 81 | ProcessCode | @ProcCode | N | |||
| => | 989 | SecondaryIndividualAllocID | @IndAllocID2 | N | Can be used by an intermediary to specify an allocation ID assigned by the intermediary's system. | ||
| => | 1002 | AllocMethod | @Meth | N | Specifies the method under which a trade quantity was allocated. | ||
| => | 993 | AllocCustomerCapacity | @CustCpcty | N | Can be used for granular reporting of separate allocation detail within a single trade report or allocation message. | ||
| => | 1047 | AllocPositionEffect | @AllocPosEfct | N | |||
| => | 992 | IndividualAllocType | @Typ | N | |||
| => | <NestedParties> | N | Insert here the set of "Nested Parties" (firm identification "nested" within additional repeating group) fields defined in "Common Components of Application Messages". Used for NestedPartyRole=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 | ||
| => | 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. | ||
| => | <CommissionData> | N | Insert here the set of "CommissionData" fields defined in "Common Components of Application Messages". | ||||
| => | 153 | AllocAvgPx | @AvgPx | N | AvgPx for this AllocAccount. 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 for this AllocAccount ((AllocQty * AllocAvgPx) - Commission (12) - sum of MiscFeeAmt (137) + AccruedInterestAmt) if a Sell ((AllocQty * AllocAvgPx) + Commission (12) + sum of MiscFeeAmt (137) + AccruedInterestAmt) if a Buy | ||
| => | 119 | SettlCurrAmt | @SettlCurrAmt | N | Replaced by AllocSettlCurrAmt. | ||
| => | 737 | AllocSettlCurrAmt | @AllocSettlCurrAmt | C | AllocNetMoney in AllocSettlCurrency (736) for this AllocAccount (79) if AllocSettlCurrency (736) is different from "overall" Currency. | ||
| => | 120 | SettlCurrency | @SettlCcy | C | Replaced by AllocSettlCurrency SettlCurrency (120) for this AllocAccount (79) if different from "overall" Currency. Required if SettlCurrAmt (119) is specified. | ||
| => | 736 | AllocSettlCurrency | @AllocSettlCcy | C | AllocSettlCurrency for this AllocAccount (79) if different from "overall" Currency. Required if AllocSettlCurrAmt (737) is specified. | ||
| => | 155 | SettlCurrFxRate | @SettlCurrFxRt | N | Foreign exchange rate used to compute AllocSettlCurrAmt (737) from Currency (15) to AllocSettlCurrency. | ||
| => | 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. ** Nested Repeating Group follows ** | ||
| => | => | 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 | ** Nested Repeating Group follows ** | ||
| => | => | 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 | Insert here the set of "SettlInstructionsData" fields defined in "Common Components of Application Messages". Used to communicate settlement instructions for this AllocAccount (79) detail. Required if AllocSettlInstType (780) = 2 or 3. | ||||
| <Standard Message Trailer> | Y | ||||||
© 2026.
EPAM Systems. All Rights Reserved.
All material contained within the website is copyright of EPAM Systems, Inc. No material contained herein can be copied or otherwise used without the express permission of the copyright holder.