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 (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 | Req'd | Comments | ||
|---|---|---|---|---|---|
| <Standard Message Header> | Y | MsgType = AS |
|||
| 755 | AllocReportID | Y | Unique identifier for this message |
||
| 70 | AllocID | N | |||
| 71 | AllocTransType | Y | i.e. New, Cancel, Replace |
||
| 795 | AllocReportRefID | C | Required for AllocTransType (71) = Replace or Cancel |
||
| 796 | AllocCancReplaceReason | C | Required for AllocTransType (71) = Replace or Cancel. Gives
the reason for replacing or cancelling the allocation report |
||
| 793 | SecondaryAllocID | N | Optional second identifier for this allocation instruction (need not be unique) |
||
| 794 | AllocReportType | Y | Specifies the purpose or type of Allocation Report (AS) message |
||
| 87 | AllocStatus | Y | |||
| 88 | AllocRejCode | C | Required for AllocStatus (87) = 1 (rejected) |
||
| 72 | RefAllocID | C | Required for AllocTransType (71) = Replace or Cancel. |
||
| 808 | AllocIntermedReqType | 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 | 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 | C | Can be used to link two different Allocation messages and identifies the type of
link. Required if AllocLinkID (196) is specified. |
||
| 466 | BookingRefID | N | |||
| 857 | AllocNoOrdersType | 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 | 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 | 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 | N | ||
| => | 198 | SecondaryOrderID | N | Can be used to provide order id used by exchange or executing system. |
|
| => | 526 | SecondaryClOrdID | N | ||
| => | 66 | ListID | N | Required for List Orders. |
|
| => | Component Block - <NestedParties2> | N | |||
| => | 38 | OrderQty | N | ||
| => | 799 | OrderAvgPx | N | Average price for this order |
|
| => | 800 | OrderBookingQty | 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 | 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 | C | Amount of quantity (e.g. number of shares) in individual execution. Required
if NoExecs (124) > 0 |
|
| => | 17 | ExecID | N | ||
| => | 527 | SecondaryExecID | N | ||
| => | 31 | LastPx | C | Price of individual execution. Required if NoExecs (124) > 0 |
|
| => | 669 | LastParPx | N | 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 | N | Used to identify whether the trade was executed on an agency or principal basis. |
|
| 570 | PreviouslyReported | N | |||
| 700 | ReversalIndicator | N | |||
| 574 | MatchType | N | |||
| 54 | Side | Y | |||
| Component Block - <Instrument> | Y | ||||
| Component Block - <InstrumentExtension> | N | ||||
| Component Block - <FinancingDetails> | N | ||||
| 711 | NoUnderlyings | N | |||
| => | Component Block - <UnderlyingInstrument> | C | Required when NoUnderlyings (711) > 0 |
||
| 555 | NoLegs | N | |||
| => | Component Block - <InstrumentLeg> | C | Required when NoLegs (555) > 0 |
||
| 53 | Quantity | Y | Total quantity (e.g. number of shares) allocated to all accounts, or that is Ready-To-Book |
||
| 854 | QtyType | N | |||
| 30 | LastMkt | N | Market of the executions. |
||
| 229 | TradeOriginationDate | N | |||
| 336 | TradingSessionID | N | |||
| 625 | TradingSessionSubID | N | |||
| 423 | PriceType | N | |||
| 6 | AvgPx | Y | For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points). |
||
| 860 | AvgParPx | N | |||
| Component Block - <SpreadOrBenchmarkCurveData> | N | ||||
| 15 | Currency | N | Currency of AvgPx (6) . Should be the currency of the local
market or exchange where the trade was conducted. |
||
| 74 | AvgPxPrecision | N | Absence of this field indicates that default precision arranged by the
broker/institution is to be used |
||
| Component Block - <Parties> | N | ||||
| 75 | TradeDate | Y | |||
| 60 | TransactTime | N | Date/time when allocation is generated |
||
| 63 | SettlType | N | |||
| 64 | SettlDate | C | Takes precedence over SettlType (63) value and conditionally
required/omitted for specific SettlType (63) values. |
||
| 775 | BookingType | 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 | N | Expressed in same currency as AvgPx (6) . Sum of ( AllocQty (80) * AllocAvgPx (153) or AllocPrice (366) ). |
||
| 238 | Concession | N | |||
| 237 | TotalTakedown | N | |||
| 118 | NetMoney | N | Expressed in same currency as AvgPx (6) . Sum of AllocNetMoney (154) . |
||
| 77 | PositionEffect | N | |||
| 754 | AutoAcceptIndicator | N | Indicates if Allocation has been automatically accepted on behalf of the Carry Firm
by the Clearing House |
||
| 58 | Text | N | |||
| 354 | EncodedTextLen | C | Must be set if EncodedText (355) field is specified and must
immediately precede it. |
||
| 355 | EncodedText | C | Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field. |
||
| 157 | NumDaysInterest | N | Applicable for Convertible Bonds and fixed income |
||
| 158 | AccruedInterestRate | N | Applicable for Convertible Bonds and fixed income |
||
| 159 | AccruedInterestAmt | N | Sum of AllocAccruedInterestAmt (742) within repeating group. |
||
| 540 | TotalAccruedInterestAmt | N | (Deprecated) use AccruedInterestAmt (159)
|
||
| 738 | InterestAtMaturity | N | |||
| 920 | EndAccruedInterestAmt | N | For repurchase agreements the accrued interest on termination. |
||
| 921 | StartCash | N | For repurchase agreements the start (dirty) cash consideration |
||
| 922 | EndCash | N | For repurchase agreements the end (dirty) cash consideration |
||
| 650 | LegalConfirm | N | |||
| Component Block - <Stipulations> | N | ||||
| Component Block - <YieldData> | N | ||||
| 892 | 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 | N | Indicates whether this is the last fragment in a sequence of message fragments.
Only required where message has been fragmented. |
||
| 78 | NoAllocs | C | Indicates number of allocation groups to follow. Not required for AllocTransType (71) =Cancel. Not required for AllocReportType (794) = "Warehouse recap". |
||
| => | 79 | AllocAccount | 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 | N | ||
| => | 573 | MatchStatus | 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) . |
|
| => | 80 | AllocQty | C | Not required for AllocTransType (71) =Cancel. Not required
for AllocType (626) ="Buyside Ready-To-Book " or "Warehouse instruction". |
|
| => | 467 | IndividualAllocID | N | ||
| => | 81 | ProcessCode | N | ||
| => | Component Block - <NestedParties> | N | Used for NestedPartyRole (538) =BrokerOfCredit, ClientID,
Settlement location (PSET), etc. Note: this field can be used for settlement location
(PSET) information. |
||
| => | 208 | NotifyBrokerOfCredit | N | ||
| => | 209 | AllocHandlInst | N | ||
| => | 161 | AllocText | N | Free format text field related to this AllocAccount (79)
|
|
| => | 360 | EncodedAllocTextLen | C | Must be set if EncodedAllocText (361) field is specified
and must immediately precede it. |
|
| => | 361 | EncodedAllocText | C | Encoded (non-ASCII characters) representation of the AllocText (161) field in the encoded format specified via the MessageEncoding (347) field. |
|
| => | Component Block - <CommissionData> | N | |||
| => | 153 | AllocAvgPx | 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 | 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 | 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 | N |
AllocNetMoney (154) in AllocSettlCurrency (736) for this AllocAccount (79) if AllocSettlCurrency (736) is
different from "overall" Currency (15)
|
|
| => | 120 | SettlCurrency | N | (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 | N |
AllocSettlCurrency (736) for this AllocAccount (79) if different from "overall" Currency (15) . Required if AllocSettlCurrAmt (737) is specified. |
|
| => | 155 | SettlCurrFxRate | N | Foreign exchange rate used to compute AllocSettlCurrAmt (737) from Currency (15) to AllocSettlCurrency (736)
|
|
| => | 156 | SettlCurrFxRateCalc | N | Specifies whether the SettlCurrFxRate (155) should be
multiplied or divided |
|
| => | 742 | AllocAccruedInterestAmt | N | Applicable for Convertible Bonds and fixed income |
|
| => | 741 | AllocInterestAtMaturity | N | Applicable for securities that pay interest in lump-sum at maturity |
|
| => | 136 | NoMiscFees | C | Required if any miscellaneous fees are reported. Indicates number of repeating
entries. Repeating group within Alloc repeating group. |
|
| => | => | 137 | MiscFeeAmt | C | Required if NoMiscFees (136) > 0 |
| => | => | 138 | MiscFeeCurr | N | |
| => | => | 139 | MiscFeeType | C | Required if NoMiscFees (136) > 0 |
| => | => | 891 | MiscFeeBasis | N | |
| => | 576 | NoClearingInstructions | C | ||
| => | => | 577 | ClearingInstruction | C | Required if NoClearingInstructions (576) > 0 |
| => | 635 | ClearingFeeIndicator | N | ||
| => | 780 | AllocSettlInstType | 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. |
|
| => | Component Block - <SettlInstructionsData> | C | Used to communicate settlement instructions for this AllocAccount (79) detail. Required if AllocSettlInstType (780) = 2 or 3. |
||
| <Standard Message Trailer> | Y | ||||