setr.044.001.03
Scope This message is sent from Central Matching Utility (CMU) to an executing party or an instructing party to advise the status of the SecuritiesTradeConfirmation message previously sent by the party. The status may be a processing, pending processing, affirmed or disaffirmed, cancel or replacement by an instructing party, a custodian or an affirming party, internal matching, and/or matching status. The instructing party is typically the investment manager or an intermediary system/vendor communicating on behalf of the investment manager or of other categories of investors. The executing party is typically the broker/dealer or an intermediary system/vendor communicating on behalf of the broker/dealer. The ISO 20022 Business Application Header must be used Usage Initiator: In central matching the Initiator is the Central Matching Utility. Respondent: no response is needed by the recipient of the message.
Message Construction
Every ISO20022 message has at the highest level what we call ‘building blocks’. Because the message is constructed as immutable records, the association is by composition. Below you can see the relationship between the message and its constituent building blocks: For comparison, see the ISO20022 official specification
classDiagram direction LR %% SecuritiesTradeConfirmationStatusAdviceV03 recursion level 0 with max 0 SecuritiesTradeConfirmationStatusAdviceV03 *-- "1..1" TransactiontIdentification4 : Identification SecuritiesTradeConfirmationStatusAdviceV03 *-- "1..1" Linkages72 : References SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" IAffirmationStatus11Choice : AffirmationStatus SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" IProcessingStatus98Choice : ProcessingStatus SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" IMatchingStatus35Choice : MatchingStatus SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" IReplacementProcessingStatus10Choice : ReplacementProcessingStatus SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" ICancellationProcessingStatus10Choice : CancellationProcessingStatus SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" Order23 : PartyTradingDetails SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" Order23 : CounterpartyTradingDetails SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" ConfirmationParties9 : ConfirmationParties SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" SettlementParties121 : DeliveringSettlementParties SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" SettlementParties121 : ReceivingSettlementParties SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" SupplementaryData1 : SupplementaryData
Now, we will zero-in one-by-one on each of these building blocks.
Identification building block
Information that unambiguously identifies an SecuritiesTradeConfirmationStatusAdvice message as known by the account owner (or the instructing party acting on its behalf). Transaction identification. For comparison, see the ISO20022 official specification
classDiagram direction tb %% TransactiontIdentification4 recursion level 0 with max 1 class TransactiontIdentification4{ TransactionIdentification IsoMax35Text }
TransactiontIdentification4 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
TransactionIdentification | Unambiguous identification of the transaction as known by the instructing party. | IsoMax35Text - Required 1..1 |
References building block
Link to another transaction that must be processed after, before or at the same time. Information related to a linked transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Linkages72 recursion level 0 with max 1 Linkages72 *-- "0..1" IDocumentNumber17Choice : MessageNumber Linkages72 *-- "1..1" IIdentificationReference11Choice : Reference %% IDocumentNumber17Choice recursion level 1 with max 1 %% IIdentificationReference11Choice recursion level 1 with max 1
Linkages72 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
MessageNumber | Message type number/message identifier of the message referenced in the linkage sequence. | IDocumentNumber17Choice - Optional 0..1 |
Reference | Reference to the linked transaction. | IIdentificationReference11Choice - Required 1..1 |
AffirmationStatus building block
Provides details on the affitrmation status of a trade. Choice of status for the affirmation. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IAffirmationStatus11Choice recursion level 0 with max 1
AffirmationStatus11Choice members
Member name | Description | Data Type / Multiplicity |
---|
ProcessingStatus building block
Provides the processing status of a trade. Choice of status for the processing. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IProcessingStatus98Choice recursion level 0 with max 1
ProcessingStatus98Choice members
Member name | Description | Data Type / Multiplicity |
---|
MatchingStatus building block
Provides details on the matching status of a trade. Choice of status for the matching. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IMatchingStatus35Choice recursion level 0 with max 1
MatchingStatus35Choice members
Member name | Description | Data Type / Multiplicity |
---|
ReplacementProcessingStatus building block
Provides the replacement processing status of a trade. Choice of status for the replacement processing. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IReplacementProcessingStatus10Choice recursion level 0 with max 1
ReplacementProcessingStatus10Choice members
Member name | Description | Data Type / Multiplicity |
---|
CancellationProcessingStatus building block
Provides details on the cancellation status of a trade. Choice of status for the cancellation processing. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ICancellationProcessingStatus10Choice recursion level 0 with max 1
CancellationProcessingStatus10Choice members
Member name | Description | Data Type / Multiplicity |
---|
PartyTradingDetails building block
Details of the trading party. Intention to transfer an ownership of a financial instrument. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Order23 recursion level 0 with max 1 class Order23{ OrderIdentification IsoMax35Text ClientOrderIdentification IsoMax35Text SecondaryClientOrderIdentification IsoMax35Text ListIdentification IsoMax35Text Side Side3Code Payment DeliveryReceiptType2Code PreAdvice IsoYesNoIndicator OrderBookingDate IsoISODate TradeOriginationDate IsoISODateTime CashMargin CashMarginOrder1Code NumberOfDaysAccrued IsoMax3Number GiveUpNumberOfDays IsoMax3Number InterestType InterestType2Code AccruedInterestPercentage IsoPercentageRate TradeRegulatoryConditionsType TradeRegulatoryConditions1Code OrderOriginatorEligibility Eligibility1Code PositionEffect PositionEffect2Code DerivativeCovered IsoYesNoIndicator CallInType CallIn1Code AdditionalTradeInstructionProcessingInformation IsoMax350Text } Order23 *-- "0..1" IBusinessProcessType2Choice : BusinessProcessType Order23 *-- "1..1" SecurityIdentification19 : FinancialInstrumentIdentification Order23 *-- "0..1" ITradeType4Choice : TradeTransactionType Order23 *-- "0..0" ITradeTransactionCondition9Choice : TradeTransactionCondition Order23 *-- "0..1" MarketIdentification93 : PlaceOfTrade Order23 *-- "1..1" ITradeDate7Choice : TradeDate Order23 *-- "0..1" ITradeDate7Choice : ProcessingDate Order23 *-- "1..1" ISettlementDate16Choice : SettlementDate Order23 *-- "0..1" IDateAndDateTime1Choice : NAVDate Order23 *-- "0..0" PartialFill4 : PartialFillDetails Order23 *-- "1..1" IQuantity6Choice : ConfirmationQuantity Order23 *-- "0..0" QuantityBreakdown76 : QuantityBreakdown Order23 *-- "0..1" AmountAndDirection29 : GrossTradeAmount Order23 *-- "1..1" Price14 : DealPrice Order23 *-- "0..1" ITypeOfPrice47Choice : TypeOfPrice Order23 *-- "0..1" Commission25 : Commission Order23 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell Order23 *-- "0..1" IChargeTaxBasisType2Choice : ChargeTaxBasisType Order23 *-- "0..1" IEUCapitalGainType3Choice : CapitalGainType Order23 *-- "0..1" IMatchingStatus27Choice : MatchStatus Order23 *-- "0..1" YieldCalculation7 : YieldType Order23 *-- "0..0" IReporting6Choice : Reporting Order23 *-- "0..1" RegistrationParameters3 : AdditionalPhysicalOrRegistrationDetails Order23 *-- "0..1" AmountAndDirection29 : AccruedInterestAmount %% IBusinessProcessType2Choice recursion level 1 with max 1 %% SecurityIdentification19 recursion level 1 with max 1 class SecurityIdentification19{ ISIN IsoISINOct2015Identifier Description IsoMax140Text } SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification %% ITradeType4Choice recursion level 1 with max 1 %% ITradeTransactionCondition9Choice recursion level 1 with max 1 %% MarketIdentification93 recursion level 1 with max 1 MarketIdentification93 *-- "0..1" IMarketIdentification3Choice : Identification MarketIdentification93 *-- "0..1" IMarketType18Choice : Type %% ITradeDate7Choice recursion level 1 with max 1 %% ITradeDate7Choice recursion level 1 with max 1 %% ISettlementDate16Choice recursion level 1 with max 1 %% IDateAndDateTime1Choice recursion level 1 with max 1 %% PartialFill4 recursion level 1 with max 1 PartialFill4 *-- "1..1" IQuantity6Choice : ConfirmationQuantity PartialFill4 *-- "1..1" Price14 : DealPrice PartialFill4 *-- "0..1" ITradeDate7Choice : TradeDate PartialFill4 *-- "0..1" MarketIdentification97 : PlaceOfTrade PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : OriginalOrderedQuantity PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : PreviouslyExecutedQuantity PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : RemainingQuantity PartialFill4 *-- "0..1" IQuantityOrAmount2Choice : MatchIncrementQuantity %% IQuantity6Choice recursion level 1 with max 1 %% QuantityBreakdown76 recursion level 1 with max 1 QuantityBreakdown76 *-- "0..1" GenericIdentification37 : LotNumber QuantityBreakdown76 *-- "0..1" IFinancialInstrumentQuantity1Choice : LotQuantity QuantityBreakdown76 *-- "0..1" IDateAndDateTime1Choice : LotDateTime QuantityBreakdown76 *-- "0..1" Price14 : LotPrice %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% Price14 recursion level 1 with max 1 class Price14{ Type PriceValueType7Code } Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value %% ITypeOfPrice47Choice recursion level 1 with max 1 %% Commission25 recursion level 1 with max 1 class Commission25{ CalculationDate IsoISODate TotalVATAmount IsoActiveCurrencyAndAmount VATRate IsoBaseOneRate } Commission25 *-- "1..1" ICommissionType6Choice : Type Commission25 *-- "1..1" IAmountOrRate2Choice : Commission Commission25 *-- "0..1" PartyIdentification267 : RecipientIdentification Commission25 *-- "0..1" AmountAndDirection29 : TotalCommission %% ICurrencyToBuyOrSell1Choice recursion level 1 with max 1 %% IChargeTaxBasisType2Choice recursion level 1 with max 1 %% IEUCapitalGainType3Choice recursion level 1 with max 1 %% IMatchingStatus27Choice recursion level 1 with max 1 %% YieldCalculation7 recursion level 1 with max 1 class YieldCalculation7{ Value IsoPercentageRate CalculationType CalculationType1Code ValueDate IsoISODate CalculationDate IsoISODate } YieldCalculation7 *-- "0..1" Price14 : RedemptionPrice YieldCalculation7 *-- "0..1" IDateTimePeriod1Choice : ValuePeriod %% IReporting6Choice recursion level 1 with max 1 %% RegistrationParameters3 recursion level 1 with max 1 class RegistrationParameters3{ CertificationIdentification IsoMax35Text RegistrarAccount IsoMax35Text } RegistrationParameters3 *-- "0..1" IDateAndDateTime1Choice : CertificationDateTime RegistrationParameters3 *-- "0..0" SecuritiesCertificate3 : CertificateNumber %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
Order23 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
BusinessProcessType | Specifies the type of business process. | IBusinessProcessType2Choice - Optional 0..1 |
OrderIdentification | Unique identifier for Order as assigned by sell-side. | IsoMax35Text - Unknown 0..0 |
ClientOrderIdentification | Unique identifier for the order as assigned by the buy-side. Uniqueness must be guaranteed within a single trading day. Firms, particularly those that electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClientOrderIdentification element. | IsoMax35Text - Unknown 0..0 |
SecondaryClientOrderIdentification | Assigned by the party that originates the order. Can be used to provide the ClientOrderIdentification used by an exchange or executing system. | IsoMax35Text - Unknown 0..0 |
ListIdentification | Unique identifier for a list, as assigned by the trading party. The identifier must be unique within a single trading day. | IsoMax35Text - Unknown 0..0 |
FinancialInstrumentIdentification | Unique and unambiguous identifier of a financial instrument, assigned under a formal or proprietary identification scheme. | SecurityIdentification19 - Required 1..1 |
Side | Coded list to specify the side of the order. | Side3Code - Required 1..1 |
Payment | Specifies how the transaction is to be settled, for example, against payment. | DeliveryReceiptType2Code - Optional 0..1 |
TradeTransactionType | Specifies the type of transaction of which the order is a component. | ITradeType4Choice - Optional 0..1 |
TradeTransactionCondition | Indicates the conditions under which the order/trade is to be/was executed. | ITradeTransactionCondition9Choice - Unknown 0..0 |
PreAdvice | Transaction is a pre-advice, that is, for matching purposes only. | IsoYesNoIndicator - Optional 0..1 |
PlaceOfTrade | Market in which a trade transaction is to be or has been executed. | MarketIdentification93 - Optional 0..1 |
OrderBookingDate | Date and time when an entry is posted to an account on the account servicer’s books. | IsoISODate - Optional 0..1 |
TradeOriginationDate | Indicates the date and time of the agreement in principal between counter-parties prior to actual trade date. | Used with fixed income for municipal new issue markets. |
TradeDate | Specifies the date/time on which the trade was executed. | ITradeDate7Choice - Required 1..1 |
ProcessingDate | Processing date of the trading session. | ITradeDate7Choice - Optional 0..1 |
SettlementDate | Date and time at which the securities are to be delivered or received. | ISettlementDate16Choice - Required 1..1 |
NAVDate | Valuation point, or valuation date of the portfolio (underlying assets). This is also known as price date. | IDateAndDateTime1Choice - Optional 0..1 |
PartialFillDetails | Quantity of financial instrument bought or sold which is less than the quantity of financial instrument ordered. | PartialFill4 - Unknown 0..0 |
ConfirmationQuantity | Quantity of financial instrument that is being confirmed for the account.The quantity of the security to be settled. | IQuantity6Choice - Required 1..1 |
QuantityBreakdown | Breakdown of a quantity into lots such as tax lots, instrument series, etc. | QuantityBreakdown76 - Unknown 0..0 |
GrossTradeAmount | Principal amount of a trade (price multiplied by quantity). | AmountAndDirection29 - Optional 0..1 |
DealPrice | Amount of money for which goods or services are offered, sold, or bought. | Price14 - Required 1..1 |
TypeOfPrice | Specifies the type of transaction price. | ITypeOfPrice47Choice - Optional 0..1 |
CashMargin | Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request. | CashMarginOrder1Code - Optional 0..1 |
Commission | Amount of money due to a party as compensation for a service. | Commission25 - Optional 0..1 |
NumberOfDaysAccrued | Number of days on which the interest rate accrues (daily accrual note). | IsoMax3Number - Optional 0..1 |
GiveUpNumberOfDays | Specifies the number of days from trade date that the counterparty on the other side of the trade should be “given up” or divulged. | IsoMax3Number - Optional 0..1 |
InterestType | Indicates whether the trade is cum interest or ex interest. | InterestType2Code - Optional 0..1 |
AccruedInterestPercentage | Interest rate that has been accrued in between coupon payment periods. | IsoPercentageRate - Optional 0..1 |
TradeRegulatoryConditionsType | Specifies the regulatory conditions type of the trade. | TradeRegulatoryConditions1Code - Optional 0..1 |
CurrencyToBuyOrSell | Account servicer is instructed to buy the indicated currency after the receipt of cash proceeds or to sell the indicated currency in order to obtain the necessary currency to fund the transaction. | ICurrencyToBuyOrSell1Choice - Optional 0..1 |
OrderOriginatorEligibility | Counterparties eligibility as defined by article 24 of the EU MiFID Directive applicable to transactions executed by investment firms for eligible counterparties. | Eligibility1Code - Optional 0..1 |
PositionEffect | Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together. | PositionEffect2Code - Optional 0..1 |
DerivativeCovered | Indicates whether the derivative product is covered or not by an underlying financial instrument position. | IsoYesNoIndicator - Optional 0..1 |
ChargeTaxBasisType | Type of charge/tax basis. | IChargeTaxBasisType2Choice - Optional 0..1 |
CapitalGainType | Specifies the type of capital gain. | IEUCapitalGainType3Choice - Optional 0..1 |
MatchStatus | Provides the matching status of the trade confirmation. | IMatchingStatus27Choice - Optional 0..1 |
CallInType | Specifies the type of pay-in call report. | CallIn1Code - Optional 0..1 |
YieldType | Type of yield at which the transaction was effected. | YieldCalculation7 - Optional 0..1 |
Reporting | Specifies that a trade is to be reported to a third party. | IReporting6Choice - Unknown 0..0 |
AdditionalPhysicalOrRegistrationDetails | Provides information required for the registration or physical settlement. | RegistrationParameters3 - Optional 0..1 |
AdditionalTradeInstructionProcessingInformation | Provides additional details of the trade process not included within structured fields of this message. | IsoMax350Text - Optional 0..1 |
AccruedInterestAmount | Interest amount that has accrued in between two periods, for example, in between interest payment periods. | AmountAndDirection29 - Optional 0..1 |
CounterpartyTradingDetails building block
Details of the trading counterparty. Intention to transfer an ownership of a financial instrument. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Order23 recursion level 0 with max 1 class Order23{ OrderIdentification IsoMax35Text ClientOrderIdentification IsoMax35Text SecondaryClientOrderIdentification IsoMax35Text ListIdentification IsoMax35Text Side Side3Code Payment DeliveryReceiptType2Code PreAdvice IsoYesNoIndicator OrderBookingDate IsoISODate TradeOriginationDate IsoISODateTime CashMargin CashMarginOrder1Code NumberOfDaysAccrued IsoMax3Number GiveUpNumberOfDays IsoMax3Number InterestType InterestType2Code AccruedInterestPercentage IsoPercentageRate TradeRegulatoryConditionsType TradeRegulatoryConditions1Code OrderOriginatorEligibility Eligibility1Code PositionEffect PositionEffect2Code DerivativeCovered IsoYesNoIndicator CallInType CallIn1Code AdditionalTradeInstructionProcessingInformation IsoMax350Text } Order23 *-- "0..1" IBusinessProcessType2Choice : BusinessProcessType Order23 *-- "1..1" SecurityIdentification19 : FinancialInstrumentIdentification Order23 *-- "0..1" ITradeType4Choice : TradeTransactionType Order23 *-- "0..0" ITradeTransactionCondition9Choice : TradeTransactionCondition Order23 *-- "0..1" MarketIdentification93 : PlaceOfTrade Order23 *-- "1..1" ITradeDate7Choice : TradeDate Order23 *-- "0..1" ITradeDate7Choice : ProcessingDate Order23 *-- "1..1" ISettlementDate16Choice : SettlementDate Order23 *-- "0..1" IDateAndDateTime1Choice : NAVDate Order23 *-- "0..0" PartialFill4 : PartialFillDetails Order23 *-- "1..1" IQuantity6Choice : ConfirmationQuantity Order23 *-- "0..0" QuantityBreakdown76 : QuantityBreakdown Order23 *-- "0..1" AmountAndDirection29 : GrossTradeAmount Order23 *-- "1..1" Price14 : DealPrice Order23 *-- "0..1" ITypeOfPrice47Choice : TypeOfPrice Order23 *-- "0..1" Commission25 : Commission Order23 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell Order23 *-- "0..1" IChargeTaxBasisType2Choice : ChargeTaxBasisType Order23 *-- "0..1" IEUCapitalGainType3Choice : CapitalGainType Order23 *-- "0..1" IMatchingStatus27Choice : MatchStatus Order23 *-- "0..1" YieldCalculation7 : YieldType Order23 *-- "0..0" IReporting6Choice : Reporting Order23 *-- "0..1" RegistrationParameters3 : AdditionalPhysicalOrRegistrationDetails Order23 *-- "0..1" AmountAndDirection29 : AccruedInterestAmount %% IBusinessProcessType2Choice recursion level 1 with max 1 %% SecurityIdentification19 recursion level 1 with max 1 class SecurityIdentification19{ ISIN IsoISINOct2015Identifier Description IsoMax140Text } SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification %% ITradeType4Choice recursion level 1 with max 1 %% ITradeTransactionCondition9Choice recursion level 1 with max 1 %% MarketIdentification93 recursion level 1 with max 1 MarketIdentification93 *-- "0..1" IMarketIdentification3Choice : Identification MarketIdentification93 *-- "0..1" IMarketType18Choice : Type %% ITradeDate7Choice recursion level 1 with max 1 %% ITradeDate7Choice recursion level 1 with max 1 %% ISettlementDate16Choice recursion level 1 with max 1 %% IDateAndDateTime1Choice recursion level 1 with max 1 %% PartialFill4 recursion level 1 with max 1 PartialFill4 *-- "1..1" IQuantity6Choice : ConfirmationQuantity PartialFill4 *-- "1..1" Price14 : DealPrice PartialFill4 *-- "0..1" ITradeDate7Choice : TradeDate PartialFill4 *-- "0..1" MarketIdentification97 : PlaceOfTrade PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : OriginalOrderedQuantity PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : PreviouslyExecutedQuantity PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : RemainingQuantity PartialFill4 *-- "0..1" IQuantityOrAmount2Choice : MatchIncrementQuantity %% IQuantity6Choice recursion level 1 with max 1 %% QuantityBreakdown76 recursion level 1 with max 1 QuantityBreakdown76 *-- "0..1" GenericIdentification37 : LotNumber QuantityBreakdown76 *-- "0..1" IFinancialInstrumentQuantity1Choice : LotQuantity QuantityBreakdown76 *-- "0..1" IDateAndDateTime1Choice : LotDateTime QuantityBreakdown76 *-- "0..1" Price14 : LotPrice %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% Price14 recursion level 1 with max 1 class Price14{ Type PriceValueType7Code } Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value %% ITypeOfPrice47Choice recursion level 1 with max 1 %% Commission25 recursion level 1 with max 1 class Commission25{ CalculationDate IsoISODate TotalVATAmount IsoActiveCurrencyAndAmount VATRate IsoBaseOneRate } Commission25 *-- "1..1" ICommissionType6Choice : Type Commission25 *-- "1..1" IAmountOrRate2Choice : Commission Commission25 *-- "0..1" PartyIdentification267 : RecipientIdentification Commission25 *-- "0..1" AmountAndDirection29 : TotalCommission %% ICurrencyToBuyOrSell1Choice recursion level 1 with max 1 %% IChargeTaxBasisType2Choice recursion level 1 with max 1 %% IEUCapitalGainType3Choice recursion level 1 with max 1 %% IMatchingStatus27Choice recursion level 1 with max 1 %% YieldCalculation7 recursion level 1 with max 1 class YieldCalculation7{ Value IsoPercentageRate CalculationType CalculationType1Code ValueDate IsoISODate CalculationDate IsoISODate } YieldCalculation7 *-- "0..1" Price14 : RedemptionPrice YieldCalculation7 *-- "0..1" IDateTimePeriod1Choice : ValuePeriod %% IReporting6Choice recursion level 1 with max 1 %% RegistrationParameters3 recursion level 1 with max 1 class RegistrationParameters3{ CertificationIdentification IsoMax35Text RegistrarAccount IsoMax35Text } RegistrationParameters3 *-- "0..1" IDateAndDateTime1Choice : CertificationDateTime RegistrationParameters3 *-- "0..0" SecuritiesCertificate3 : CertificateNumber %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
Order23 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
BusinessProcessType | Specifies the type of business process. | IBusinessProcessType2Choice - Optional 0..1 |
OrderIdentification | Unique identifier for Order as assigned by sell-side. | IsoMax35Text - Unknown 0..0 |
ClientOrderIdentification | Unique identifier for the order as assigned by the buy-side. Uniqueness must be guaranteed within a single trading day. Firms, particularly those that electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClientOrderIdentification element. | IsoMax35Text - Unknown 0..0 |
SecondaryClientOrderIdentification | Assigned by the party that originates the order. Can be used to provide the ClientOrderIdentification used by an exchange or executing system. | IsoMax35Text - Unknown 0..0 |
ListIdentification | Unique identifier for a list, as assigned by the trading party. The identifier must be unique within a single trading day. | IsoMax35Text - Unknown 0..0 |
FinancialInstrumentIdentification | Unique and unambiguous identifier of a financial instrument, assigned under a formal or proprietary identification scheme. | SecurityIdentification19 - Required 1..1 |
Side | Coded list to specify the side of the order. | Side3Code - Required 1..1 |
Payment | Specifies how the transaction is to be settled, for example, against payment. | DeliveryReceiptType2Code - Optional 0..1 |
TradeTransactionType | Specifies the type of transaction of which the order is a component. | ITradeType4Choice - Optional 0..1 |
TradeTransactionCondition | Indicates the conditions under which the order/trade is to be/was executed. | ITradeTransactionCondition9Choice - Unknown 0..0 |
PreAdvice | Transaction is a pre-advice, that is, for matching purposes only. | IsoYesNoIndicator - Optional 0..1 |
PlaceOfTrade | Market in which a trade transaction is to be or has been executed. | MarketIdentification93 - Optional 0..1 |
OrderBookingDate | Date and time when an entry is posted to an account on the account servicer’s books. | IsoISODate - Optional 0..1 |
TradeOriginationDate | Indicates the date and time of the agreement in principal between counter-parties prior to actual trade date. | Used with fixed income for municipal new issue markets. |
TradeDate | Specifies the date/time on which the trade was executed. | ITradeDate7Choice - Required 1..1 |
ProcessingDate | Processing date of the trading session. | ITradeDate7Choice - Optional 0..1 |
SettlementDate | Date and time at which the securities are to be delivered or received. | ISettlementDate16Choice - Required 1..1 |
NAVDate | Valuation point, or valuation date of the portfolio (underlying assets). This is also known as price date. | IDateAndDateTime1Choice - Optional 0..1 |
PartialFillDetails | Quantity of financial instrument bought or sold which is less than the quantity of financial instrument ordered. | PartialFill4 - Unknown 0..0 |
ConfirmationQuantity | Quantity of financial instrument that is being confirmed for the account.The quantity of the security to be settled. | IQuantity6Choice - Required 1..1 |
QuantityBreakdown | Breakdown of a quantity into lots such as tax lots, instrument series, etc. | QuantityBreakdown76 - Unknown 0..0 |
GrossTradeAmount | Principal amount of a trade (price multiplied by quantity). | AmountAndDirection29 - Optional 0..1 |
DealPrice | Amount of money for which goods or services are offered, sold, or bought. | Price14 - Required 1..1 |
TypeOfPrice | Specifies the type of transaction price. | ITypeOfPrice47Choice - Optional 0..1 |
CashMargin | Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request. | CashMarginOrder1Code - Optional 0..1 |
Commission | Amount of money due to a party as compensation for a service. | Commission25 - Optional 0..1 |
NumberOfDaysAccrued | Number of days on which the interest rate accrues (daily accrual note). | IsoMax3Number - Optional 0..1 |
GiveUpNumberOfDays | Specifies the number of days from trade date that the counterparty on the other side of the trade should be “given up” or divulged. | IsoMax3Number - Optional 0..1 |
InterestType | Indicates whether the trade is cum interest or ex interest. | InterestType2Code - Optional 0..1 |
AccruedInterestPercentage | Interest rate that has been accrued in between coupon payment periods. | IsoPercentageRate - Optional 0..1 |
TradeRegulatoryConditionsType | Specifies the regulatory conditions type of the trade. | TradeRegulatoryConditions1Code - Optional 0..1 |
CurrencyToBuyOrSell | Account servicer is instructed to buy the indicated currency after the receipt of cash proceeds or to sell the indicated currency in order to obtain the necessary currency to fund the transaction. | ICurrencyToBuyOrSell1Choice - Optional 0..1 |
OrderOriginatorEligibility | Counterparties eligibility as defined by article 24 of the EU MiFID Directive applicable to transactions executed by investment firms for eligible counterparties. | Eligibility1Code - Optional 0..1 |
PositionEffect | Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together. | PositionEffect2Code - Optional 0..1 |
DerivativeCovered | Indicates whether the derivative product is covered or not by an underlying financial instrument position. | IsoYesNoIndicator - Optional 0..1 |
ChargeTaxBasisType | Type of charge/tax basis. | IChargeTaxBasisType2Choice - Optional 0..1 |
CapitalGainType | Specifies the type of capital gain. | IEUCapitalGainType3Choice - Optional 0..1 |
MatchStatus | Provides the matching status of the trade confirmation. | IMatchingStatus27Choice - Optional 0..1 |
CallInType | Specifies the type of pay-in call report. | CallIn1Code - Optional 0..1 |
YieldType | Type of yield at which the transaction was effected. | YieldCalculation7 - Optional 0..1 |
Reporting | Specifies that a trade is to be reported to a third party. | IReporting6Choice - Unknown 0..0 |
AdditionalPhysicalOrRegistrationDetails | Provides information required for the registration or physical settlement. | RegistrationParameters3 - Optional 0..1 |
AdditionalTradeInstructionProcessingInformation | Provides additional details of the trade process not included within structured fields of this message. | IsoMax350Text - Optional 0..1 |
AccruedInterestAmount | Interest amount that has accrued in between two periods, for example, in between interest payment periods. | AmountAndDirection29 - Optional 0..1 |
ConfirmationParties building block
Parties used for acting parties that applies either to the whole message or to individual sides. Parties used for acting parties that apply either to the whole message or to individual sides. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ConfirmationParties9 recursion level 0 with max 1 ConfirmationParties9 *-- "0..0" PartyIdentificationAndAccount220 : Investor ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails12 : Buyer ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails12 : Borrower ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails12 : Seller ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails12 : Lender ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails14 : BrokerOfCredit ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails14 : IntroducingFirm ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails11 : StepInFirm ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails11 : StepOutFirm ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails16 : ClearingFirm ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails16 : ExecutingBroker ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails14 : AffirmingParty ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails14 : TradeBeneficiaryParty %% PartyIdentificationAndAccount220 recursion level 1 with max 1 class PartyIdentificationAndAccount220{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text CountryOfResidence CountryCode } PartyIdentificationAndAccount220 *-- "0..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount220 *-- "0..1" ICashAccountIdentification5Choice : CashAccount PartyIdentificationAndAccount220 *-- "0..1" PartyTextInformation1 : AdditionalInformation PartyIdentificationAndAccount220 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% ConfirmationPartyDetails12 recursion level 1 with max 1 class ConfirmationPartyDetails12{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails12 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails12 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails12 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails12 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity ConfirmationPartyDetails12 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity %% ConfirmationPartyDetails12 recursion level 1 with max 1 class ConfirmationPartyDetails12{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails12 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails12 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails12 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails12 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity ConfirmationPartyDetails12 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity %% ConfirmationPartyDetails12 recursion level 1 with max 1 class ConfirmationPartyDetails12{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails12 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails12 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails12 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails12 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity ConfirmationPartyDetails12 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity %% ConfirmationPartyDetails12 recursion level 1 with max 1 class ConfirmationPartyDetails12{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails12 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails12 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails12 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails12 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity ConfirmationPartyDetails12 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity %% ConfirmationPartyDetails14 recursion level 1 with max 1 class ConfirmationPartyDetails14{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails14 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails14 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount ConfirmationPartyDetails14 *-- "0..1" IAccountIdentification55Choice : CashDetails ConfirmationPartyDetails14 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails14 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails14 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity %% ConfirmationPartyDetails14 recursion level 1 with max 1 class ConfirmationPartyDetails14{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails14 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails14 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount ConfirmationPartyDetails14 *-- "0..1" IAccountIdentification55Choice : CashDetails ConfirmationPartyDetails14 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails14 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails14 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity %% ConfirmationPartyDetails11 recursion level 1 with max 1 class ConfirmationPartyDetails11{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails11 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails11 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails11 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails11 recursion level 1 with max 1 class ConfirmationPartyDetails11{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails11 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails11 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails11 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails16 recursion level 1 with max 1 class ConfirmationPartyDetails16{ ProcessingIdentification IsoMax35Text InvestorProtectionAssociationMembership IsoYesNoIndicator } ConfirmationPartyDetails16 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails16 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount ConfirmationPartyDetails16 *-- "0..1" IAccountIdentification55Choice : CashDetails ConfirmationPartyDetails16 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails16 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails16 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity %% ConfirmationPartyDetails16 recursion level 1 with max 1 class ConfirmationPartyDetails16{ ProcessingIdentification IsoMax35Text InvestorProtectionAssociationMembership IsoYesNoIndicator } ConfirmationPartyDetails16 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails16 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount ConfirmationPartyDetails16 *-- "0..1" IAccountIdentification55Choice : CashDetails ConfirmationPartyDetails16 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails16 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails16 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity %% ConfirmationPartyDetails14 recursion level 1 with max 1 class ConfirmationPartyDetails14{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails14 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails14 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount ConfirmationPartyDetails14 *-- "0..1" IAccountIdentification55Choice : CashDetails ConfirmationPartyDetails14 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails14 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails14 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity %% ConfirmationPartyDetails14 recursion level 1 with max 1 class ConfirmationPartyDetails14{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails14 *-- "1..1" IPartyIdentification240Choice : Identification ConfirmationPartyDetails14 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount ConfirmationPartyDetails14 *-- "0..1" IAccountIdentification55Choice : CashDetails ConfirmationPartyDetails14 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification ConfirmationPartyDetails14 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails14 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity
ConfirmationParties9 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Investor | Party that identifies the underlying investor. | PartyIdentificationAndAccount220 - Unknown 0..0 |
Buyer | Party that buys goods or services, or a financial instrument. | ConfirmationPartyDetails12 - Optional 0..1 |
Borrower | Party that has applied, met specific requirements, and received a monetary or securities loan from a lender. The party initiating the request signs a promissory note agreeing to pay the lien holder back during a specified timeframe for the entire loan amount plus any additional fees. The borrower is legally responsible for repayment of the loan and is subject to any penalties for not repaying the loan back based on the lending terms agreed upon. | ConfirmationPartyDetails12 - Optional 0..1 |
Seller | Party that sells goods or services, or a financial instrument. | ConfirmationPartyDetails12 - Optional 0..1 |
Lender | A private, public or institutional entity which makes funds available to others to borrow. | ConfirmationPartyDetails12 - Optional 0..1 |
BrokerOfCredit | Brokerage firm which is the commissioned broker in a multi-broker trade. | ConfirmationPartyDetails14 - Optional 0..1 |
IntroducingFirm | Broker or other intermediary with the closest association with the investor. | ConfirmationPartyDetails14 - Optional 0..1 |
StepInFirm | Brokerage firm assigned to take credit on the trade from the step-out brokerage firm. | ConfirmationPartyDetails11 - Optional 0..1 |
StepOutFirm | Brokerage firm that executes an order, but gives other firms credit and some of the commission for the trade. | ConfirmationPartyDetails11 - Optional 0..1 |
ClearingFirm | Party, also know as take up broker, that settles security transactions from another broker for a fee. | ConfirmationPartyDetails16 - Optional 0..1 |
ExecutingBroker | Party responsible for executing an order (for example, an executing or give-up broker). Usually a commission is charged to the client for executing an order. | ConfirmationPartyDetails16 - Optional 0..1 |
AffirmingParty | Party (buyer or seller) that positively affirms the details of a previously agreed security trade confirmation. | ConfirmationPartyDetails14 - Optional 0..1 |
TradeBeneficiaryParty | Party involved in a legal proceeding, agreement, or other transaction. | ConfirmationPartyDetails14 - Optional 0..1 |
DeliveringSettlementParties building block
Identifies the chain of delivering settlement parties. Chain of parties involved in the settlement of a transaction, including receipts and deliveries, book transfers, treasury deals, or other activities, resulting in the movement of a security or amount of money from one account to another. For comparison, see the ISO20022 official specification
classDiagram direction tb %% SettlementParties121 recursion level 0 with max 1 SettlementParties121 *-- "0..1" PartyIdentification268 : Depository SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party1 SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party2 SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party3 SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party4 SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party5 %% PartyIdentification268 recursion level 1 with max 1 PartyIdentification268 *-- "1..1" IPartyIdentification244Choice : Identification PartyIdentification268 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification PartyIdentification268 *-- "0..1" PartyTextInformation1 : AdditionalInformation %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
SettlementParties121 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Depository | First party in the settlement chain. In a plain vanilla settlement, it is the Central Securities Depository where the counterparty requests to receive the financial instrument or from where the counterparty delivers the financial instruments. | PartyIdentification268 - Optional 0..1 |
Party1 | Party that, in a settlement chain interacts with the depository. | PartyIdentificationAndAccount218 - Optional 0..1 |
Party2 | Party that, in a settlement chain interacts with the party 1. | PartyIdentificationAndAccount218 - Optional 0..1 |
Party3 | Party that, in a settlement chain interacts with the party 2. | PartyIdentificationAndAccount218 - Optional 0..1 |
Party4 | Party that, in a settlement chain interacts with the party 3. | PartyIdentificationAndAccount218 - Optional 0..1 |
Party5 | Party that, in a settlement chain interacts with the party 4. | PartyIdentificationAndAccount218 - Optional 0..1 |
ReceivingSettlementParties building block
Identifies the chain of receiving settlement parties. Chain of parties involved in the settlement of a transaction, including receipts and deliveries, book transfers, treasury deals, or other activities, resulting in the movement of a security or amount of money from one account to another. For comparison, see the ISO20022 official specification
classDiagram direction tb %% SettlementParties121 recursion level 0 with max 1 SettlementParties121 *-- "0..1" PartyIdentification268 : Depository SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party1 SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party2 SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party3 SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party4 SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party5 %% PartyIdentification268 recursion level 1 with max 1 PartyIdentification268 *-- "1..1" IPartyIdentification244Choice : Identification PartyIdentification268 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification PartyIdentification268 *-- "0..1" PartyTextInformation1 : AdditionalInformation %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification %% PartyIdentificationAndAccount218 recursion level 1 with max 1 class PartyIdentificationAndAccount218{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
SettlementParties121 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Depository | First party in the settlement chain. In a plain vanilla settlement, it is the Central Securities Depository where the counterparty requests to receive the financial instrument or from where the counterparty delivers the financial instruments. | PartyIdentification268 - Optional 0..1 |
Party1 | Party that, in a settlement chain interacts with the depository. | PartyIdentificationAndAccount218 - Optional 0..1 |
Party2 | Party that, in a settlement chain interacts with the party 1. | PartyIdentificationAndAccount218 - Optional 0..1 |
Party3 | Party that, in a settlement chain interacts with the party 2. | PartyIdentificationAndAccount218 - Optional 0..1 |
Party4 | Party that, in a settlement chain interacts with the party 3. | PartyIdentificationAndAccount218 - Optional 0..1 |
Party5 | Party that, in a settlement chain interacts with the party 4. | PartyIdentificationAndAccount218 - Optional 0..1 |
SupplementaryData building block
Additional information that cannot be captured in the structured elements and/or any other specific block. Additional information that can not be captured in the structured fields and/or any other specific block. For comparison, see the ISO20022 official specification
classDiagram direction tb %% SupplementaryData1 recursion level 0 with max 1 class SupplementaryData1{ PlaceAndName IsoMax350Text } SupplementaryData1 *-- "1..1" IsoSupplementaryDataEnvelope1 : Envelope %% IsoSupplementaryDataEnvelope1 recursion level 1 with max 1
SupplementaryData1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
PlaceAndName | Unambiguous reference to the location where the supplementary data must be inserted in the message instance. In the case of XML, this is expressed by a valid XPath. | IsoMax350Text - Optional 0..1 |
Envelope | Technical element wrapping the supplementary data. | IsoSupplementaryDataEnvelope1 - Required 1..1 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the SecuritiesTradeConfirmationStatusAdviceV03 implementation follows a specific implementaiton pattern. First of all, SecuritiesTradeConfirmationStatusAdviceV03 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, SecuritiesTradeConfirmationStatusAdviceV03Document implements IOuterDocument. Because SecuritiesTradeConfirmationStatusAdviceV03 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type SecuritiesTradeConfirmationStatusAdviceV03.
classDiagram class IOuterRecord SecuritiesTradeConfirmationStatusAdviceV03 --|> IOuterRecord : Implements SecuritiesTradeConfirmationStatusAdviceV03Document --|> IOuterDocument~SecuritiesTradeConfirmationStatusAdviceV03~ : Implements class IOuterDocument~SecuritiesTradeConfirmationStatusAdviceV03~ { SecuritiesTradeConfirmationStatusAdviceV03 Message }
Document wrapper for serialization
The only real purpose SecuritiesTradeConfirmationStatusAdviceV03Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:setr.044.001.03’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using SecuritiesTradeConfirmationStatusAdviceV03.ToDocument() method. The returned SecuritiesTradeConfirmationStatusAdviceV03Document value will serialize correctly according to ISO 20022 standards.
classDiagram SecuritiesTradeConfirmationStatusAdviceV03Document *-- SecuritiesTradeConfirmationStatusAdviceV03 : Document
Sample of message format
This is an abbreviated version of what the message should look like.
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:setr.044.001.03">
<SctiesTradConfStsAdvc>
<Id>
<!-- Identification inner content -->
</Id>
<Refs>
<!-- References inner content -->
</Refs>
<AffirmSts>
<!-- AffirmationStatus inner content -->
</AffirmSts>
<PrcgSts>
<!-- ProcessingStatus inner content -->
</PrcgSts>
<MtchgSts>
<!-- MatchingStatus inner content -->
</MtchgSts>
<RplcmntPrcgSts>
<!-- ReplacementProcessingStatus inner content -->
</RplcmntPrcgSts>
<CxlPrcgSts>
<!-- CancellationProcessingStatus inner content -->
</CxlPrcgSts>
<PtyTradgDtls>
<!-- PartyTradingDetails inner content -->
</PtyTradgDtls>
<CtrPtyTradgDtls>
<!-- CounterpartyTradingDetails inner content -->
</CtrPtyTradgDtls>
<ConfPties>
<!-- ConfirmationParties inner content -->
</ConfPties>
<DlvrgSttlmPties>
<!-- DeliveringSettlementParties inner content -->
</DlvrgSttlmPties>
<RcvgSttlmPties>
<!-- ReceivingSettlementParties inner content -->
</RcvgSttlmPties>
<SplmtryData>
<!-- SupplementaryData inner content -->
</SplmtryData>
</SctiesTradConfStsAdvc>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_upGFgANmEe2P7e2qGFFOGg"
previousVersion="_V_jSQTAjEeOUGqA1wUwNLA"
name="SecuritiesTradeConfirmationStatusAdviceV03"
definition="Scope
This message is sent from Central Matching Utility (CMU) to an executing party or an instructing party to advise the status of the SecuritiesTradeConfirmation message previously sent by the party. The status may be a processing, pending processing, affirmed or disaffirmed, cancel or replacement by an instructing party, a custodian or an affirming party, internal matching, and/or matching status.
The instructing party is typically the investment manager or an intermediary system/vendor communicating on behalf of the investment manager or of other categories of investors. The executing party is typically the broker/dealer or an intermediary system/vendor communicating on behalf of the broker/dealer.
The ISO 20022 Business Application Header must be used
Usage
Initiator: In central matching the Initiator is the Central Matching Utility.
Respondent: no response is needed by the recipient of the message."
registrationStatus="Registered"
messageSet="_oOGmoHkPEeOUfbICsvs_4A"
xmlTag="SctiesTradConfStsAdvc"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<constraint
xmi:id="_upGFggNmEe2P7e2qGFFOGg"
previousVersion="_V_jSQzAjEeOUGqA1wUwNLA"
name="StatusPresenceRule"
definition="AffirmationStatus or ProcessingStatus or MatchingStatus or ReplacementProcessingStatus or CancellationProcessingStatus must be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><SimpleRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="SimpleRule"><mustBe><connector>OR</connector><BooleanRule xsi:type="Presence"><leftOperand>/AffirmationStatus</leftOperand></BooleanRule><BooleanRule xsi:type="Presence"><leftOperand>/ProcessingStatus</leftOperand></BooleanRule><BooleanRule xsi:type="Presence"><leftOperand>/MatchingStatus</leftOperand></BooleanRule><BooleanRule xsi:type="Presence"><leftOperand>/ReplacementProcessingStatus</leftOperand></BooleanRule><BooleanRule xsi:type="Presence"><leftOperand>/CancellationProcessingStatus</leftOperand></BooleanRule></mustBe></SimpleRule></RuleDefinition>" />
<messageBuildingBlock
xmi:id="_upGFigNmEe2P7e2qGFFOGg"
previousVersion="_V_jSRTAjEeOUGqA1wUwNLA"
name="Identification"
definition="Information that unambiguously identifies an SecuritiesTradeConfirmationStatusAdvice message as known by the account owner (or the instructing party acting on its behalf)."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="Id"
complexType="_Ab8KktokEeC60axPepSq7g_597298616" />
<messageBuildingBlock
xmi:id="_upGFjANmEe2P7e2qGFFOGg"
previousVersion="_V_jSRzAjEeOUGqA1wUwNLA"
name="References"
definition="Link to another transaction that must be processed after, before or at the same time."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="Refs"
complexType="_AgUuTQd3Ee2fOITqoTnSLQ" />
<messageBuildingBlock
xmi:id="_upGFjgNmEe2P7e2qGFFOGg"
previousVersion="_V_jSSTAjEeOUGqA1wUwNLA"
name="AffirmationStatus"
definition="Provides details on the affitrmation status of a trade."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="AffirmSts"
complexType="_XiELhQd3Ee2fOITqoTnSLQ" />
<messageBuildingBlock
xmi:id="_upGFkANmEe2P7e2qGFFOGg"
previousVersion="_V_jSSzAjEeOUGqA1wUwNLA"
name="ProcessingStatus"
definition="Provides the processing status of a trade."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="PrcgSts"
complexType="_xnOQMQarEe2phaVG0lYKTw" />
<messageBuildingBlock
xmi:id="_upGFkgNmEe2P7e2qGFFOGg"
previousVersion="_V_jSTTAjEeOUGqA1wUwNLA"
name="MatchingStatus"
definition="Provides details on the matching status of a trade."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="MtchgSts"
complexType="_2W_4UQd3Ee2fOITqoTnSLQ" />
<messageBuildingBlock
xmi:id="_upGFlANmEe2P7e2qGFFOGg"
previousVersion="_V_jSTzAjEeOUGqA1wUwNLA"
name="ReplacementProcessingStatus"
definition="Provides the replacement processing status of a trade."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="RplcmntPrcgSts"
complexType="_RPMBxQeDEe2fOITqoTnSLQ" />
<messageBuildingBlock
xmi:id="_upGFlgNmEe2P7e2qGFFOGg"
previousVersion="_V_jSUTAjEeOUGqA1wUwNLA"
name="CancellationProcessingStatus"
definition="Provides details on the cancellation status of a trade."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="CxlPrcgSts"
complexType="_livbgQd4Ee2fOITqoTnSLQ" />
<messageBuildingBlock
xmi:id="_upGFmANmEe2P7e2qGFFOGg"
previousVersion="_V_jSUzAjEeOUGqA1wUwNLA"
name="PartyTradingDetails"
definition="Details of the trading party."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="PtyTradgDtls"
complexType="_6GFykQauEe2phaVG0lYKTw" />
<messageBuildingBlock
xmi:id="_upGFmgNmEe2P7e2qGFFOGg"
previousVersion="_V_jSVTAjEeOUGqA1wUwNLA"
name="CounterpartyTradingDetails"
definition="Details of the trading counterparty."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="CtrPtyTradgDtls"
complexType="_6GFykQauEe2phaVG0lYKTw" />
<messageBuildingBlock
xmi:id="_upGFnANmEe2P7e2qGFFOGg"
previousVersion="_V_jSVzAjEeOUGqA1wUwNLA"
name="ConfirmationParties"
definition="Parties used for acting parties that applies either to the whole message or to individual sides."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="ConfPties"
complexType="_YMcpnwasEe2phaVG0lYKTw" />
<messageBuildingBlock
xmi:id="_upGFngNmEe2P7e2qGFFOGg"
previousVersion="_V_jSWTAjEeOUGqA1wUwNLA"
name="DeliveringSettlementParties"
definition="Identifies the chain of delivering settlement parties."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="DlvrgSttlmPties"
complexType="_VIyEMQasEe2phaVG0lYKTw" />
<messageBuildingBlock
xmi:id="_upGFoANmEe2P7e2qGFFOGg"
previousVersion="_V_jSWzAjEeOUGqA1wUwNLA"
name="ReceivingSettlementParties"
definition="Identifies the chain of receiving settlement parties."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="RcvgSttlmPties"
complexType="_VIyEMQasEe2phaVG0lYKTw" />
<messageBuildingBlock
xmi:id="_upGFogNmEe2P7e2qGFFOGg"
previousVersion="_V_jSXTAjEeOUGqA1wUwNLA"
name="SupplementaryData"
definition="Additional information that cannot be captured in the structured elements and/or any other specific block."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="SplmtryData"
complexType="_Qn0zC9p-Ed-ak6NoX_4Aeg_468227563" />
<messageDefinitionIdentifier
businessArea="setr"
messageFunctionality="044"
flavour="001"
version="03" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.