setr.027.001.02
SCOPE Sent by an executing party to an instructing party directly or through Central Matching Utility (CMU) to provide trade confirmation on a per-account basis based on instructions provided by the instructing party in the SecuritiesAllocationInstruction message.
It may also be used to provide trade confirmation on the trade level from an executing party or an instructing party to the custodian or an affirming party directly or through CMU.
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 custodian or the affirming party is typically the custodian, trustee, financial institution, intermediary system/vendor communicating on behalf of them, or their agent.
USAGE Initiator: In local matching, the initiator of this message is always the executing party. In central matching the initiator may be either the executing party or instructing party. Respondent: instructing party, a custodian or an affirming party responds with SecuritiesTradeConfirmationResponse (accept or reject) 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 %% SecuritiesTradeConfirmationV02 recursion level 0 with max 0 SecuritiesTradeConfirmationV02 *-- "1..1" TransactiontIdentification4 : Identification SecuritiesTradeConfirmationV02 *-- "0..1" INumberCount1Choice : NumberCount SecuritiesTradeConfirmationV02 *-- "0..1" Linkages15 : References SecuritiesTradeConfirmationV02 *-- "1..1" Order14 : TradeDetails SecuritiesTradeConfirmationV02 *-- "1..1" SecurityIdentification14 : FinancialInstrumentIdentification SecuritiesTradeConfirmationV02 *-- "0..1" FinancialInstrumentAttributes44 : FinancialInstrumentAttributes SecuritiesTradeConfirmationV02 *-- "0..1" UnderlyingFinancialInstrument2 : UnderlyingFinancialInstrument SecuritiesTradeConfirmationV02 *-- "0..1" FinancialInstrumentStipulations2 : Stipulations SecuritiesTradeConfirmationV02 *-- "1..1" ConfirmationParties2 : ConfirmationParties SecuritiesTradeConfirmationV02 *-- "0..1" SettlementDetails43 : SettlementParameters SecuritiesTradeConfirmationV02 *-- "0..1" StandingSettlementInstruction9 : StandingSettlementInstruction SecuritiesTradeConfirmationV02 *-- "0..1" SettlementParties23 : DeliveringSettlementParties SecuritiesTradeConfirmationV02 *-- "0..1" SettlementParties23 : ReceivingSettlementParties SecuritiesTradeConfirmationV02 *-- "0..1" CashParties18 : CashParties SecuritiesTradeConfirmationV02 *-- "0..1" Clearing3 : ClearingDetails SecuritiesTradeConfirmationV02 *-- "0..1" AmountAndDirection28 : SettlementAmount SecuritiesTradeConfirmationV02 *-- "0..1" OtherAmounts16 : OtherAmounts SecuritiesTradeConfirmationV02 *-- "0..1" OtherPrices1 : OtherPrices SecuritiesTradeConfirmationV02 *-- "0..1" OtherParties18 : OtherBusinessParties SecuritiesTradeConfirmationV02 *-- "0..1" TwoLegTransactionDetails1 : TwoLegTransactionDetails SecuritiesTradeConfirmationV02 *-- "0..1" RegulatoryStipulations1 : RegulatoryStipulations SecuritiesTradeConfirmationV02 *-- "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 SecuritiesTradeConfirmation 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 |
NumberCount building block
Count of the number of transactions linked. Choice of number count type. For comparison, see the ISO20022 official specification
classDiagram direction tb %% INumberCount1Choice recursion level 0 with max 1
NumberCount1Choice members
Member name | Description | Data Type / Multiplicity |
---|
References building block
Reference to the transaction identifier issued by a business party and/or market infrastructure. It may also be used to reference a previous transaction, for example, a block/allocation instruction, or tie a set of messages together. Information related to a linked transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Linkages15 recursion level 0 with max 1 Linkages15 *-- "0..1" IDocumentNumber4Choice : MessageNumber Linkages15 *-- "1..1" IIdentificationReference8Choice : Reference %% IDocumentNumber4Choice recursion level 1 with max 1 %% IIdentificationReference8Choice recursion level 1 with max 1
Linkages15 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
MessageNumber | Message type number/message identifier of the message referenced in the linkage sequence. | IDocumentNumber4Choice - Optional 0..1 |
Reference | Reference to the linked transaction. | IIdentificationReference8Choice - Required 1..1 |
TradeDetails building block
Details of the trade. Intention to transfer an ownership of a financial instrument. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Order14 recursion level 0 with max 1 class Order14{ 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 } Order14 *-- "0..1" IBusinessProcessType1Choice : BusinessProcessType Order14 *-- "0..1" ITradeType3Choice : TradeTransactionType Order14 *-- "0..0" ITradeTransactionCondition4Choice : TradeTransactionCondition Order14 *-- "0..1" MarketIdentification77 : PlaceOfTrade Order14 *-- "1..1" ITradeDate4Choice : TradeDate Order14 *-- "0..1" ITradeDate4Choice : ProcessingDate Order14 *-- "1..1" ISettlementDate8Choice : SettlementDate Order14 *-- "0..1" IDateAndDateTime1Choice : NAVDate Order14 *-- "0..0" PartialFill1 : PartialFillDetails Order14 *-- "1..1" IQuantity6Choice : ConfirmationQuantity Order14 *-- "0..0" QuantityBreakdown11 : QuantityBreakdown Order14 *-- "0..1" AmountAndDirection29 : GrossTradeAmount Order14 *-- "1..1" Price4 : DealPrice Order14 *-- "0..1" ITypeOfPrice10Choice : TypeOfPrice Order14 *-- "0..1" Commission16 : Commission Order14 *-- "0..1" AmountAndDirection29 : AccruedInterestAmount Order14 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell Order14 *-- "0..1" IChargeTaxBasisType1Choice : ChargeTaxBasisType Order14 *-- "0..1" IEUCapitalGainType2Choice : CapitalGainType Order14 *-- "0..1" IMatchingStatus8Choice : MatchStatus Order14 *-- "0..1" YieldCalculation2 : YieldType Order14 *-- "0..0" IReporting5Choice : Reporting Order14 *-- "0..1" RegistrationParameters3 : AdditionalPhysicalOrRegistrationDetails %% IBusinessProcessType1Choice recursion level 1 with max 1 %% ITradeType3Choice recursion level 1 with max 1 %% ITradeTransactionCondition4Choice recursion level 1 with max 1 %% MarketIdentification77 recursion level 1 with max 1 MarketIdentification77 *-- "0..1" IMarketIdentification3Choice : Identification MarketIdentification77 *-- "0..1" IMarketType11Choice : Type %% ITradeDate4Choice recursion level 1 with max 1 %% ITradeDate4Choice recursion level 1 with max 1 %% ISettlementDate8Choice recursion level 1 with max 1 %% IDateAndDateTime1Choice recursion level 1 with max 1 %% PartialFill1 recursion level 1 with max 1 PartialFill1 *-- "1..1" IQuantity6Choice : ConfirmationQuantity PartialFill1 *-- "1..1" Price4 : DealPrice PartialFill1 *-- "0..1" ITradeDate4Choice : TradeDate PartialFill1 *-- "0..1" MarketIdentification13 : PlaceOfTrade PartialFill1 *-- "1..1" IQuantityOrAmount1Choice : OriginalOrderedQuantity PartialFill1 *-- "1..1" IQuantityOrAmount1Choice : PreviouslyExecutedQuantity PartialFill1 *-- "1..1" IQuantityOrAmount1Choice : RemainingQuantity PartialFill1 *-- "0..1" IQuantityOrAmount1Choice : MatchIncrementQuantity %% IQuantity6Choice recursion level 1 with max 1 %% QuantityBreakdown11 recursion level 1 with max 1 QuantityBreakdown11 *-- "0..1" GenericIdentification37 : LotNumber QuantityBreakdown11 *-- "0..1" IFinancialInstrumentQuantity1Choice : LotQuantity QuantityBreakdown11 *-- "0..1" IDateAndDateTime1Choice : LotDateTime QuantityBreakdown11 *-- "0..1" Price4 : LotPrice %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% ITypeOfPrice10Choice recursion level 1 with max 1 %% Commission16 recursion level 1 with max 1 class Commission16{ CalculationDate IsoISODate TotalVATAmount IsoActiveCurrencyAndAmount VATRate IsoBaseOneRate } Commission16 *-- "1..1" ICommissionType2Choice : Type Commission16 *-- "1..1" IAmountOrRate2Choice : Commission Commission16 *-- "0..1" PartyIdentification54 : RecipientIdentification Commission16 *-- "0..1" AmountAndDirection29 : TotalCommission %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% ICurrencyToBuyOrSell1Choice recursion level 1 with max 1 %% IChargeTaxBasisType1Choice recursion level 1 with max 1 %% IEUCapitalGainType2Choice recursion level 1 with max 1 %% IMatchingStatus8Choice recursion level 1 with max 1 %% YieldCalculation2 recursion level 1 with max 1 class YieldCalculation2{ Value IsoPercentageRate CalculationType CalculationType1Code ValueDate IsoISODate CalculationDate IsoISODate } YieldCalculation2 *-- "0..1" Price4 : RedemptionPrice YieldCalculation2 *-- "0..1" IDateTimePeriodChoice : ValuePeriod %% IReporting5Choice 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
Order14 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
BusinessProcessType | Specifies the type of business process. | IBusinessProcessType1Choice - 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 |
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. | ITradeType3Choice - Optional 0..1 |
TradeTransactionCondition | Indicates the conditions under which the order/trade is to be/was executed. | ITradeTransactionCondition4Choice - 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. | MarketIdentification77 - 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. | ITradeDate4Choice - Required 1..1 |
ProcessingDate | Processing date of the trading session. | ITradeDate4Choice - Optional 0..1 |
SettlementDate | Date and time at which the securities are to be delivered or received. | ISettlementDate8Choice - 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. | PartialFill1 - 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. | QuantityBreakdown11 - 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. | Price4 - Required 1..1 |
TypeOfPrice | Specifies the type of transaction price. | ITypeOfPrice10Choice - 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. | Commission16 - 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 |
AccruedInterestAmount | Interest amount that has accrued in between two periods, for example, in between interest payment periods. | AmountAndDirection29 - 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. | IChargeTaxBasisType1Choice - Optional 0..1 |
CapitalGainType | Specifies the type of capital gain. | IEUCapitalGainType2Choice - Optional 0..1 |
MatchStatus | Provides the matching status of the trade confirmation. | IMatchingStatus8Choice - 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. | YieldCalculation2 - Optional 0..1 |
Reporting | Specifies that a trade is to be reported to a third party. | IReporting5Choice - 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 |
FinancialInstrumentIdentification building block
Unique and unambiguous identifier of a financial instrument, assigned under a formal or proprietary identification scheme. Identification of a security. For comparison, see the ISO20022 official specification
classDiagram direction tb %% SecurityIdentification14 recursion level 0 with max 1 class SecurityIdentification14{ ISIN IsoISINIdentifier Description IsoMax140Text } SecurityIdentification14 *-- "0..0" OtherIdentification1 : OtherIdentification %% OtherIdentification1 recursion level 1 with max 1 class OtherIdentification1{ Identification IsoMax35Text Suffix IsoMax16Text } OtherIdentification1 *-- "1..1" IIdentificationSource3Choice : Type
SecurityIdentification14 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
ISIN | International Securities Identification Number (ISIN). A numbering system designed by the United Nation’s International Organisation for Standardisation (ISO). The ISIN is composed of a 2-character prefix representing the country of issue, followed by the national security number (if one exists), and a check digit. Each country has a national numbering agency that assigns ISIN numbers for securities in that country. | IsoISINIdentifier - Optional 0..1 |
OtherIdentification | Identification of a security by proprietary or domestic identification scheme. | OtherIdentification1 - Unknown 0..0 |
Description | Textual description of a security instrument. | IsoMax140Text - Optional 0..1 |
FinancialInstrumentAttributes building block
Elements characterising a financial instrument. Elements characterising a financial instrument. For comparison, see the ISO20022 official specification
classDiagram direction tb %% FinancialInstrumentAttributes44 recursion level 0 with max 1 class FinancialInstrumentAttributes44{ CertificateNumber IsoMax35Text DenominationCurrency ActiveOrHistoricCurrencyCode CouponDate IsoISODate ExpiryDate IsoISODate FloatingRateFixingDate IsoISODate MaturityDate IsoISODate IssueDate IsoISODate NextCallableDate IsoISODate ConversionDate IsoISODate PutableDate IsoISODate DatedDate IsoISODate FirstPaymentDate IsoISODate NextFactorDate IsoISODate PreviousFactor IsoBaseOneRate CurrentFactor IsoBaseOneRate NextFactor IsoBaseOneRate EndFactor IsoBaseOneRate InterestRate IsoPercentageRate NextInterestRate IsoPercentageRate IndexRateBasis IsoPercentageRate PercentageOfDebtClaims IsoPercentageRate ConvertibleIndicator IsoYesNoIndicator VariableRateIndicator IsoYesNoIndicator CoveredIndicator IsoYesNoIndicator CallableIndicator IsoYesNoIndicator PutableIndicator IsoYesNoIndicator WarrantAttachedOnDelivery IsoYesNoIndicator OddCouponIndicator IsoYesNoIndicator RedemptionYieldImpact IsoYesNoIndicator YieldVariance IsoYesNoIndicator FaceAmount IsoImpliedCurrencyAndAmount FinancialInstrumentAttributeAdditionalDetails IsoMax350Text } FinancialInstrumentAttributes44 *-- "0..1" IMarketIdentification3Choice : PlaceOfListing FinancialInstrumentAttributes44 *-- "0..1" Rating1 : Rating FinancialInstrumentAttributes44 *-- "0..1" IInterestComputationMethodFormat3Choice : DayCountBasis FinancialInstrumentAttributes44 *-- "0..1" IFormOfSecurity4Choice : RegistrationForm FinancialInstrumentAttributes44 *-- "0..1" IFrequency7Choice : PaymentFrequency FinancialInstrumentAttributes44 *-- "0..1" IFrequency7Choice : VariableRateChangeFrequency FinancialInstrumentAttributes44 *-- "0..1" IClassificationType30Choice : ClassificationType FinancialInstrumentAttributes44 *-- "0..1" IOptionStyle6Choice : OptionStyle FinancialInstrumentAttributes44 *-- "0..1" IOptionType4Choice : OptionType FinancialInstrumentAttributes44 *-- "0..1" INumber1Choice : CouponAttachedNumber FinancialInstrumentAttributes44 *-- "0..1" GenericIdentification37 : PoolNumber FinancialInstrumentAttributes44 *-- "0..1" INumber1Choice : VersionNumber FinancialInstrumentAttributes44 *-- "0..1" Price4 : ExercisePrice FinancialInstrumentAttributes44 *-- "0..1" Price4 : SubscriptionPrice FinancialInstrumentAttributes44 *-- "0..1" Price4 : ConversionPrice FinancialInstrumentAttributes44 *-- "0..1" Price4 : TaxableIncomePerShare FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumNominalQuantity FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableQuantity FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableMultipleQuantity FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity18Choice : ContractSize %% IMarketIdentification3Choice recursion level 1 with max 1 %% Rating1 recursion level 1 with max 1 class Rating1{ RatingScheme IsoMax35Text ValueDate IsoISODateTime ValueIdentification IsoRatingValueIdentifier } %% IInterestComputationMethodFormat3Choice recursion level 1 with max 1 %% IFormOfSecurity4Choice recursion level 1 with max 1 %% IFrequency7Choice recursion level 1 with max 1 %% IFrequency7Choice recursion level 1 with max 1 %% IClassificationType30Choice recursion level 1 with max 1 %% IOptionStyle6Choice recursion level 1 with max 1 %% IOptionType4Choice recursion level 1 with max 1 %% INumber1Choice recursion level 1 with max 1 %% GenericIdentification37 recursion level 1 with max 1 class GenericIdentification37{ Identification IsoMax35Text Issuer IsoMax35Text } %% INumber1Choice recursion level 1 with max 1 %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1
FinancialInstrumentAttributes44 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
PlaceOfListing | Market(s) on which the security is listed. | IMarketIdentification3Choice - Optional 0..1 |
Rating | Assessment of securities credit and investment risk. | Rating1 - Optional 0..1 |
CertificateNumber | Unique and unambiguous identifier of a certificate assigned by the issuer. | IsoMax35Text - Optional 0..1 |
DayCountBasis | Specifies the computation method of (accrued) interest of the security. | IInterestComputationMethodFormat3Choice - Optional 0..1 |
RegistrationForm | Specifies the form, ie, ownership, of the security. | IFormOfSecurity4Choice - Optional 0..1 |
PaymentFrequency | Specifies the frequency of an interest payment. | IFrequency7Choice - Optional 0..1 |
VariableRateChangeFrequency | Specifies the frequency of change to the variable rate of an interest bearing instrument. | IFrequency7Choice - Optional 0..1 |
ClassificationType | Classification type of the financial instrument, as per the ISO Classification of Financial Instrument (CFI) codification, for example, common share with voting rights, fully paid, or registered. | IClassificationType30Choice - Optional 0..1 |
OptionStyle | Specifies how an option can be exercised (American, European, Bermudan). | IOptionStyle6Choice - Optional 0..1 |
OptionType | Specifies whether it is a Call option (right to purchase a specific underlying asset) or a Put option (right to sell a specific underlying asset). | IOptionType4Choice - Optional 0..1 |
DenominationCurrency | Currency in which a security is issued or redenominated. | ActiveOrHistoricCurrencyCode - Optional 0..1 |
CouponDate | Next payment date of an interest bearing financial instrument. | IsoISODate - Optional 0..1 |
ExpiryDate | Date on which a privilege expires. | IsoISODate - Optional 0..1 |
FloatingRateFixingDate | Date at which the interest rate of an interest bearing security will be calculated and reset, according to the terms of the issue. | IsoISODate - Optional 0..1 |
MaturityDate | Planned final repayment date at the time of issuance. | IsoISODate - Optional 0..1 |
IssueDate | Date at which the security was made available. | IsoISODate - Optional 0..1 |
NextCallableDate | Next date at which the issuer has the right to pay the security prior to maturity. | IsoISODate - Optional 0..1 |
ConversionDate | Deadline by which a convertible security must be converted according to the terms of the issue. | IsoISODate - Optional 0..1 |
PutableDate | Date at which the holder has the right to ask for redemption of the security prior to final maturity. | IsoISODate - Optional 0..1 |
DatedDate | First date at which a security begins to accrue interest. | IsoISODate - Optional 0..1 |
FirstPaymentDate | Date at which the first interest payment is due to holders of the security. | IsoISODate - Optional 0..1 |
NextFactorDate | Date on which the current factor will be changed to the next factor. | IsoISODate - Optional 0..1 |
PreviousFactor | Rate expressed as a decimal between 0 and 1 that was applicable before the current factor and defines the outstanding principal of the financial instrument (for factored securities). | IsoBaseOneRate - Optional 0..1 |
CurrentFactor | Rate expressed as a decimal between 0 and 1 defining the outstanding principal of the financial instrument (for factored securities). | IsoBaseOneRate - Optional 0..1 |
NextFactor | Rate expressed as a decimal between 0 and 1 that will be applicable as of the next factor date and defines the outstanding principal of the financial instrument (for factored securities). | IsoBaseOneRate - Optional 0..1 |
EndFactor | End ratio of principal outstanding to the original balance. | IsoBaseOneRate - Optional 0..1 |
InterestRate | Per annum ratio of interest paid to the principal amount of the financial instrument for a specific period of time. | IsoPercentageRate - Optional 0..1 |
NextInterestRate | Interest rate applicable to the next interest payment period in relation to variable rate instruments. | IsoPercentageRate - Optional 0..1 |
IndexRateBasis | Specifies the reference rate for fixed income instruments where the | price of the instrument is indexed to the price of an underlying benchmark. |
PercentageOfDebtClaims | Percentage of the underlying assets of a fund that represents a debt, for example, in the context of the EU Savings directive. | IsoPercentageRate - Optional 0..1 |
CouponAttachedNumber | Number of the coupon attached to the physical security. | INumber1Choice - Optional 0..1 |
PoolNumber | Number identifying a group of underlying assets assigned by the issuer of a factored security. | GenericIdentification37 - Optional 0..1 |
VersionNumber | Number allocated by options exchanges to record that an option has undergone a change in its contract specifications (particularly adjustment of the strike price). | INumber1Choice - Optional 0..1 |
ConvertibleIndicator | Indicates whether the interest bearing security is convertible into another type of security. | IsoYesNoIndicator - Optional 0..1 |
VariableRateIndicator | Indicates whether the interest rate of an interest bearing instrument is reset periodically. | IsoYesNoIndicator - Optional 0..1 |
CoveredIndicator | Indicates whether the underlying security is owned by the writer of the entitlement. | IsoYesNoIndicator - Optional 0..1 |
CallableIndicator | Indicates whether the issuer has the right to pay the security prior to maturity. Also called RetractableIndicator. | IsoYesNoIndicator - Optional 0..1 |
PutableIndicator | Indicates whether the holder has the right to ask for redemption of the security prior to final maturity. Also called RedeemableIndicator. | IsoYesNoIndicator - Optional 0..1 |
WarrantAttachedOnDelivery | Indicates whether the warrants on a financial instrument (which has been traded cum warrants) will be attached on delivery. | IsoYesNoIndicator - Optional 0..1 |
OddCouponIndicator | Indicates whether the payment of the coupon (interest) on an interest bearing instrument is off the normal schedule. | IsoYesNoIndicator - Optional 0..1 |
RedemptionYieldImpact | Indicates whether, in the case of a debt security subject to redemption before maturity, such redemption could have an impact on the yield. | IsoYesNoIndicator - Optional 0..1 |
YieldVariance | Indicates whether the actual yield of an asset-backed security may vary according to the rate at which the underlying receivables or other financial assets are prepaid. | IsoYesNoIndicator - Optional 0..1 |
ExercisePrice | Predetermined price at which the holder of a derivative will buy or sell the underlying instrument. | Price4 - Optional 0..1 |
SubscriptionPrice | Fixed price at which a new securities issue is being offered to the public. | Price4 - Optional 0..1 |
ConversionPrice | Price at which a given convertible security can be converted to common stock. | Price4 - Optional 0..1 |
TaxableIncomePerShare | Amount included in the Net Asset Value(NAV) that corresponds to gains directly or indirectly derived from interest payment, for example in the scope of the European Directive on taxation of savings income in the form of interest payments. | Price4 - Optional 0..1 |
MinimumNominalQuantity | Indicates the minimum tradable quantity of a security. | IFinancialInstrumentQuantity1Choice - Optional 0..1 |
MinimumExercisableQuantity | Minimum quantity of financial instrument or lot of rights/warrants that must be exercised. | IFinancialInstrumentQuantity1Choice - Optional 0..1 |
MinimumExercisableMultipleQuantity | Minimum multiple quantity of financial instrument or lot of rights/warrants that must be exercised. | IFinancialInstrumentQuantity1Choice - Optional 0..1 |
FaceAmount | Signed face amount and amortised value of security. | IsoImpliedCurrencyAndAmount - Optional 0..1 |
ContractSize | Ratio or multiplying factor used to convert one contract into a quantity. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
FinancialInstrumentAttributeAdditionalDetails | Provides additional information about the financial instrument in narrative form. | IsoMax350Text - Optional 0..1 |
UnderlyingFinancialInstrument building block
Underlying financial instrument to which an trade confirmation is related. Underlying financial instrument to which an trade confirmation is related. For comparison, see the ISO20022 official specification
classDiagram direction tb %% UnderlyingFinancialInstrument2 recursion level 0 with max 1 UnderlyingFinancialInstrument2 *-- "1..1" SecurityIdentification14 : Identification UnderlyingFinancialInstrument2 *-- "0..1" FinancialInstrumentAttributes44 : Attributes %% SecurityIdentification14 recursion level 1 with max 1 class SecurityIdentification14{ ISIN IsoISINIdentifier Description IsoMax140Text } SecurityIdentification14 *-- "0..0" OtherIdentification1 : OtherIdentification %% FinancialInstrumentAttributes44 recursion level 1 with max 1 class FinancialInstrumentAttributes44{ CertificateNumber IsoMax35Text DenominationCurrency ActiveOrHistoricCurrencyCode CouponDate IsoISODate ExpiryDate IsoISODate FloatingRateFixingDate IsoISODate MaturityDate IsoISODate IssueDate IsoISODate NextCallableDate IsoISODate ConversionDate IsoISODate PutableDate IsoISODate DatedDate IsoISODate FirstPaymentDate IsoISODate NextFactorDate IsoISODate PreviousFactor IsoBaseOneRate CurrentFactor IsoBaseOneRate NextFactor IsoBaseOneRate EndFactor IsoBaseOneRate InterestRate IsoPercentageRate NextInterestRate IsoPercentageRate IndexRateBasis IsoPercentageRate PercentageOfDebtClaims IsoPercentageRate ConvertibleIndicator IsoYesNoIndicator VariableRateIndicator IsoYesNoIndicator CoveredIndicator IsoYesNoIndicator CallableIndicator IsoYesNoIndicator PutableIndicator IsoYesNoIndicator WarrantAttachedOnDelivery IsoYesNoIndicator OddCouponIndicator IsoYesNoIndicator RedemptionYieldImpact IsoYesNoIndicator YieldVariance IsoYesNoIndicator FaceAmount IsoImpliedCurrencyAndAmount FinancialInstrumentAttributeAdditionalDetails IsoMax350Text } FinancialInstrumentAttributes44 *-- "0..1" IMarketIdentification3Choice : PlaceOfListing FinancialInstrumentAttributes44 *-- "0..1" Rating1 : Rating FinancialInstrumentAttributes44 *-- "0..1" IInterestComputationMethodFormat3Choice : DayCountBasis FinancialInstrumentAttributes44 *-- "0..1" IFormOfSecurity4Choice : RegistrationForm FinancialInstrumentAttributes44 *-- "0..1" IFrequency7Choice : PaymentFrequency FinancialInstrumentAttributes44 *-- "0..1" IFrequency7Choice : VariableRateChangeFrequency FinancialInstrumentAttributes44 *-- "0..1" IClassificationType30Choice : ClassificationType FinancialInstrumentAttributes44 *-- "0..1" IOptionStyle6Choice : OptionStyle FinancialInstrumentAttributes44 *-- "0..1" IOptionType4Choice : OptionType FinancialInstrumentAttributes44 *-- "0..1" INumber1Choice : CouponAttachedNumber FinancialInstrumentAttributes44 *-- "0..1" GenericIdentification37 : PoolNumber FinancialInstrumentAttributes44 *-- "0..1" INumber1Choice : VersionNumber FinancialInstrumentAttributes44 *-- "0..1" Price4 : ExercisePrice FinancialInstrumentAttributes44 *-- "0..1" Price4 : SubscriptionPrice FinancialInstrumentAttributes44 *-- "0..1" Price4 : ConversionPrice FinancialInstrumentAttributes44 *-- "0..1" Price4 : TaxableIncomePerShare FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumNominalQuantity FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableQuantity FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableMultipleQuantity FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity18Choice : ContractSize
UnderlyingFinancialInstrument2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Identification of the underlying security by an ISIN. | SecurityIdentification14 - Required 1..1 |
Attributes | Underlying financial instrument attributes to which an trade confirmation is related. | FinancialInstrumentAttributes44 - Optional 0..1 |
Stipulations building block
Additional restrictions on the financial instrument, related to the stipulation. Additional restrictions on the financial instrument, related to the stipulation. For comparison, see the ISO20022 official specification
classDiagram direction tb %% FinancialInstrumentStipulations2 recursion level 0 with max 1 class FinancialInstrumentStipulations2{ Geographics IsoMax35Text AmortisableIndicator IsoYesNoIndicator Purpose IsoMax256Text AlternativeMinimumTaxIndicator IsoYesNoIndicator AutoReinvestment IsoPercentageRate TransactionConditions TradeTransactionCondition2Code Currency CurrencyCode Haircut IsoPercentageRate InsuredIndicator IsoYesNoIndicator LookBack IsoNumber MaturityDate IsoISOYearMonth IssueDate IsoISOYearMonth IssuerIdentification IsoBICNonFIIdentifier IssueSize IsoNumber MaximumSubstitution IsoNumber PaymentFrequency Frequency1Code Production IsoMax35Text RestrictedIndicator IsoYesNoIndicator PriceFrequency Frequency1Code Sector IsoMax35Text SubstitutionFrequency Frequency1Code SubstitutionLeft IsoNumber WholePoolIndicator IsoYesNoIndicator PriceSource IsoMax35Text ExpirationDate IsoISODateTime OverAllotmentAmount IsoActiveCurrencyAndAmount OverAllotmentRate IsoPercentageRate CallableIndicator IsoYesNoIndicator ConvertibleIndicator IsoYesNoIndicator PutableIndicator IsoYesNoIndicator PreFundedIndicator IsoYesNoIndicator EscrowedIndicator IsoYesNoIndicator PerpetualIndicator IsoYesNoIndicator } FinancialInstrumentStipulations2 *-- "0..1" AmountOrPercentageRange : YieldRange FinancialInstrumentStipulations2 *-- "0..1" Rating1 : Rating FinancialInstrumentStipulations2 *-- "0..1" AmountOrPercentageRange : CouponRange FinancialInstrumentStipulations2 *-- "0..1" DateTimePeriodDetails1 : CustomDate FinancialInstrumentStipulations2 *-- "0..1" IFinancialInstrumentQuantityChoice : MinimumDenomination FinancialInstrumentStipulations2 *-- "0..1" IFinancialInstrumentQuantityChoice : MinimumIncrement FinancialInstrumentStipulations2 *-- "0..1" IFinancialInstrumentQuantityChoice : MinimumQuantity FinancialInstrumentStipulations2 *-- "0..1" AmountOrPercentageRange : PriceRange %% AmountOrPercentageRange recursion level 1 with max 1 class AmountOrPercentageRange{ Operation Operation1Code } AmountOrPercentageRange *-- "0..10" Term1 : Term %% Rating1 recursion level 1 with max 1 class Rating1{ RatingScheme IsoMax35Text ValueDate IsoISODateTime ValueIdentification IsoRatingValueIdentifier } %% AmountOrPercentageRange recursion level 1 with max 1 class AmountOrPercentageRange{ Operation Operation1Code } AmountOrPercentageRange *-- "0..10" Term1 : Term %% DateTimePeriodDetails1 recursion level 1 with max 1 class DateTimePeriodDetails1{ FromDateTime IsoISODateTime ToDateTime IsoISODateTime } %% IFinancialInstrumentQuantityChoice recursion level 1 with max 1 %% IFinancialInstrumentQuantityChoice recursion level 1 with max 1 %% IFinancialInstrumentQuantityChoice recursion level 1 with max 1 %% AmountOrPercentageRange recursion level 1 with max 1 class AmountOrPercentageRange{ Operation Operation1Code } AmountOrPercentageRange *-- "0..10" Term1 : Term
FinancialInstrumentStipulations2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Geographics | Type of stipulation expressing geographical constraints on a fixed income instrument. It is expressed with a state or country abbreviation and a minimum or maximum percentage. Example: CA 0-80 (minimum of 80 percent in Californian assests). | IsoMax35Text - Optional 0..1 |
YieldRange | Range of allowed yield. | AmountOrPercentageRange - Optional 0..1 |
Rating | Range of assessment of securities credit and investment risk. | Rating1 - Optional 0..1 |
CouponRange | Identification of a range of coupon numbers attached to its related financial instrument. | AmountOrPercentageRange - Optional 0..1 |
AmortisableIndicator | Indicates whether the financial instrument repays the principal amount in parts during the life cycle of the security. | IsoYesNoIndicator - Optional 0..1 |
Purpose | Reason for which money is raised through the issuance of a security. | IsoMax256Text - Optional 0..1 |
AlternativeMinimumTaxIndicator | Identifies whether the issue is subject to alternative minimum taxation (used for municipal bonds). | IsoYesNoIndicator - Optional 0..1 |
AutoReinvestment | Indicates an instruction to reinvest dividends in the underlying security (or proceeds at maturity in a similar instrument) if the current rate is or better. | IsoPercentageRate - Optional 0..1 |
TransactionConditions | Indicates the conditions under which the order/trade is to be/was executed. | TradeTransactionCondition2Code - Optional 0..1 |
Currency | Currency in which a security is issued or redenominated. | CurrencyCode - Optional 0..1 |
CustomDate | Indicates an instruction to override an investment’s default start and/or end date with a custom date. | DateTimePeriodDetails1 - Optional 0..1 |
Haircut | Haircut or valuation factor on the security expressed as a percentage. | IsoPercentageRate - Optional 0..1 |
InsuredIndicator | Identifies whether the lender is assured partial or full payment by a third party if the borrower defaults. | IsoYesNoIndicator - Optional 0..1 |
LookBack | Indicates an instruction or attribute giving the number of days to be included in the look-back period for the investment. E.g. some options allow exercise based on the underlying asset’s optimal value over the look-back period. | IsoNumber - Optional 0..1 |
MaturityDate | Indicates the maturity date. | IsoISOYearMonth - Optional 0..1 |
IssueDate | Indicates the issue date. | IsoISOYearMonth - Optional 0..1 |
IssuerIdentification | Identification of the issuer. | IsoBICNonFIIdentifier - Optional 0..1 |
IssueSize | Identifies the issue size range. | IsoNumber - Optional 0..1 |
MinimumDenomination | Indicates the minimum denomination of a security. | IFinancialInstrumentQuantityChoice - Optional 0..1 |
MaximumSubstitution | Maximum number of time the collateral can be substitute. | IsoNumber - Optional 0..1 |
MinimumIncrement | Indicates the minimum tradable increments of a security. | IFinancialInstrumentQuantityChoice - Optional 0..1 |
PaymentFrequency | Indicates the periodic or regular cycle of interest payments. | Frequency1Code - Optional 0..1 |
MinimumQuantity | Indicates the minimum tradable quantity of a security. | IFinancialInstrumentQuantityChoice - Optional 0..1 |
Production | Indicates a search criterion used when looking to buy a bond, particularly an MBS, issued in a particular year. | IsoMax35Text - Optional 0..1 |
RestrictedIndicator | Identifies if the securities is restricted or not (as per Rule 144). | IsoYesNoIndicator - Optional 0..1 |
PriceFrequency | Indicates the frequency at which the bond is re-rated and therefore re-priced (bond attribute, particularly of floating rate and index linked instruments). | Frequency1Code - Optional 0..1 |
Sector | Indicates the market sector the security is classified as. E.g. pharmacuticals, automobile, housing, etc. | IsoMax35Text - Optional 0..1 |
SubstitutionFrequency | Indicates the maximum number of times collateral can be substituted. | Frequency1Code - Optional 0..1 |
SubstitutionLeft | Number of remaining times the collateral can be substitute. | IsoNumber - Optional 0..1 |
WholePoolIndicator | Indicates a search criterion when looking to buy an MBS that either is [yes] or is not [no] an entire pool. | IsoYesNoIndicator - Optional 0..1 |
PriceSource | Identifies the Benchmark source price (eg. BB Generic, BB Fairvalue, Brokertec.). | IsoMax35Text - Optional 0..1 |
ExpirationDate | Date/time at which an interest bearing security becomes due and assets are to be repaid. | IsoISODateTime - Optional 0..1 |
OverAllotmentAmount | Amount for which a security can be overalloted (as in greenshoe option). | IsoActiveCurrencyAndAmount - Optional 0..1 |
OverAllotmentRate | Percentage for which a security can be overalloted (as in greenshoe option). | IsoPercentageRate - Optional 0..1 |
PriceRange | Indicates a search criterion used when looking to buy a bond within a particular price range. | AmountOrPercentageRange - Optional 0..1 |
CallableIndicator | Indicates whether the issuer has the right to pay the security prior to maturity. Also called RetractableIndicator. | IsoYesNoIndicator - Optional 0..1 |
ConvertibleIndicator | Indicates whether the interest bearing security is convertible into another type of security. | IsoYesNoIndicator - Optional 0..1 |
PutableIndicator | Indicates whether the holder has the right to ask for redemption of the security prior to final maturity. Also called RedeemableIndicator. | IsoYesNoIndicator - Optional 0..1 |
PreFundedIndicator | Indicates whether an interest bearing instrument is deposited in a fund that will be used to pay debt service on refunded securities. | IsoYesNoIndicator - Optional 0..1 |
EscrowedIndicator | Indicates whether an interest bearing instrument is being escrowed or collateralized either by direct obligations guaranteed by the US government, or by other types of securities. The maturity schedules of the securities in the escrow fund are determined in such a way to pay the maturity value, coupon, and premium payments (if any) of the refunded bonds. | IsoYesNoIndicator - Optional 0..1 |
PerpetualIndicator | Indicates whether the security has no maturity date. | IsoYesNoIndicator - Optional 0..1 |
ConfirmationParties building block
Parties involved in the confirmation of the details of a trade. 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 %% ConfirmationParties2 recursion level 0 with max 1 ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails2 : Buyer ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails2 : Borrower ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails2 : Seller ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails2 : Lender ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : BrokerOfCredit ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : IntroducingFirm ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : StepInFirm ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : StepOutFirm ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails5 : ClearingFirm ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails5 : ExecutingBroker ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : CMUParty ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : CMUCounterparty ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : AffirmingParty ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails3 : TradeBeneficiaryParty %% ConfirmationPartyDetails2 recursion level 1 with max 1 class ConfirmationPartyDetails2{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails2 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails2 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails2 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails2 *-- "0..1" IInvestorCapacity3Choice : InvestorCapacity ConfirmationPartyDetails2 *-- "0..1" ITradingPartyCapacity1Choice : TradingPartyCapacity %% ConfirmationPartyDetails2 recursion level 1 with max 1 class ConfirmationPartyDetails2{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails2 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails2 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails2 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails2 *-- "0..1" IInvestorCapacity3Choice : InvestorCapacity ConfirmationPartyDetails2 *-- "0..1" ITradingPartyCapacity1Choice : TradingPartyCapacity %% ConfirmationPartyDetails2 recursion level 1 with max 1 class ConfirmationPartyDetails2{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails2 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails2 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails2 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails2 *-- "0..1" IInvestorCapacity3Choice : InvestorCapacity ConfirmationPartyDetails2 *-- "0..1" ITradingPartyCapacity1Choice : TradingPartyCapacity %% ConfirmationPartyDetails2 recursion level 1 with max 1 class ConfirmationPartyDetails2{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails2 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails2 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails2 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails2 *-- "0..1" IInvestorCapacity3Choice : InvestorCapacity ConfirmationPartyDetails2 *-- "0..1" ITradingPartyCapacity1Choice : TradingPartyCapacity %% ConfirmationPartyDetails1 recursion level 1 with max 1 class ConfirmationPartyDetails1{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails1 recursion level 1 with max 1 class ConfirmationPartyDetails1{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails1 recursion level 1 with max 1 class ConfirmationPartyDetails1{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails1 recursion level 1 with max 1 class ConfirmationPartyDetails1{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails5 recursion level 1 with max 1 class ConfirmationPartyDetails5{ ProcessingIdentification IsoMax35Text InvestorProtectionAssociationMembership IsoYesNoIndicator } ConfirmationPartyDetails5 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails5 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails5 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails5 recursion level 1 with max 1 class ConfirmationPartyDetails5{ ProcessingIdentification IsoMax35Text InvestorProtectionAssociationMembership IsoYesNoIndicator } ConfirmationPartyDetails5 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails5 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails5 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails1 recursion level 1 with max 1 class ConfirmationPartyDetails1{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails1 recursion level 1 with max 1 class ConfirmationPartyDetails1{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails1 recursion level 1 with max 1 class ConfirmationPartyDetails1{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation %% ConfirmationPartyDetails3 recursion level 1 with max 1 class ConfirmationPartyDetails3{ ProcessingIdentification IsoMax35Text } ConfirmationPartyDetails3 *-- "1..1" IPartyIdentification32Choice : Identification ConfirmationPartyDetails3 *-- "0..1" SecuritiesAccount3 : SafekeepingAccount ConfirmationPartyDetails3 *-- "0..1" IAccountIdentification3Choice : CashDetails ConfirmationPartyDetails3 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification ConfirmationPartyDetails3 *-- "0..1" PartyTextInformation5 : AdditionalInformation ConfirmationPartyDetails3 *-- "0..1" ITradingPartyCapacity2Choice : PartyCapacity
ConfirmationParties2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Buyer | Party that buys goods or services, or a financial instrument. | ConfirmationPartyDetails2 - 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. | ConfirmationPartyDetails2 - Optional 0..1 |
Seller | Party that sells goods or services, or a financial instrument. | ConfirmationPartyDetails2 - Optional 0..1 |
Lender | A private, public or institutional entity which makes funds available to others to borrow. | ConfirmationPartyDetails2 - Optional 0..1 |
BrokerOfCredit | Brokerage firm which is the commissioned broker in a multi-broker trade. | ConfirmationPartyDetails1 - Optional 0..1 |
IntroducingFirm | Broker or other intermediary with the closest association with the investor. | ConfirmationPartyDetails1 - Optional 0..1 |
StepInFirm | Brokerage firm assigned to take credit on the trade from the step-out brokerage firm. | ConfirmationPartyDetails1 - Optional 0..1 |
StepOutFirm | Brokerage firm that executes an order, but gives other firms credit and some of the commission for the trade. | ConfirmationPartyDetails1 - Optional 0..1 |
ClearingFirm | Party, also know as take up broker, that settles security transactions from another broker for a fee. | ConfirmationPartyDetails5 - 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. | ConfirmationPartyDetails5 - Optional 0..1 |
CMUParty | Party sending the message to the CMU (Central Matching Utility) to identify the actual business unit as known to the CMU (Central Matching Utility). | ConfirmationPartyDetails1 - Optional 0..1 |
CMUCounterparty | Actual business unit of the counterparty to the sender of the message to the CMU (Central Matching Utility) as known to the CMU (Central Matching Utility). | ConfirmationPartyDetails1 - Optional 0..1 |
AffirmingParty | Party (buyer or seller) that positively affirms the details of a previously agreed security trade confirmation. | ConfirmationPartyDetails1 - Optional 0..1 |
TradeBeneficiaryParty | Party involved in a legal proceeding, agreement or other transaction. | ConfirmationPartyDetails3 - Optional 0..1 |
SettlementParameters building block
Parameters which explicitly state the conditions that must be fulfilled before a particular transaction of a financial instrument can be settled. These parameters are defined by the instructing party in compliance with settlement rules in the market the transaction will settle in. Parameters which explicitly state the conditions that must be fulfilled before a particular transaction of a financial instrument can be settled. These parameters are defined by the instructing party in compliance with settlement rules in the market the transaction will settle in. For comparison, see the ISO20022 official specification
classDiagram direction tb %% SettlementDetails43 recursion level 0 with max 1 class SettlementDetails43{ HoldIndicator IsoYesNoIndicator PartialSettlementIndicator IsoYesNoIndicator StampDutyIndicator IsoYesNoIndicator ReturnLeg IsoYesNoIndicator EligibleForCollateral IsoYesNoIndicator } SettlementDetails43 *-- "1..1" ISettlementTransactionType1Choice : SettlementTransactionType SettlementDetails43 *-- "0..1" IPriorityNumeric3Choice : Priority SettlementDetails43 *-- "0..1" ISettlementInstructionGeneration1Choice : SettlementInstructionGeneration SettlementDetails43 *-- "0..0" ISettlementTransactionCondition11Choice : SettlementTransactionCondition SettlementDetails43 *-- "0..1" IBeneficialOwnership3Choice : BeneficialOwnership SettlementDetails43 *-- "0..1" IBlockTrade3Choice : BlockTrade SettlementDetails43 *-- "0..1" ICentralCounterPartyEligibility3Choice : CCPEligibility SettlementDetails43 *-- "0..1" ICashSettlementSystem3Choice : CashClearingSystem SettlementDetails43 *-- "0..1" IExposureType9Choice : ExposureType SettlementDetails43 *-- "0..1" IFXStandingInstruction3Choice : FXStandingInstruction SettlementDetails43 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell SettlementDetails43 *-- "0..1" IMarketClientSide3Choice : MarketClientSide SettlementDetails43 *-- "0..1" INettingEligibility3Choice : NettingEligibility SettlementDetails43 *-- "0..1" IRegistration6Choice : Registration SettlementDetails43 *-- "0..1" IRepurchaseType11Choice : RepurchaseType SettlementDetails43 *-- "0..1" IRestriction3Choice : LegalRestrictions SettlementDetails43 *-- "0..1" ISecuritiesRTGS3Choice : SecuritiesRTGS SettlementDetails43 *-- "0..1" ISettlingCapacity3Choice : SettlingCapacity SettlementDetails43 *-- "0..1" ISettlementSystemMethod3Choice : SettlementSystemMethod SettlementDetails43 *-- "0..1" ITaxCapacityParty3Choice : TaxCapacity SettlementDetails43 *-- "0..1" GenericIdentification38 : StampDutyTaxBasis SettlementDetails43 *-- "0..1" ITracking3Choice : Tracking SettlementDetails43 *-- "0..1" IAutomaticBorrowing5Choice : AutomaticBorrowing SettlementDetails43 *-- "0..1" ILetterOfGuarantee3Choice : LetterOfGuarantee SettlementDetails43 *-- "0..1" IModificationCancellationAllowed3Choice : ModificationCancellationAllowed %% ISettlementTransactionType1Choice recursion level 1 with max 1 %% IPriorityNumeric3Choice recursion level 1 with max 1 %% ISettlementInstructionGeneration1Choice recursion level 1 with max 1 %% ISettlementTransactionCondition11Choice recursion level 1 with max 1 %% IBeneficialOwnership3Choice recursion level 1 with max 1 %% IBlockTrade3Choice recursion level 1 with max 1 %% ICentralCounterPartyEligibility3Choice recursion level 1 with max 1 %% ICashSettlementSystem3Choice recursion level 1 with max 1 %% IExposureType9Choice recursion level 1 with max 1 %% IFXStandingInstruction3Choice recursion level 1 with max 1 %% ICurrencyToBuyOrSell1Choice recursion level 1 with max 1 %% IMarketClientSide3Choice recursion level 1 with max 1 %% INettingEligibility3Choice recursion level 1 with max 1 %% IRegistration6Choice recursion level 1 with max 1 %% IRepurchaseType11Choice recursion level 1 with max 1 %% IRestriction3Choice recursion level 1 with max 1 %% ISecuritiesRTGS3Choice recursion level 1 with max 1 %% ISettlingCapacity3Choice recursion level 1 with max 1 %% ISettlementSystemMethod3Choice recursion level 1 with max 1 %% ITaxCapacityParty3Choice recursion level 1 with max 1 %% GenericIdentification38 recursion level 1 with max 1 class GenericIdentification38{ Identification IsoExact4AlphaNumericText Issuer IsoMax35Text SchemeName IsoMax35Text } %% ITracking3Choice recursion level 1 with max 1 %% IAutomaticBorrowing5Choice recursion level 1 with max 1 %% ILetterOfGuarantee3Choice recursion level 1 with max 1 %% IModificationCancellationAllowed3Choice recursion level 1 with max 1
SettlementDetails43 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
SettlementTransactionType | Indicates whether the trade is to be settled as principal or netted off against another trade. | ISettlementTransactionType1Choice - Required 1..1 |
HoldIndicator | Specifies whether the transaction is on hold/blocked/frozen. | IsoYesNoIndicator - Optional 0..1 |
Priority | Specifies whether the transaction is to be executed with a high priority. | IPriorityNumeric3Choice - Optional 0..1 |
SettlementInstructionGeneration | Specifies if the Electronic Trade Confirmation (ETC) service provider is to generate or not a settlement instruction. | ISettlementInstructionGeneration1Choice - Optional 0..1 |
SettlementTransactionCondition | Conditions under which the order/trade is to be settled. | ISettlementTransactionCondition11Choice - Unknown 0..0 |
PartialSettlementIndicator | Specifies whether partial settlement is allowed. | IsoYesNoIndicator - Optional 0..1 |
BeneficialOwnership | Specifies whether there is change of beneficial ownership. | IBeneficialOwnership3Choice - Optional 0..1 |
BlockTrade | Specifies whether the settlement instruction is a block parent or child. | IBlockTrade3Choice - Optional 0..1 |
CCPEligibility | Specifies whether the settlement transaction is CCP (Central Counterparty) eligible. | ICentralCounterPartyEligibility3Choice - Optional 0..1 |
CashClearingSystem | Specifies the category of cash clearing system, eg, cheque clearing. | ICashSettlementSystem3Choice - Optional 0..1 |
ExposureType | Specifies the underlying business area/type of trade causing the collateral movement. | IExposureType9Choice - Optional 0..1 |
FXStandingInstruction | Specifies whether the forex standing instruction in place should apply. | IFXStandingInstruction3Choice - 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 |
MarketClientSide | Specifies if an instruction is for a market side or a client side transaction. | IMarketClientSide3Choice - Optional 0..1 |
NettingEligibility | Specifies whether the settlement transaction is eligible for netting. | INettingEligibility3Choice - Optional 0..1 |
Registration | Specifies whether registration should occur upon receipt. | IRegistration6Choice - Optional 0..1 |
RepurchaseType | Specifies whether the rate is fixed, variable or a forfeit. | IRepurchaseType11Choice - Optional 0..1 |
LegalRestrictions | Regulatory restrictions applicable to a security. | IRestriction3Choice - Optional 0..1 |
SecuritiesRTGS | Specifies whether the settlement transaction is to be settled through an RTGS or a non RTGS system. | ISecuritiesRTGS3Choice - Optional 0..1 |
SettlingCapacity | Role of a party in the settlement of the transaction. | ISettlingCapacity3Choice - Optional 0..1 |
SettlementSystemMethod | Specifies whether the settlement instruction is to be settled through the default or the alternate settlement system. | ISettlementSystemMethod3Choice - Optional 0..1 |
TaxCapacity | Tax role capacity of the instructing party. | ITaxCapacityParty3Choice - Optional 0..1 |
StampDutyIndicator | Indicates whether the settlement amount includes the stamp duty amount. | IsoYesNoIndicator - Optional 0..1 |
StampDutyTaxBasis | Specifies the stamp duty type or exemption reason applicable to the settlement transaction. | GenericIdentification38 - Optional 0..1 |
Tracking | Specifies whether the loan and/or collateral is tracked. | ITracking3Choice - Optional 0..1 |
AutomaticBorrowing | Condition for automatic borrowing. | IAutomaticBorrowing5Choice - Optional 0..1 |
LetterOfGuarantee | Specifies whether physical settlement may be executed using a letter of guarantee or if the physical certificates should be used. | ILetterOfGuarantee3Choice - Optional 0..1 |
ReturnLeg | Specifies whether, for a securities lending/borrowing settlement transaction, the lender will instruct the return leg as agreed with the borrower. | IsoYesNoIndicator - Optional 0..1 |
ModificationCancellationAllowed | Specifies whether a third party is allowed to modify or cancel the transaction. | IModificationCancellationAllowed3Choice - Optional 0..1 |
EligibleForCollateral | Specifies whether securities should be included in the pool of securities eligible for collateral purposes. | IsoYesNoIndicator - Optional 0..1 |
StandingSettlementInstruction building block
Specifies what settlement standing instruction database is to be used to derive the settlement parties involved in the transaction. Details of the standing settlement instruction to be applied. For comparison, see the ISO20022 official specification
classDiagram direction tb %% StandingSettlementInstruction9 recursion level 0 with max 1 StandingSettlementInstruction9 *-- "1..1" ISettlementStandingInstructionDatabase3Choice : SettlementStandingInstructionDatabase StandingSettlementInstruction9 *-- "0..1" IPartyIdentification32Choice : Vendor StandingSettlementInstruction9 *-- "0..1" SettlementParties23 : OtherDeliveringSettlementParties StandingSettlementInstruction9 *-- "0..1" SettlementParties23 : OtherReceivingSettlementParties %% ISettlementStandingInstructionDatabase3Choice recursion level 1 with max 1 %% IPartyIdentification32Choice recursion level 1 with max 1 %% SettlementParties23 recursion level 1 with max 1 SettlementParties23 *-- "0..1" PartyIdentification55 : Depository SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party1 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party2 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party3 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party4 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party5 %% SettlementParties23 recursion level 1 with max 1 SettlementParties23 *-- "0..1" PartyIdentification55 : Depository SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party1 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party2 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party3 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party4 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party5
StandingSettlementInstruction9 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
SettlementStandingInstructionDatabase | Specifies what settlement standing instruction database is to be used to derive the settlement parties involved in the transaction. | ISettlementStandingInstructionDatabase3Choice - Required 1..1 |
Vendor | Vendor of the Settlement Standing Instruction database requested to be consulted. | IPartyIdentification32Choice - Optional 0..1 |
OtherDeliveringSettlementParties | Delivering parties, other than the seller, needed for deriving the standing settlement instruction (for example, depository) or provided for information purposes (for example, instructing party settlement chain). | SettlementParties23 - Optional 0..1 |
OtherReceivingSettlementParties | Receiving parties, other than the buyer, needed for deriving the standing settlement instruction (for example, depository) or provided for information purposes (for example, instructing party settlement chain). | SettlementParties23 - 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 %% SettlementParties23 recursion level 0 with max 1 SettlementParties23 *-- "0..1" PartyIdentification55 : Depository SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party1 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party2 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party3 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party4 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party5 %% PartyIdentification55 recursion level 1 with max 1 PartyIdentification55 *-- "1..1" IPartyIdentification68Choice : Identification PartyIdentification55 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification PartyIdentification55 *-- "0..1" PartyTextInformation1 : AdditionalInformation %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
SettlementParties23 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. | PartyIdentification55 - Optional 0..1 |
Party1 | Party that, in a settlement chain interacts with the depository. | PartyIdentificationAndAccount34 - Optional 0..1 |
Party2 | Party that, in a settlement chain interacts with the party 1. | PartyIdentificationAndAccount34 - Optional 0..1 |
Party3 | Party that, in a settlement chain interacts with the party 2. | PartyIdentificationAndAccount34 - Optional 0..1 |
Party4 | Party that, in a settlement chain interacts with the party 3. | PartyIdentificationAndAccount34 - Optional 0..1 |
Party5 | Party that, in a settlement chain interacts with the party 4. | PartyIdentificationAndAccount34 - 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 %% SettlementParties23 recursion level 0 with max 1 SettlementParties23 *-- "0..1" PartyIdentification55 : Depository SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party1 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party2 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party3 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party4 SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party5 %% PartyIdentification55 recursion level 1 with max 1 PartyIdentification55 *-- "1..1" IPartyIdentification68Choice : Identification PartyIdentification55 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification PartyIdentification55 *-- "0..1" PartyTextInformation1 : AdditionalInformation %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification %% PartyIdentificationAndAccount34 recursion level 1 with max 1 class PartyIdentificationAndAccount34{ AdditionalInformation IsoMax350Text SafekeepingAccount IsoMax35Text } PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
SettlementParties23 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. | PartyIdentification55 - Optional 0..1 |
Party1 | Party that, in a settlement chain interacts with the depository. | PartyIdentificationAndAccount34 - Optional 0..1 |
Party2 | Party that, in a settlement chain interacts with the party 1. | PartyIdentificationAndAccount34 - Optional 0..1 |
Party3 | Party that, in a settlement chain interacts with the party 2. | PartyIdentificationAndAccount34 - Optional 0..1 |
Party4 | Party that, in a settlement chain interacts with the party 3. | PartyIdentificationAndAccount34 - Optional 0..1 |
Party5 | Party that, in a settlement chain interacts with the party 4. | PartyIdentificationAndAccount34 - Optional 0..1 |
CashParties building block
Cash parties involved in the specific transaction. Payment processes required to transfer cash from the debtor to the creditor. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CashParties18 recursion level 0 with max 1 CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : Debtor CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : DebtorAgent CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : Creditor CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : CreditorAgent CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : Intermediary %% PartyIdentificationAndAccount80 recursion level 1 with max 1 PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation %% PartyIdentificationAndAccount80 recursion level 1 with max 1 PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation %% PartyIdentificationAndAccount80 recursion level 1 with max 1 PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation %% PartyIdentificationAndAccount80 recursion level 1 with max 1 PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation %% PartyIdentificationAndAccount80 recursion level 1 with max 1 PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation
CashParties18 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Debtor | Party that owes an amount of money to the (ultimate) creditor. | PartyIdentificationAndAccount80 - Optional 0..1 |
DebtorAgent | Financial institution servicing an account for the debtor. | PartyIdentificationAndAccount80 - Optional 0..1 |
Creditor | Party to which an amount of money is due. | PartyIdentificationAndAccount80 - Optional 0..1 |
CreditorAgent | Financial institution servicing an account for the creditor. | PartyIdentificationAndAccount80 - Optional 0..1 |
Intermediary | Financial institution through which the transaction must pass to reach the account with institution. | PartyIdentificationAndAccount80 - Optional 0..1 |
ClearingDetails building block
Provides clearing member information. Provides the clearing details. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Clearing3 recursion level 0 with max 1 Clearing3 *-- "1..0" PartyIdentificationAndAccount78 : ClearingMember Clearing3 *-- "0..1" IPartyIdentification35Choice : ClearingSegment %% PartyIdentificationAndAccount78 recursion level 1 with max 1 class PartyIdentificationAndAccount78{ Side ClearingSide1Code ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount78 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount78 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification PartyIdentificationAndAccount78 *-- "0..1" SecuritiesAccount20 : ClearingAccount PartyIdentificationAndAccount78 *-- "0..1" PartyTextInformation1 : AdditionalInformation %% IPartyIdentification35Choice recursion level 1 with max 1
Clearing3 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
ClearingMember | Provides details about the clearing member identification and account. | PartyIdentificationAndAccount78 - Unknown 1..0 |
ClearingSegment | Clearing organisation that will clear the trade. Note: This field allows Clearing Member Firm to segregate flows coming from clearing counterparty’s clearing system. Indeed, Clearing Member Firms receive messages from the same system (same sender) and this field allows them to know if the message is related to equities or derivatives. | IPartyIdentification35Choice - Optional 0..1 |
SettlementAmount building block
Total amount of money to be paid or received in exchange for the securities. The amount includes the principal with any commissions and fees or accrued interest. Posting of an item to a cash account, in the context of a cash transaction, that results in an increase or decrease to the balance of the account. For comparison, see the ISO20022 official specification
classDiagram direction tb %% AmountAndDirection28 recursion level 0 with max 1 class AmountAndDirection28{ AccruedInterestIndicator IsoYesNoIndicator StampDutyIndicator IsoYesNoIndicator Amount IsoActiveCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection28 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails AmountAndDirection28 *-- "0..1" IDateAndDateTime1Choice : ValueDate %% ForeignExchangeTerms18 recursion level 1 with max 1 class ForeignExchangeTerms18{ UnitCurrency ActiveCurrencyCode QuotedCurrency ActiveCurrencyCode ExchangeRate IsoBaseOneRate ConvertedAmount IsoActiveCurrencyAndAmount } %% IDateAndDateTime1Choice recursion level 1 with max 1
AmountAndDirection28 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
AccruedInterestIndicator | Indicates whether the net proceeds include interest accrued on the financial instrument. | IsoYesNoIndicator - Optional 0..1 |
StampDutyIndicator | Indicates whether the settlement amount includes the stamp duty amount. | IsoYesNoIndicator - Optional 0..1 |
Amount | Amount of money in the cash entry. | IsoActiveCurrencyAndAmount - Required 1..1 |
CreditDebitIndicator | Indicates whether an entry is a credit or a debit. | CreditDebitCode - Optional 0..1 |
OriginalCurrencyAndOrderedAmount | Posting/settlement amount in its original currency when conversion from/into another currency has occurred. | IsoActiveOrHistoricCurrencyAndAmount - Optional 0..1 |
ForeignExchangeDetails | Information needed to process a currency exchange or conversion. | ForeignExchangeTerms18 - Optional 0..1 |
ValueDate | Date and time at which the cash is at the disposal of the credit account owner, or ceases to be at the disposal of the debit account owner. | IDateAndDateTime1Choice - Optional 0..1 |
OtherAmounts building block
Other amounts than the settlement amount. Identifies other amounts pertaining to the transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% OtherAmounts16 recursion level 0 with max 1 class OtherAmounts16{ RemunerationAmountRequest IsoYesNoIndicator OddLotFee IsoYesNoIndicator } OtherAmounts16 *-- "0..1" AmountAndDirection29 : ChargesFees OtherAmounts16 *-- "0..1" AmountAndDirection29 : CountryNationalFederalTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : ExecutingBrokerAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : IssueDiscountAllowance OtherAmounts16 *-- "0..1" AmountAndDirection29 : PaymentLevyTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalBrokerCommission OtherAmounts16 *-- "0..1" AmountAndDirection29 : Margin OtherAmounts16 *-- "0..1" AmountAndDirection29 : Other OtherAmounts16 *-- "0..1" AmountAndDirection29 : RegulatoryAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : SpecialConcession OtherAmounts16 *-- "0..1" AmountAndDirection29 : StampDuty OtherAmounts16 *-- "0..1" AmountAndDirection29 : StockExchangeTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : TransferTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : TransactionTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : ValueAddedTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : WithholdingTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : NetGainLoss OtherAmounts16 *-- "0..1" AmountAndDirection29 : ConsumptionTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : MatchingConfirmationFee OtherAmounts16 *-- "0..1" AmountAndDirection29 : ConvertedAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : OriginalCurrencyAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : BookValue OtherAmounts16 *-- "0..1" AmountAndDirection29 : AccruedCapitalisationAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific1 OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific2 OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific3 OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific4 OtherAmounts16 *-- "0..1" AmountAndDirection29 : SharedBrokerageAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : MarketMemberFeeAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemunerationAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : BorrowingInterestAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : BorrowingFee OtherAmounts16 *-- "0..1" AmountAndDirection29 : NetMarketValue OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemainingFaceValue OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemainingBookValue OtherAmounts16 *-- "0..1" AmountAndDirection29 : ClearingBrokerCommission OtherAmounts16 *-- "0..1" AmountAndDirection29 : DifferenceInPrice %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
OtherAmounts16 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
ChargesFees | Amount of money paid for the provision of financial services that cannot be categorised by another qualifier. | AmountAndDirection29 - Optional 0..1 |
CountryNationalFederalTax | Amount of country, national or federal tax charged by the jurisdiction in which the account servicer is located. | AmountAndDirection29 - Optional 0..1 |
ExecutingBrokerAmount | Amount of money paid to an executing broker as a commission. | AmountAndDirection29 - Optional 0..1 |
IssueDiscountAllowance | Amount of money defined as a discount on a new issue or on a tranche of an existing issue. | AmountAndDirection29 - Optional 0..1 |
PaymentLevyTax | Amount of payment levy tax. | AmountAndDirection29 - Optional 0..1 |
LocalTax | Tax charged by the jurisdiction in which the financial instrument settles. | AmountAndDirection29 - Optional 0..1 |
LocalBrokerCommission | Amount of commission paid to a local broker. | AmountAndDirection29 - Optional 0..1 |
Margin | Amount of money deposited by the trading party in a margin account. | AmountAndDirection29 - Optional 0..1 |
Other | An amount that is not indicated by a known business denomination. | AmountAndDirection29 - Optional 0..1 |
RegulatoryAmount | Amount of money charged by a regulatory authority, for example, Securities and Exchange fees. | AmountAndDirection29 - Optional 0..1 |
SpecialConcession | Amount of drawdown or other reduction from or in addition to the deal price. | AmountAndDirection29 - Optional 0..1 |
StampDuty | Amount of stamp duty. | AmountAndDirection29 - Optional 0..1 |
StockExchangeTax | Amount of stock exchange tax. | AmountAndDirection29 - Optional 0..1 |
TransferTax | Amount of tax levied on a transfer of ownership of financial instrument. | AmountAndDirection29 - Optional 0..1 |
TransactionTax | Amount of transaction tax. | AmountAndDirection29 - Optional 0..1 |
ValueAddedTax | Amount of value-added tax. | AmountAndDirection29 - Optional 0..1 |
WithholdingTax | Amount of money that will be withheld by a tax authority. | AmountAndDirection29 - Optional 0..1 |
NetGainLoss | Amount representing the difference between the cost and the current price of a security. In the context of securities settlement, it is the amount paid or received when the instructions are netted or paired off. | AmountAndDirection29 - Optional 0..1 |
ConsumptionTax | A tax on spending on goods and services. | AmountAndDirection29 - Optional 0..1 |
MatchingConfirmationFee | Amount of money charged for matching and/or confirmation. | AmountAndDirection29 - Optional 0..1 |
ConvertedAmount | Amount following a foreign exchange conversion. | AmountAndDirection29 - Optional 0..1 |
OriginalCurrencyAmount | Posting/settlement amount in its original currency when conversion from/into another currency has occurred. | AmountAndDirection29 - Optional 0..1 |
BookValue | Cost of the securities. May be requested in some countries for tax purposes. | AmountAndDirection29 - Optional 0..1 |
AccruedCapitalisationAmount | Amount of unpaid interest (on bonds which have defaulted and have subsequently | restructured), which is capitalized and added to the original principal amount of the bond. |
LocalTaxCountrySpecific1 | Local tax as defined by the country in its market practice document. | AmountAndDirection29 - Optional 0..1 |
LocalTaxCountrySpecific2 | Local tax as defined by the country in its market practice document. | AmountAndDirection29 - Optional 0..1 |
LocalTaxCountrySpecific3 | Local tax as defined by the country in its market practice document. | AmountAndDirection29 - Optional 0..1 |
LocalTaxCountrySpecific4 | Local tax as defined by the country in its market practice document. | AmountAndDirection29 - Optional 0..1 |
SharedBrokerageAmount | Amount paid as result of transactions subject to shared brokerage commissions. | AmountAndDirection29 - Optional 0..1 |
MarketMemberFeeAmount | Indicates the total fees related to the trade, with deduction of rebates (on brokerage, commission or differential) granted by the market member (fee amount with tax excluded). | AmountAndDirection29 - Optional 0..1 |
RemunerationAmountRequest | Specifies that this information is available upon request. | IsoYesNoIndicator - Optional 0..1 |
RemunerationAmount | Specifies the source and amount of any other remuneration received or to be received by the broker in connection with the transaction. | AmountAndDirection29 - Optional 0..1 |
BorrowingInterestAmount | Amount to be paid by the lender to the borrower calculated based on the interest rate. | AmountAndDirection29 - Optional 0..1 |
BorrowingFee | Amount to be paid by the Borrower to the Lender for the securities borrowed calculated based on the bond loan rate. | AmountAndDirection29 - Optional 0..1 |
NetMarketValue | Net market value of the securities lent used to calculate the collateral amount. | AmountAndDirection29 - Optional 0..1 |
RemainingFaceValue | Remaining nominal value of a security. | AmountAndDirection29 - Optional 0..1 |
RemainingBookValue | Remaining value at which an asset is carried on a balance sheet. | AmountAndDirection29 - Optional 0..1 |
ClearingBrokerCommission | Amount of commission paid to a clearing broker. | AmountAndDirection29 - Optional 0..1 |
DifferenceInPrice | Difference between the deal price and another reference price. | AmountAndDirection29 - Optional 0..1 |
OddLotFee | Specifies that the odd-lot differential or equivalent fee has been paid by such customer in connection with the execution of an order for an odd-lot number of shares or units (or principal amount) of a security and the fact that the amount of any such differential or fee will be furnished upon oral or written request. | IsoYesNoIndicator - Optional 0..1 |
OtherPrices building block
Other prices than the deal price. Specifies the type of price and information about the price. For comparison, see the ISO20022 official specification
classDiagram direction tb %% OtherPrices1 recursion level 0 with max 1 OtherPrices1 *-- "0..1" Price4 : Maximum OtherPrices1 *-- "0..1" Price4 : Transaction OtherPrices1 *-- "0..1" Price4 : MarketBrokerCommission OtherPrices1 *-- "0..1" Price4 : MarkedUp OtherPrices1 *-- "0..1" Price4 : MarkedDown OtherPrices1 *-- "0..1" Price4 : NetDisclosed OtherPrices1 *-- "0..1" Price4 : NetUndisclosed OtherPrices1 *-- "0..1" Price4 : NotionalGross OtherPrices1 *-- "0..1" Price4 : BenchmarkWeightedAverage OtherPrices1 *-- "0..1" Price4 : AllMarketsWeightedAverage OtherPrices1 *-- "0..1" Price4 : Benchmark OtherPrices1 *-- "0..1" Price4 : OtherPrice OtherPrices1 *-- "0..1" Price4 : IndexPrice OtherPrices1 *-- "0..1" Price4 : ReportedPrice OtherPrices1 *-- "0..1" PriceInformation9 : ReferencePrice %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% PriceInformation9 recursion level 1 with max 1 PriceInformation9 *-- "1..1" Price4 : Value PriceInformation9 *-- "0..1" IDateAndDateTime1Choice : QuotationDate PriceInformation9 *-- "0..1" IDateTimePeriodChoice : PriceCalculationPeriod PriceInformation9 *-- "0..1" MarketIdentification77 : SourceOfPrice
OtherPrices1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Maximum | Specifies the maximum price. | Price4 - Optional 0..1 |
Transaction | Specifies the transaction price. | Price4 - Optional 0..1 |
MarketBrokerCommission | Market price including or excluding the broker’s commission. | Price4 - Optional 0..1 |
MarkedUp | In case of an order to buy, the price that the broker paid on the market plus the broker’s commission. | Price4 - Optional 0..1 |
MarkedDown | In case of an order to sell, the price the broker receives in the market minus the broker’s commission. | Price4 - Optional 0..1 |
NetDisclosed | Price is net to the disclosed client. | Price4 - Optional 0..1 |
NetUndisclosed | Price is net to the client undisclosed (used in the UK market). | Price4 - Optional 0..1 |
NotionalGross | Price is notional gross (used in the UK market). | Price4 - Optional 0..1 |
BenchmarkWeightedAverage | Price is weighted average price of the benchmark prices at the time of each partial fill. | Price4 - Optional 0..1 |
AllMarketsWeightedAverage | Price is weighted average price of all market executions during the completion of the order. | Price4 - Optional 0..1 |
Benchmark | Price is a benchmark price relating to the current partial fills (eg, last trade tick from market). | Price4 - Optional 0..1 |
OtherPrice | Type of price that is not defined explicitly. | Price4 - Optional 0..1 |
IndexPrice | Price of securities representing a particular market or a portion of it. | Price4 - Optional 0..1 |
ReportedPrice | Price used to differentiate from price on a confirmation of a marked up or marked down principal trade. | Price4 - Optional 0..1 |
ReferencePrice | Price of reference of the concerned financial instrument. | PriceInformation9 - Optional 0..1 |
OtherBusinessParties building block
Other business parties relevant to the transaction. Provides details about business parties involved in the transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% OtherParties18 recursion level 0 with max 1 OtherParties18 *-- "0..0" PartyIdentificationAndAccount79 : Investor OtherParties18 *-- "0..1" PartyIdentificationAndAccount87 : StockExchange OtherParties18 *-- "0..1" PartyIdentificationAndAccount87 : TradeRegulator OtherParties18 *-- "0..1" PartyIdentificationAndAccount83 : TripartyAgent OtherParties18 *-- "0..1" PartyIdentificationAndAccount77 : QualifiedForeignIntermediary %% PartyIdentificationAndAccount79 recursion level 1 with max 1 class PartyIdentificationAndAccount79{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text CountryOfResidence CountryCode } PartyIdentificationAndAccount79 *-- "0..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount79 *-- "0..1" ICashAccountIdentification2Choice : CashAccount PartyIdentificationAndAccount79 *-- "0..1" PartyTextInformation1 : AdditionalInformation PartyIdentificationAndAccount79 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification %% PartyIdentificationAndAccount87 recursion level 1 with max 1 class PartyIdentificationAndAccount87{ ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount87 *-- "1..1" IPartyIdentification70Choice : Identification PartyIdentificationAndAccount87 *-- "0..1" PartyTextInformation1 : AdditionalInformation PartyIdentificationAndAccount87 *-- "0..1" AlternatePartyIdentification6 : AlternateIdentification %% PartyIdentificationAndAccount87 recursion level 1 with max 1 class PartyIdentificationAndAccount87{ ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount87 *-- "1..1" IPartyIdentification70Choice : Identification PartyIdentificationAndAccount87 *-- "0..1" PartyTextInformation1 : AdditionalInformation PartyIdentificationAndAccount87 *-- "0..1" AlternatePartyIdentification6 : AlternateIdentification %% PartyIdentificationAndAccount83 recursion level 1 with max 1 class PartyIdentificationAndAccount83{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount83 *-- "1..1" IPartyIdentification70Choice : Identification PartyIdentificationAndAccount83 *-- "0..1" ICashAccountIdentification2Choice : CashAccount PartyIdentificationAndAccount83 *-- "0..1" PartyTextInformation1 : AdditionalInformation PartyIdentificationAndAccount83 *-- "0..1" AlternatePartyIdentification6 : AlternateIdentification %% PartyIdentificationAndAccount77 recursion level 1 with max 1 class PartyIdentificationAndAccount77{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount77 *-- "1..1" IPartyIdentification32Choice : Identification PartyIdentificationAndAccount77 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification PartyIdentificationAndAccount77 *-- "0..1" PartyTextInformation1 : AdditionalInformation
OtherParties18 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Investor | Party that identifies the underlying investor. | PartyIdentificationAndAccount79 - Unknown 0..0 |
StockExchange | Party that identifies the stock exchange. | PartyIdentificationAndAccount87 - Optional 0..1 |
TradeRegulator | Party that identifies the trade regulator. | PartyIdentificationAndAccount87 - Optional 0..1 |
TripartyAgent | Party that handles tri-party transactions. | PartyIdentificationAndAccount83 - Optional 0..1 |
QualifiedForeignIntermediary | Foreign Financial Institution which has been authorised by local authorities to act as account management institution in the country. | PartyIdentificationAndAccount77 - Optional 0..1 |
TwoLegTransactionDetails building block
Identifies a transaction that the trading parties are agreeing to repurchase, sell back or return the same or similar securities at a later time. The two leg transaction details defines the closing leg conditions of a two leg transaction. It is also used to define the anticipated closing leg conditions at the time of opening the closed-end transaction.
Specifies the details of the first leg in a two leg transaction process. For comparison, see the ISO20022 official specification
classDiagram direction tb %% TwoLegTransactionDetails1 recursion level 0 with max 1 class TwoLegTransactionDetails1{ OpeningLegIdentification IsoMax35Text ClosingLegIdentification IsoMax35Text SecondLegNarrative IsoMax140Text } TwoLegTransactionDetails1 *-- "0..1" ITradeDate1Choice : TradeDate TwoLegTransactionDetails1 *-- "0..1" AmountAndDirection29 : GrossTradeAmount TwoLegTransactionDetails1 *-- "0..0" OtherAmounts16 : OtherAmounts TwoLegTransactionDetails1 *-- "0..1" Price4 : EndPrice TwoLegTransactionDetails1 *-- "0..1" IClosingDate1Choice : ClosingDate TwoLegTransactionDetails1 *-- "0..1" AmountAndDirection5 : ClosingSettlementAmount TwoLegTransactionDetails1 *-- "0..1" ITradeDate4Choice : ProcessingDate TwoLegTransactionDetails1 *-- "0..1" ITwoLegTransactionType1Choice : TwoLegTransactionType %% ITradeDate1Choice recursion level 1 with max 1 %% AmountAndDirection29 recursion level 1 with max 1 class AmountAndDirection29{ Amount IsoActiveOrHistoricCurrencyAndAmount CreditDebitIndicator CreditDebitCode OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount } AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails %% OtherAmounts16 recursion level 1 with max 1 class OtherAmounts16{ RemunerationAmountRequest IsoYesNoIndicator OddLotFee IsoYesNoIndicator } OtherAmounts16 *-- "0..1" AmountAndDirection29 : ChargesFees OtherAmounts16 *-- "0..1" AmountAndDirection29 : CountryNationalFederalTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : ExecutingBrokerAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : IssueDiscountAllowance OtherAmounts16 *-- "0..1" AmountAndDirection29 : PaymentLevyTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalBrokerCommission OtherAmounts16 *-- "0..1" AmountAndDirection29 : Margin OtherAmounts16 *-- "0..1" AmountAndDirection29 : Other OtherAmounts16 *-- "0..1" AmountAndDirection29 : RegulatoryAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : SpecialConcession OtherAmounts16 *-- "0..1" AmountAndDirection29 : StampDuty OtherAmounts16 *-- "0..1" AmountAndDirection29 : StockExchangeTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : TransferTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : TransactionTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : ValueAddedTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : WithholdingTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : NetGainLoss OtherAmounts16 *-- "0..1" AmountAndDirection29 : ConsumptionTax OtherAmounts16 *-- "0..1" AmountAndDirection29 : MatchingConfirmationFee OtherAmounts16 *-- "0..1" AmountAndDirection29 : ConvertedAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : OriginalCurrencyAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : BookValue OtherAmounts16 *-- "0..1" AmountAndDirection29 : AccruedCapitalisationAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific1 OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific2 OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific3 OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific4 OtherAmounts16 *-- "0..1" AmountAndDirection29 : SharedBrokerageAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : MarketMemberFeeAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemunerationAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : BorrowingInterestAmount OtherAmounts16 *-- "0..1" AmountAndDirection29 : BorrowingFee OtherAmounts16 *-- "0..1" AmountAndDirection29 : NetMarketValue OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemainingFaceValue OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemainingBookValue OtherAmounts16 *-- "0..1" AmountAndDirection29 : ClearingBrokerCommission OtherAmounts16 *-- "0..1" AmountAndDirection29 : DifferenceInPrice %% Price4 recursion level 1 with max 1 class Price4{ Type PriceValueType7Code } Price4 *-- "1..1" IPriceRateOrAmountChoice : Value %% IClosingDate1Choice recursion level 1 with max 1 %% AmountAndDirection5 recursion level 1 with max 1 class AmountAndDirection5{ Amount IsoActiveCurrencyAndAmount CreditDebit CreditDebitCode } %% ITradeDate4Choice recursion level 1 with max 1 %% ITwoLegTransactionType1Choice recursion level 1 with max 1
TwoLegTransactionDetails1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
TradeDate | Specifies the date/time on which the trade was executed. | ITradeDate1Choice - Optional 0..1 |
OpeningLegIdentification | Unambiguous identification of the reference assigned in the first leg of the transaction. | IsoMax35Text - Optional 0..1 |
ClosingLegIdentification | Unambiguous identification of the second leg of the transaction as known by the account owner (or the instructing party acting on its behalf). | IsoMax35Text - Optional 0..1 |
GrossTradeAmount | Principal amount of a trade (price multiplied by quantity). | AmountAndDirection29 - Optional 0..1 |
OtherAmounts | Identifies other amounts pertaining to the transaction. | OtherAmounts16 - Unknown 0..0 |
SecondLegNarrative | Provides additional information about the second leg in narrative form. | IsoMax140Text - Optional 0..1 |
EndPrice | Negotiated fixed price of the security to buy it back. | Price4 - Optional 0..1 |
ClosingDate | Closing date/time or maturity date/time of the transaction. | IClosingDate1Choice - Optional 0..1 |
ClosingSettlementAmount | Total amount of money to be paid or received in exchange for the securities. The amount includes the principal with any commissions and fees or accrued interest. | AmountAndDirection5 - Optional 0..1 |
ProcessingDate | Processing date of the trading session. | ITradeDate4Choice - Optional 0..1 |
TwoLegTransactionType | Specifies the type of the second leg transaction. | ITwoLegTransactionType1Choice - Optional 0..1 |
RegulatoryStipulations building block
Specifies regulatory stipulations that financial institutions must be compliant with in the country, region, and/or area they conduct business. Specifies regulatory stipulations that financial institutions must be compliant with in the country, region, and/or area they conduct business. For comparison, see the ISO20022 official specification
classDiagram direction tb %% RegulatoryStipulations1 recursion level 0 with max 1 class RegulatoryStipulations1{ Country CountryCode Stipulations IsoMax350Text }
RegulatoryStipulations1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Country | Nation with its own government, occupying a particular territory. | CountryCode - Required 1..1 |
Stipulations | Specifies regulatory stipulations that financial institutions must be compliant with in the country, region, and/or where they conduct business. | IsoMax350Text - Unknown 1..0 |
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 SecuritiesTradeConfirmationV02 implementation follows a specific implementaiton pattern. First of all, SecuritiesTradeConfirmationV02 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, SecuritiesTradeConfirmationV02Document implements IOuterDocument. Because SecuritiesTradeConfirmationV02 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type SecuritiesTradeConfirmationV02.
classDiagram class IOuterRecord SecuritiesTradeConfirmationV02 --|> IOuterRecord : Implements SecuritiesTradeConfirmationV02Document --|> IOuterDocument~SecuritiesTradeConfirmationV02~ : Implements class IOuterDocument~SecuritiesTradeConfirmationV02~ { SecuritiesTradeConfirmationV02 Message }
Document wrapper for serialization
The only real purpose SecuritiesTradeConfirmationV02Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:setr.027.001.02’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using SecuritiesTradeConfirmationV02.ToDocument() method. The returned SecuritiesTradeConfirmationV02Document value will serialize correctly according to ISO 20022 standards.
classDiagram SecuritiesTradeConfirmationV02Document *-- SecuritiesTradeConfirmationV02 : 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.027.001.02">
<SctiesTradConf>
<Id>
<!-- Identification inner content -->
</Id>
<NbCnt>
<!-- NumberCount inner content -->
</NbCnt>
<Refs>
<!-- References inner content -->
</Refs>
<TradDtls>
<!-- TradeDetails inner content -->
</TradDtls>
<FinInstrmId>
<!-- FinancialInstrumentIdentification inner content -->
</FinInstrmId>
<FinInstrmAttrbts>
<!-- FinancialInstrumentAttributes inner content -->
</FinInstrmAttrbts>
<UndrlygFinInstrm>
<!-- UnderlyingFinancialInstrument inner content -->
</UndrlygFinInstrm>
<Stiptns>
<!-- Stipulations inner content -->
</Stiptns>
<ConfPties>
<!-- ConfirmationParties inner content -->
</ConfPties>
<SttlmParams>
<!-- SettlementParameters inner content -->
</SttlmParams>
<StgSttlmInstr>
<!-- StandingSettlementInstruction inner content -->
</StgSttlmInstr>
<DlvrgSttlmPties>
<!-- DeliveringSettlementParties inner content -->
</DlvrgSttlmPties>
<RcvgSttlmPties>
<!-- ReceivingSettlementParties inner content -->
</RcvgSttlmPties>
<CshPties>
<!-- CashParties inner content -->
</CshPties>
<ClrDtls>
<!-- ClearingDetails inner content -->
</ClrDtls>
<SttlmAmt>
<!-- SettlementAmount inner content -->
</SttlmAmt>
<OthrAmts>
<!-- OtherAmounts inner content -->
</OthrAmts>
<OthrPrics>
<!-- OtherPrices inner content -->
</OthrPrics>
<OthrBizPties>
<!-- OtherBusinessParties inner content -->
</OthrBizPties>
<TwoLegTxDtls>
<!-- TwoLegTransactionDetails inner content -->
</TwoLegTxDtls>
<RgltryStiptns>
<!-- RegulatoryStipulations inner content -->
</RgltryStiptns>
<SplmtryData>
<!-- SupplementaryData inner content -->
</SplmtryData>
</SctiesTradConf>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_LqiH4RhgEeKSublfJr3XCg"
nextVersions="_L2hN0S9UEeOdVfle5cojCg"
previousVersion="_SfkjwuQXEeCGktPI9k4Dlw_-2045526676"
name="SecuritiesTradeConfirmationV02"
definition="SCOPE
Sent by an executing party to an instructing party directly or through Central Matching Utility (CMU) to provide trade confirmation on a per-account basis based on instructions provided by the instructing party in the SecuritiesAllocationInstruction message.

It may also be used to provide trade confirmation on the trade level from an executing party or an instructing party to the custodian or an affirming party directly or through CMU.

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 custodian or the affirming party is typically the custodian, trustee, financial institution, intermediary system/vendor communicating on behalf of them, or their agent.

USAGE
Initiator: In local matching, the initiator of this message is always the executing party. In central matching the initiator may be either the executing party or instructing party.
Respondent: instructing party, a custodian or an affirming party responds with SecuritiesTradeConfirmationResponse (accept or reject) message."
registrationStatus="Registered"
messageSet="_urpIICeJEeOCeO5e7islRQ"
xmlTag="SctiesTradConf"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_LqiH4xhgEeKSublfJr3XCg"
nextVersions="_L2hN0y9UEeOdVfle5cojCg"
name="Identification"
definition="Information that unambiguously identifies an SecuritiesTradeConfirmation 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="_LqiH5xhgEeKSublfJr3XCg"
nextVersions="_L2hN1S9UEeOdVfle5cojCg"
name="NumberCount"
definition="Count of the number of transactions linked."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="NbCnt"
complexType="_QrsmZ9p-Ed-ak6NoX_4Aeg_994582654" />
<messageBuildingBlock
xmi:id="_LqiH6xhgEeKSublfJr3XCg"
nextVersions="_L2hN1y9UEeOdVfle5cojCg"
name="References"
definition="Reference to the transaction identifier issued by a business party and/or market infrastructure. It may also be used to reference a previous transaction, for example, a block/allocation instruction, or tie a set of messages together."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="Refs"
complexType="_Ab8KlNokEeC60axPepSq7g_1109963606" />
<messageBuildingBlock
xmi:id="_LqiH7xhgEeKSublfJr3XCg"
nextVersions="_L2hN2S9UEeOdVfle5cojCg"
name="TradeDetails"
definition="Details of the trade."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="TradDtls"
complexType="_AoTyoNokEeC60axPepSq7g_496068900" />
<messageBuildingBlock
xmi:id="_LqiH8xhgEeKSublfJr3XCg"
nextVersions="_L2hN2y9UEeOdVfle5cojCg"
name="FinancialInstrumentIdentification"
definition="Unique and unambiguous identifier of a financial instrument, assigned under a formal or proprietary identification scheme."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="FinInstrmId"
complexType="_TBAQ7dp-Ed-ak6NoX_4Aeg_896067631" />
<messageBuildingBlock
xmi:id="_LqiH9xhgEeKSublfJr3XCg"
nextVersions="_L2hN3S9UEeOdVfle5cojCg"
name="FinancialInstrumentAttributes"
definition="Elements characterising a financial instrument."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="FinInstrmAttrbts"
complexType="_gXIANhkMEeKSublfJr3XCg" />
<messageBuildingBlock
xmi:id="_LqiH-xhgEeKSublfJr3XCg"
nextVersions="_L2hN3y9UEeOdVfle5cojCg"
name="UnderlyingFinancialInstrument"
definition="Underlying financial instrument to which an trade confirmation is related."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="UndrlygFinInstrm"
complexType="_P3mnMRkOEeKSublfJr3XCg" />
<messageBuildingBlock
xmi:id="_LqiH_xhgEeKSublfJr3XCg"
nextVersions="_L2hN4S9UEeOdVfle5cojCg"
name="Stipulations"
definition="Additional restrictions on the financial instrument, related to the stipulation."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="Stiptns"
complexType="_vv4qsNooEeCWg-hsBVGrDA_-742473127" />
<messageBuildingBlock
xmi:id="_LqiIAxhgEeKSublfJr3XCg"
nextVersions="_L2hN4y9UEeOdVfle5cojCg"
name="ConfirmationParties"
definition="Parties involved in the confirmation of the details of a trade."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="ConfPties"
complexType="_AXehVNokEeC60axPepSq7g_-1114958869" />
<messageBuildingBlock
xmi:id="_LqiIBxhgEeKSublfJr3XCg"
nextVersions="_L2hN5S9UEeOdVfle5cojCg"
name="SettlementParameters"
definition="Parameters which explicitly state the conditions that must be fulfilled before a particular transaction of a financial instrument can be settled. These parameters are defined by the instructing party in compliance with settlement rules in the market the transaction will settle in."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="SttlmParams"
complexType="_A1IGoNokEeC60axPepSq7g_1106734346" />
<messageBuildingBlock
xmi:id="_LqiICxhgEeKSublfJr3XCg"
nextVersions="_L2hN5y9UEeOdVfle5cojCg"
name="StandingSettlementInstruction"
definition="Specifies what settlement standing instruction database is to be used to derive the settlement parties involved in the transaction."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="StgSttlmInstr"
complexType="_A2BegtokEeC60axPepSq7g_-895244261" />
<messageBuildingBlock
xmi:id="_LqiIDxhgEeKSublfJr3XCg"
nextVersions="_L2hN6S9UEeOdVfle5cojCg"
name="DeliveringSettlementParties"
definition="Identifies the chain of delivering settlement parties."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="DlvrgSttlmPties"
complexType="_AlyDENokEeC60axPepSq7g_1741459384" />
<messageBuildingBlock
xmi:id="_LqiIExhgEeKSublfJr3XCg"
nextVersions="_L2hN6y9UEeOdVfle5cojCg"
name="ReceivingSettlementParties"
definition="Identifies the chain of receiving settlement parties."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="RcvgSttlmPties"
complexType="_AlyDENokEeC60axPepSq7g_1741459384" />
<messageBuildingBlock
xmi:id="_LqiIFxhgEeKSublfJr3XCg"
nextVersions="_L2hN7S9UEeOdVfle5cojCg"
name="CashParties"
definition="Cash parties involved in the specific transaction."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="CshPties"
complexType="_wnzr6Bj_EeKSublfJr3XCg" />
<messageBuildingBlock
xmi:id="_LqiIGxhgEeKSublfJr3XCg"
nextVersions="_L2hN7y9UEeOdVfle5cojCg"
name="ClearingDetails"
definition="Provides clearing member information."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="ClrDtls"
complexType="_A3gsQNokEeC60axPepSq7g_556617430" />
<messageBuildingBlock
xmi:id="_LqiIHxhgEeKSublfJr3XCg"
nextVersions="_L2hN8S9UEeOdVfle5cojCg"
name="SettlementAmount"
definition="Total amount of money to be paid or received in exchange for the securities. The amount includes the principal with any commissions and fees or accrued interest."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="SttlmAmt"
complexType="_Aj2JYNokEeC60axPepSq7g_1906017147" />
<messageBuildingBlock
xmi:id="_LqiIIxhgEeKSublfJr3XCg"
nextVersions="_L2hN8y9UEeOdVfle5cojCg"
name="OtherAmounts"
definition="Other amounts than the settlement amount."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="OthrAmts"
complexType="_AkJEUNokEeC60axPepSq7g_-185304496" />
<messageBuildingBlock
xmi:id="_LqiIJxhgEeKSublfJr3XCg"
nextVersions="_L2hN9S9UEeOdVfle5cojCg"
name="OtherPrices"
definition="Other prices than the deal price."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="OthrPrics"
complexType="_AVY2oNokEeC60axPepSq7g_-1057295935" />
<messageBuildingBlock
xmi:id="_LqiIKxhgEeKSublfJr3XCg"
nextVersions="_L2hN9y9UEeOdVfle5cojCg"
name="OtherBusinessParties"
definition="Other business parties relevant to the transaction."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="OthrBizPties"
complexType="_AOPFx9okEeC60axPepSq7g_1209561399" />
<messageBuildingBlock
xmi:id="_LqiILxhgEeKSublfJr3XCg"
nextVersions="_L2hN-S9UEeOdVfle5cojCg"
name="TwoLegTransactionDetails"
definition="Identifies a transaction that the trading parties are agreeing to repurchase, sell back or return the same or similar securities at a later time. 
The two leg transaction details defines the closing leg conditions of a two leg transaction. It is also used to define the anticipated closing leg conditions at the time of opening the closed-end transaction. 

"
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="TwoLegTxDtls"
complexType="_Athp0NokEeC60axPepSq7g_480086930" />
<messageBuildingBlock
xmi:id="_LqiIMxhgEeKSublfJr3XCg"
nextVersions="_L2hN-y9UEeOdVfle5cojCg"
name="RegulatoryStipulations"
definition="Specifies regulatory stipulations that financial institutions must be compliant with in the country, region, and/or area they conduct business."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="RgltryStiptns"
complexType="_AmX48NokEeC60axPepSq7g_4921707" />
<messageBuildingBlock
xmi:id="_LqiINxhgEeKSublfJr3XCg"
nextVersions="_L2hN_S9UEeOdVfle5cojCg"
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="027"
flavour="001"
version="02" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.