SecuritiesTradeConfirmationV04

setr.027.001.04

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
%% SecuritiesTradeConfirmationV04 recursion level 0 with max 0
SecuritiesTradeConfirmationV04 *-- "1..1" TransactiontIdentification4 : Identification
SecuritiesTradeConfirmationV04 *-- "0..1" INumberCount1Choice : NumberCount
SecuritiesTradeConfirmationV04 *-- "0..1" Linkages52 : References
SecuritiesTradeConfirmationV04 *-- "1..1" Order24 : TradeDetails
SecuritiesTradeConfirmationV04 *-- "1..1" SecurityIdentification19 : FinancialInstrumentIdentification
SecuritiesTradeConfirmationV04 *-- "0..1" FinancialInstrumentAttributes124 : FinancialInstrumentAttributes
SecuritiesTradeConfirmationV04 *-- "0..1" UnderlyingFinancialInstrument7 : UnderlyingFinancialInstrument
SecuritiesTradeConfirmationV04 *-- "0..1" FinancialInstrumentStipulations4 : Stipulations
SecuritiesTradeConfirmationV04 *-- "1..1" ConfirmationParties6 : ConfirmationParties
SecuritiesTradeConfirmationV04 *-- "0..1" SettlementDetails213 : SettlementParameters
SecuritiesTradeConfirmationV04 *-- "0..1" StandingSettlementInstruction13 : StandingSettlementInstruction
SecuritiesTradeConfirmationV04 *-- "0..1" SettlementParties59 : DeliveringSettlementParties
SecuritiesTradeConfirmationV04 *-- "0..1" SettlementParties59 : ReceivingSettlementParties
SecuritiesTradeConfirmationV04 *-- "0..1" CashParties33 : CashParties
SecuritiesTradeConfirmationV04 *-- "0..1" Clearing5 : ClearingDetails
SecuritiesTradeConfirmationV04 *-- "0..1" AmountAndDirection28 : SettlementAmount
SecuritiesTradeConfirmationV04 *-- "0..1" OtherAmounts16 : OtherAmounts
SecuritiesTradeConfirmationV04 *-- "0..1" OtherPrices5 : OtherPrices
SecuritiesTradeConfirmationV04 *-- "0..1" OtherParties32 : OtherBusinessParties
SecuritiesTradeConfirmationV04 *-- "0..1" TwoLegTransactionDetails5 : TwoLegTransactionDetails
SecuritiesTradeConfirmationV04 *-- "0..1" RegulatoryStipulations1 : RegulatoryStipulations
SecuritiesTradeConfirmationV04 *-- "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
%% Linkages52 recursion level 0 with max 1
Linkages52 *-- "0..1" IDocumentNumber17Choice : MessageNumber
Linkages52 *-- "1..1" IIdentificationReference8Choice : Reference
%% IDocumentNumber17Choice recursion level 1 with max 1
%% IIdentificationReference8Choice recursion level 1 with max 1
  

Linkages52 members

Member name Description Data Type / Multiplicity
MessageNumber Message type number/message identifier of the message referenced in the linkage sequence. IDocumentNumber17Choice - Optional 0..1
Reference Reference to the linked transaction. 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
%% Order24 recursion level 0 with max 1
class Order24{
    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
}
Order24 *-- "0..1" IBusinessProcessType2Choice : BusinessProcessType
Order24 *-- "0..1" ITradeType4Choice : TradeTransactionType
Order24 *-- "0..0" ITradeTransactionCondition9Choice : TradeTransactionCondition
Order24 *-- "0..1" MarketIdentification93 : PlaceOfTrade
Order24 *-- "1..1" ITradeDate7Choice : TradeDate
Order24 *-- "0..1" ITradeDate7Choice : ProcessingDate
Order24 *-- "1..1" ISettlementDate16Choice : SettlementDate
Order24 *-- "0..1" IDateAndDateTime1Choice : NAVDate
Order24 *-- "0..0" PartialFill4 : PartialFillDetails
Order24 *-- "1..1" IQuantity6Choice : ConfirmationQuantity
Order24 *-- "0..0" QuantityBreakdown76 : QuantityBreakdown
Order24 *-- "0..1" AmountAndDirection29 : GrossTradeAmount
Order24 *-- "1..1" Price14 : DealPrice
Order24 *-- "0..1" ITypeOfPrice47Choice : TypeOfPrice
Order24 *-- "0..1" Commission24 : Commission
Order24 *-- "0..1" AmountAndDirection29 : AccruedInterestAmount
Order24 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell
Order24 *-- "0..1" IChargeTaxBasisType2Choice : ChargeTaxBasisType
Order24 *-- "0..1" IEUCapitalGainType3Choice : CapitalGainType
Order24 *-- "0..1" IMatchingStatus27Choice : MatchStatus
Order24 *-- "0..1" YieldCalculation7 : YieldType
Order24 *-- "0..0" IReporting6Choice : Reporting
Order24 *-- "0..1" RegistrationParameters3 : AdditionalPhysicalOrRegistrationDetails
%% IBusinessProcessType2Choice recursion level 1 with max 1
%% ITradeType4Choice recursion level 1 with max 1
%% ITradeTransactionCondition9Choice recursion level 1 with max 1
%% MarketIdentification93 recursion level 1 with max 1
MarketIdentification93 *-- "0..1" IMarketIdentification3Choice : Identification
MarketIdentification93 *-- "0..1" IMarketType18Choice : Type
%% ITradeDate7Choice recursion level 1 with max 1
%% ITradeDate7Choice recursion level 1 with max 1
%% ISettlementDate16Choice recursion level 1 with max 1
%% IDateAndDateTime1Choice recursion level 1 with max 1
%% PartialFill4 recursion level 1 with max 1
PartialFill4 *-- "1..1" IQuantity6Choice : ConfirmationQuantity
PartialFill4 *-- "1..1" Price14 : DealPrice
PartialFill4 *-- "0..1" ITradeDate7Choice : TradeDate
PartialFill4 *-- "0..1" MarketIdentification97 : PlaceOfTrade
PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : OriginalOrderedQuantity
PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : PreviouslyExecutedQuantity
PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : RemainingQuantity
PartialFill4 *-- "0..1" IQuantityOrAmount2Choice : MatchIncrementQuantity
%% IQuantity6Choice recursion level 1 with max 1
%% QuantityBreakdown76 recursion level 1 with max 1
QuantityBreakdown76 *-- "0..1" GenericIdentification37 : LotNumber
QuantityBreakdown76 *-- "0..1" IFinancialInstrumentQuantity1Choice : LotQuantity
QuantityBreakdown76 *-- "0..1" IDateAndDateTime1Choice : LotDateTime
QuantityBreakdown76 *-- "0..1" Price14 : LotPrice
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% ITypeOfPrice47Choice recursion level 1 with max 1
%% Commission24 recursion level 1 with max 1
class Commission24{
    CalculationDate IsoISODate
    TotalVATAmount IsoActiveCurrencyAndAmount
    VATRate IsoBaseOneRate
}
Commission24 *-- "1..1" ICommissionType6Choice : Type
Commission24 *-- "1..1" IAmountOrRate2Choice : Commission
Commission24 *-- "0..1" PartyIdentification117 : RecipientIdentification
Commission24 *-- "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
%% IChargeTaxBasisType2Choice recursion level 1 with max 1
%% IEUCapitalGainType3Choice recursion level 1 with max 1
%% IMatchingStatus27Choice recursion level 1 with max 1
%% YieldCalculation7 recursion level 1 with max 1
class YieldCalculation7{
    Value IsoPercentageRate
    CalculationType CalculationType1Code
    ValueDate IsoISODate
    CalculationDate IsoISODate
}
YieldCalculation7 *-- "0..1" Price14 : RedemptionPrice
YieldCalculation7 *-- "0..1" IDateTimePeriod1Choice : ValuePeriod
%% IReporting6Choice recursion level 1 with max 1
%% RegistrationParameters3 recursion level 1 with max 1
class RegistrationParameters3{
    CertificationIdentification IsoMax35Text
    RegistrarAccount IsoMax35Text
}
RegistrationParameters3 *-- "0..1" IDateAndDateTime1Choice : CertificationDateTime
RegistrationParameters3 *-- "0..0" SecuritiesCertificate3 : CertificateNumber
  

Order24 members

Member name Description Data Type / Multiplicity
BusinessProcessType Specifies the type of business process. IBusinessProcessType2Choice - Optional 0..1
OrderIdentification Unique identifier for Order as assigned by sell-side. IsoMax35Text - Unknown 0..0
ClientOrderIdentification Unique identifier for the order as assigned by the buy-side. Uniqueness must be guaranteed within a single trading day. Firms, particularly those that electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClientOrderIdentification element. IsoMax35Text - Unknown 0..0
SecondaryClientOrderIdentification Assigned by the party that originates the order. Can be used to provide the ClientOrderIdentification used by an exchange or executing system. IsoMax35Text - Unknown 0..0
ListIdentification Unique identifier for a list, as assigned by the trading party. The identifier must be unique within a single trading day. IsoMax35Text - Unknown 0..0
Side Coded list to specify the side of the order. Side3Code - Required 1..1
Payment Specifies how the transaction is to be settled, for example, against payment. DeliveryReceiptType2Code - Optional 0..1
TradeTransactionType Specifies the type of transaction of which the order is a component. ITradeType4Choice - Optional 0..1
TradeTransactionCondition Indicates the conditions under which the order/trade is to be/was executed. ITradeTransactionCondition9Choice - Unknown 0..0
PreAdvice Transaction is a pre-advice, that is, for matching purposes only. IsoYesNoIndicator - Optional 0..1
PlaceOfTrade Market in which a trade transaction is to be or has been executed. MarketIdentification93 - Optional 0..1
OrderBookingDate Date and time when an entry is posted to an account on the account servicer’s books. IsoISODate - Optional 0..1
TradeOriginationDate Indicates the date and time of the agreement in principal between counter-parties prior to actual trade date. Used with fixed income for municipal new issue markets.
TradeDate Specifies the date/time on which the trade was executed. ITradeDate7Choice - Required 1..1
ProcessingDate Processing date of the trading session. ITradeDate7Choice - Optional 0..1
SettlementDate Date and time at which the securities are to be delivered or received. ISettlementDate16Choice - Required 1..1
NAVDate Valuation point, or valuation date of the portfolio (underlying assets). This is also known as price date. IDateAndDateTime1Choice - Optional 0..1
PartialFillDetails Quantity of financial instrument bought or sold which is less than the quantity of financial instrument ordered. PartialFill4 - Unknown 0..0
ConfirmationQuantity Quantity of financial instrument that is being confirmed for the account.The quantity of the security to be settled. IQuantity6Choice - Required 1..1
QuantityBreakdown Breakdown of a quantity into lots such as tax lots, instrument series, etc. QuantityBreakdown76 - Unknown 0..0
GrossTradeAmount Principal amount of a trade (price multiplied by quantity). AmountAndDirection29 - Optional 0..1
DealPrice Amount of money for which goods or services are offered, sold, or bought. Price14 - Required 1..1
TypeOfPrice Specifies the type of transaction price. ITypeOfPrice47Choice - Optional 0..1
CashMargin Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request. CashMarginOrder1Code - Optional 0..1
Commission Amount of money due to a party as compensation for a service. Commission24 - 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. IChargeTaxBasisType2Choice - Optional 0..1
CapitalGainType Specifies the type of capital gain. IEUCapitalGainType3Choice - Optional 0..1
MatchStatus Provides the matching status of the trade confirmation. IMatchingStatus27Choice - Optional 0..1
CallInType Specifies the type of pay-in call report. CallIn1Code - Optional 0..1
YieldType Type of yield at which the transaction was effected. YieldCalculation7 - Optional 0..1
Reporting Specifies that a trade is to be reported to a third party. IReporting6Choice - Unknown 0..0
AdditionalPhysicalOrRegistrationDetails Provides information required for the registration or physical settlement. RegistrationParameters3 - Optional 0..1
AdditionalTradeInstructionProcessingInformation Provides additional details of the trade process not included within structured fields of this message. IsoMax350Text - Optional 0..1

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
%% SecurityIdentification19 recursion level 0 with max 1
class SecurityIdentification19{
    ISIN IsoISINOct2015Identifier
    Description IsoMax140Text
}
SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification
%% OtherIdentification1 recursion level 1 with max 1
class OtherIdentification1{
    Identification IsoMax35Text
    Suffix IsoMax16Text
}
OtherIdentification1 *-- "1..1" IIdentificationSource3Choice : Type
  

SecurityIdentification19 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. IsoISINOct2015Identifier - 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
%% FinancialInstrumentAttributes124 recursion level 0 with max 1
class FinancialInstrumentAttributes124{
    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
}
FinancialInstrumentAttributes124 *-- "0..1" IMarketIdentification3Choice : PlaceOfListing
FinancialInstrumentAttributes124 *-- "0..1" Rating1 : Rating
FinancialInstrumentAttributes124 *-- "0..1" IInterestComputationMethodFormat4Choice : DayCountBasis
FinancialInstrumentAttributes124 *-- "0..1" IFormOfSecurity6Choice : RegistrationForm
FinancialInstrumentAttributes124 *-- "0..1" IFrequency23Choice : PaymentFrequency
FinancialInstrumentAttributes124 *-- "0..1" IFrequency23Choice : VariableRateChangeFrequency
FinancialInstrumentAttributes124 *-- "0..1" IClassificationType32Choice : ClassificationType
FinancialInstrumentAttributes124 *-- "0..1" IOptionStyle10Choice : OptionStyle
FinancialInstrumentAttributes124 *-- "0..1" IOptionType6Choice : OptionType
FinancialInstrumentAttributes124 *-- "0..1" INumber1Choice : CouponAttachedNumber
FinancialInstrumentAttributes124 *-- "0..1" GenericIdentification37 : PoolNumber
FinancialInstrumentAttributes124 *-- "0..1" INumber1Choice : VersionNumber
FinancialInstrumentAttributes124 *-- "0..1" Price14 : ExercisePrice
FinancialInstrumentAttributes124 *-- "0..1" Price14 : SubscriptionPrice
FinancialInstrumentAttributes124 *-- "0..1" Price14 : ConversionPrice
FinancialInstrumentAttributes124 *-- "0..1" Price14 : TaxableIncomePerShare
FinancialInstrumentAttributes124 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumNominalQuantity
FinancialInstrumentAttributes124 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableQuantity
FinancialInstrumentAttributes124 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableMultipleQuantity
FinancialInstrumentAttributes124 *-- "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
}
%% IInterestComputationMethodFormat4Choice recursion level 1 with max 1
%% IFormOfSecurity6Choice recursion level 1 with max 1
%% IFrequency23Choice recursion level 1 with max 1
%% IFrequency23Choice recursion level 1 with max 1
%% IClassificationType32Choice recursion level 1 with max 1
%% IOptionStyle10Choice recursion level 1 with max 1
%% IOptionType6Choice 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
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : 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
  

FinancialInstrumentAttributes124 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. IInterestComputationMethodFormat4Choice - Optional 0..1
RegistrationForm Specifies the form, ie, ownership, of the security. IFormOfSecurity6Choice - Optional 0..1
PaymentFrequency Specifies the frequency of an interest payment. IFrequency23Choice - Optional 0..1
VariableRateChangeFrequency Specifies the frequency of change to the variable rate of an interest bearing instrument. IFrequency23Choice - 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. IClassificationType32Choice - Optional 0..1
OptionStyle Specifies how an option can be exercised (American, European, Bermudan). IOptionStyle10Choice - 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). IOptionType6Choice - 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. Price14 - Optional 0..1
SubscriptionPrice Fixed price at which a new securities issue is being offered to the public. Price14 - Optional 0..1
ConversionPrice Price at which a given convertible security can be converted to common stock. Price14 - 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. Price14 - 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
%% UnderlyingFinancialInstrument7 recursion level 0 with max 1
UnderlyingFinancialInstrument7 *-- "1..1" SecurityIdentification19 : Identification
UnderlyingFinancialInstrument7 *-- "0..1" FinancialInstrumentAttributes124 : Attributes
%% SecurityIdentification19 recursion level 1 with max 1
class SecurityIdentification19{
    ISIN IsoISINOct2015Identifier
    Description IsoMax140Text
}
SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification
%% FinancialInstrumentAttributes124 recursion level 1 with max 1
class FinancialInstrumentAttributes124{
    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
}
FinancialInstrumentAttributes124 *-- "0..1" IMarketIdentification3Choice : PlaceOfListing
FinancialInstrumentAttributes124 *-- "0..1" Rating1 : Rating
FinancialInstrumentAttributes124 *-- "0..1" IInterestComputationMethodFormat4Choice : DayCountBasis
FinancialInstrumentAttributes124 *-- "0..1" IFormOfSecurity6Choice : RegistrationForm
FinancialInstrumentAttributes124 *-- "0..1" IFrequency23Choice : PaymentFrequency
FinancialInstrumentAttributes124 *-- "0..1" IFrequency23Choice : VariableRateChangeFrequency
FinancialInstrumentAttributes124 *-- "0..1" IClassificationType32Choice : ClassificationType
FinancialInstrumentAttributes124 *-- "0..1" IOptionStyle10Choice : OptionStyle
FinancialInstrumentAttributes124 *-- "0..1" IOptionType6Choice : OptionType
FinancialInstrumentAttributes124 *-- "0..1" INumber1Choice : CouponAttachedNumber
FinancialInstrumentAttributes124 *-- "0..1" GenericIdentification37 : PoolNumber
FinancialInstrumentAttributes124 *-- "0..1" INumber1Choice : VersionNumber
FinancialInstrumentAttributes124 *-- "0..1" Price14 : ExercisePrice
FinancialInstrumentAttributes124 *-- "0..1" Price14 : SubscriptionPrice
FinancialInstrumentAttributes124 *-- "0..1" Price14 : ConversionPrice
FinancialInstrumentAttributes124 *-- "0..1" Price14 : TaxableIncomePerShare
FinancialInstrumentAttributes124 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumNominalQuantity
FinancialInstrumentAttributes124 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableQuantity
FinancialInstrumentAttributes124 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableMultipleQuantity
FinancialInstrumentAttributes124 *-- "0..1" IFinancialInstrumentQuantity18Choice : ContractSize
  

UnderlyingFinancialInstrument7 members

Member name Description Data Type / Multiplicity
Identification Identification of the underlying security by an ISIN. SecurityIdentification19 - Required 1..1
Attributes Underlying financial instrument attributes to which an trade confirmation is related. FinancialInstrumentAttributes124 - 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
%% FinancialInstrumentStipulations4 recursion level 0 with max 1
class FinancialInstrumentStipulations4{
    Geographics IsoMax35Text
    AmortisableIndicator IsoYesNoIndicator
    Purpose IsoMax256Text
    AlternativeMinimumTaxIndicator IsoYesNoIndicator
    AutoReinvestment IsoPercentageRate
    TransactionConditions TradeTransactionCondition2Code
    Currency ActiveCurrencyCode
    Haircut IsoPercentageRate
    InsuredIndicator IsoYesNoIndicator
    LookBack IsoNumber
    MaturityDate IsoISOYearMonth
    IssueDate IsoISOYearMonth
    IssuerIdentification IsoBICNonFIDec2014Identifier
    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
}
FinancialInstrumentStipulations4 *-- "0..1" AmountOrPercentageRange1 : YieldRange
FinancialInstrumentStipulations4 *-- "0..1" Rating1 : Rating
FinancialInstrumentStipulations4 *-- "0..1" AmountOrPercentageRange1 : CouponRange
FinancialInstrumentStipulations4 *-- "0..1" DateTimePeriod2 : CustomDate
FinancialInstrumentStipulations4 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumDenomination
FinancialInstrumentStipulations4 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumIncrement
FinancialInstrumentStipulations4 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumQuantity
FinancialInstrumentStipulations4 *-- "0..1" AmountOrPercentageRange1 : PriceRange
%% AmountOrPercentageRange1 recursion level 1 with max 1
class AmountOrPercentageRange1{
    Operation Operation1Code
}
AmountOrPercentageRange1 *-- "0..10" Term1 : Term
%% Rating1 recursion level 1 with max 1
class Rating1{
    RatingScheme IsoMax35Text
    ValueDate IsoISODateTime
    ValueIdentification IsoRatingValueIdentifier
}
%% AmountOrPercentageRange1 recursion level 1 with max 1
class AmountOrPercentageRange1{
    Operation Operation1Code
}
AmountOrPercentageRange1 *-- "0..10" Term1 : Term
%% DateTimePeriod2 recursion level 1 with max 1
class DateTimePeriod2{
    FromDateTime IsoISODateTime
    ToDateTime IsoISODateTime
}
%% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1
%% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1
%% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1
%% AmountOrPercentageRange1 recursion level 1 with max 1
class AmountOrPercentageRange1{
    Operation Operation1Code
}
AmountOrPercentageRange1 *-- "0..10" Term1 : Term
  

FinancialInstrumentStipulations4 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. AmountOrPercentageRange1 - 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. AmountOrPercentageRange1 - 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. ActiveCurrencyCode - Optional 0..1
CustomDate Indicates an instruction to override an investment’s default start and/or end date with a custom date. DateTimePeriod2 - 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. IsoBICNonFIDec2014Identifier - Optional 0..1
IssueSize Identifies the issue size range. IsoNumber - Optional 0..1
MinimumDenomination Indicates the minimum denomination of a security. IFinancialInstrumentQuantity1Choice - 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. IFinancialInstrumentQuantity1Choice - 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. IFinancialInstrumentQuantity1Choice - 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. AmountOrPercentageRange1 - 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
%% ConfirmationParties6 recursion level 0 with max 1
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails7 : Buyer
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails7 : Borrower
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails7 : Seller
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails7 : Lender
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails8 : BrokerOfCredit
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails8 : IntroducingFirm
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails8 : StepInFirm
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails8 : StepOutFirm
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails9 : ClearingFirm
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails9 : ExecutingBroker
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails8 : CMUParty
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails8 : CMUCounterparty
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails8 : AffirmingParty
ConfirmationParties6 *-- "0..1" ConfirmationPartyDetails10 : TradeBeneficiaryParty
%% ConfirmationPartyDetails7 recursion level 1 with max 1
class ConfirmationPartyDetails7{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails7 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails7 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails7 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails7 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity
ConfirmationPartyDetails7 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity
%% ConfirmationPartyDetails7 recursion level 1 with max 1
class ConfirmationPartyDetails7{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails7 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails7 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails7 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails7 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity
ConfirmationPartyDetails7 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity
%% ConfirmationPartyDetails7 recursion level 1 with max 1
class ConfirmationPartyDetails7{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails7 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails7 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails7 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails7 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity
ConfirmationPartyDetails7 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity
%% ConfirmationPartyDetails7 recursion level 1 with max 1
class ConfirmationPartyDetails7{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails7 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails7 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails7 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails7 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity
ConfirmationPartyDetails7 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity
%% ConfirmationPartyDetails8 recursion level 1 with max 1
class ConfirmationPartyDetails8{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails8 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails8 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails8 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails8 recursion level 1 with max 1
class ConfirmationPartyDetails8{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails8 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails8 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails8 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails8 recursion level 1 with max 1
class ConfirmationPartyDetails8{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails8 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails8 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails8 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails8 recursion level 1 with max 1
class ConfirmationPartyDetails8{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails8 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails8 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails8 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails9 recursion level 1 with max 1
class ConfirmationPartyDetails9{
    ProcessingIdentification IsoMax35Text
    InvestorProtectionAssociationMembership IsoYesNoIndicator
}
ConfirmationPartyDetails9 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails9 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails9 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails9 recursion level 1 with max 1
class ConfirmationPartyDetails9{
    ProcessingIdentification IsoMax35Text
    InvestorProtectionAssociationMembership IsoYesNoIndicator
}
ConfirmationPartyDetails9 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails9 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails9 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails8 recursion level 1 with max 1
class ConfirmationPartyDetails8{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails8 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails8 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails8 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails8 recursion level 1 with max 1
class ConfirmationPartyDetails8{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails8 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails8 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails8 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails8 recursion level 1 with max 1
class ConfirmationPartyDetails8{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails8 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails8 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails8 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails10 recursion level 1 with max 1
class ConfirmationPartyDetails10{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails10 *-- "1..1" IPartyIdentification117Choice : Identification
ConfirmationPartyDetails10 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount
ConfirmationPartyDetails10 *-- "0..1" IAccountIdentification55Choice : CashDetails
ConfirmationPartyDetails10 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails10 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails10 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity
  

ConfirmationParties6 members

Member name Description Data Type / Multiplicity
Buyer Party that buys goods or services, or a financial instrument. ConfirmationPartyDetails7 - 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. ConfirmationPartyDetails7 - Optional 0..1
Seller Party that sells goods or services, or a financial instrument. ConfirmationPartyDetails7 - Optional 0..1
Lender A private, public or institutional entity which makes funds available to others to borrow. ConfirmationPartyDetails7 - Optional 0..1
BrokerOfCredit Brokerage firm which is the commissioned broker in a multi-broker trade. ConfirmationPartyDetails8 - Optional 0..1
IntroducingFirm Broker or other intermediary with the closest association with the investor. ConfirmationPartyDetails8 - Optional 0..1
StepInFirm Brokerage firm assigned to take credit on the trade from the step-out brokerage firm. ConfirmationPartyDetails8 - Optional 0..1
StepOutFirm Brokerage firm that executes an order, but gives other firms credit and some of the commission for the trade. ConfirmationPartyDetails8 - Optional 0..1
ClearingFirm Party, also know as take up broker, that settles security transactions from another broker for a fee. ConfirmationPartyDetails9 - 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. ConfirmationPartyDetails9 - 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). ConfirmationPartyDetails8 - 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). ConfirmationPartyDetails8 - Optional 0..1
AffirmingParty Party (buyer or seller) that positively affirms the details of a previously agreed security trade confirmation. ConfirmationPartyDetails8 - Optional 0..1
TradeBeneficiaryParty Party involved in a legal proceeding, agreement or other transaction. ConfirmationPartyDetails10 - 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
%% SettlementDetails213 recursion level 0 with max 1
class SettlementDetails213{
    HoldIndicator IsoYesNoIndicator
    PartialSettlementIndicator IsoYesNoIndicator
    StampDutyIndicator IsoYesNoIndicator
    ReturnLeg IsoYesNoIndicator
    EligibleForCollateral IsoYesNoIndicator
}
SettlementDetails213 *-- "1..1" ISettlementTransactionType3Choice : SettlementTransactionType
SettlementDetails213 *-- "0..1" IPriorityNumeric4Choice : Priority
SettlementDetails213 *-- "0..1" ISettlementInstructionGeneration2Choice : SettlementInstructionGeneration
SettlementDetails213 *-- "0..0" ISettlementTransactionCondition31Choice : SettlementTransactionCondition
SettlementDetails213 *-- "0..1" IBeneficialOwnership4Choice : BeneficialOwnership
SettlementDetails213 *-- "0..1" IBlockTrade4Choice : BlockTrade
SettlementDetails213 *-- "0..1" ICentralCounterPartyEligibility4Choice : CCPEligibility
SettlementDetails213 *-- "0..1" ICashSettlementSystem4Choice : CashClearingSystem
SettlementDetails213 *-- "0..1" IExposureType18Choice : ExposureType
SettlementDetails213 *-- "0..1" IFXStandingInstruction4Choice : FXStandingInstruction
SettlementDetails213 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell
SettlementDetails213 *-- "0..1" IMarketClientSide6Choice : MarketClientSide
SettlementDetails213 *-- "0..1" INettingEligibility4Choice : NettingEligibility
SettlementDetails213 *-- "0..1" IRegistration9Choice : Registration
SettlementDetails213 *-- "0..1" IRepurchaseType22Choice : RepurchaseType
SettlementDetails213 *-- "0..1" IRestriction5Choice : LegalRestrictions
SettlementDetails213 *-- "0..1" ISecuritiesRTGS4Choice : SecuritiesRTGS
SettlementDetails213 *-- "0..1" ISettlingCapacity9Choice : SettlingCapacity
SettlementDetails213 *-- "0..1" ISettlementSystemMethod4Choice : SettlementSystemMethod
SettlementDetails213 *-- "0..1" ITaxCapacityParty4Choice : TaxCapacity
SettlementDetails213 *-- "0..1" GenericIdentification30 : StampDutyTaxBasis
SettlementDetails213 *-- "0..1" ITracking4Choice : Tracking
SettlementDetails213 *-- "0..1" IAutomaticBorrowing6Choice : AutomaticBorrowing
SettlementDetails213 *-- "0..1" ILetterOfGuarantee4Choice : LetterOfGuarantee
SettlementDetails213 *-- "0..1" IModificationCancellationAllowed4Choice : ModificationCancellationAllowed
%% ISettlementTransactionType3Choice recursion level 1 with max 1
%% IPriorityNumeric4Choice recursion level 1 with max 1
%% ISettlementInstructionGeneration2Choice recursion level 1 with max 1
%% ISettlementTransactionCondition31Choice recursion level 1 with max 1
%% IBeneficialOwnership4Choice recursion level 1 with max 1
%% IBlockTrade4Choice recursion level 1 with max 1
%% ICentralCounterPartyEligibility4Choice recursion level 1 with max 1
%% ICashSettlementSystem4Choice recursion level 1 with max 1
%% IExposureType18Choice recursion level 1 with max 1
%% IFXStandingInstruction4Choice recursion level 1 with max 1
%% ICurrencyToBuyOrSell1Choice recursion level 1 with max 1
%% IMarketClientSide6Choice recursion level 1 with max 1
%% INettingEligibility4Choice recursion level 1 with max 1
%% IRegistration9Choice recursion level 1 with max 1
%% IRepurchaseType22Choice recursion level 1 with max 1
%% IRestriction5Choice recursion level 1 with max 1
%% ISecuritiesRTGS4Choice recursion level 1 with max 1
%% ISettlingCapacity9Choice recursion level 1 with max 1
%% ISettlementSystemMethod4Choice recursion level 1 with max 1
%% ITaxCapacityParty4Choice recursion level 1 with max 1
%% GenericIdentification30 recursion level 1 with max 1
class GenericIdentification30{
    Identification IsoExact4AlphaNumericText
    Issuer IsoMax35Text
    SchemeName IsoMax35Text
}
%% ITracking4Choice recursion level 1 with max 1
%% IAutomaticBorrowing6Choice recursion level 1 with max 1
%% ILetterOfGuarantee4Choice recursion level 1 with max 1
%% IModificationCancellationAllowed4Choice recursion level 1 with max 1
  

SettlementDetails213 members

Member name Description Data Type / Multiplicity
SettlementTransactionType Indicates whether the trade is to be settled as principal or netted off against another trade. ISettlementTransactionType3Choice - 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. IPriorityNumeric4Choice - Optional 0..1
SettlementInstructionGeneration Specifies if the Electronic Trade Confirmation (ETC) service provider is to generate or not a settlement instruction. ISettlementInstructionGeneration2Choice - Optional 0..1
SettlementTransactionCondition Conditions under which the order/trade is to be settled. ISettlementTransactionCondition31Choice - Unknown 0..0
PartialSettlementIndicator Specifies whether partial settlement is allowed. IsoYesNoIndicator - Optional 0..1
BeneficialOwnership Specifies whether there is change of beneficial ownership. IBeneficialOwnership4Choice - Optional 0..1
BlockTrade Specifies whether the settlement instruction is a block parent or child. IBlockTrade4Choice - Optional 0..1
CCPEligibility Specifies whether the settlement transaction is CCP (Central Counterparty) eligible. ICentralCounterPartyEligibility4Choice - Optional 0..1
CashClearingSystem Specifies the category of cash clearing system, eg, cheque clearing. ICashSettlementSystem4Choice - Optional 0..1
ExposureType Specifies the underlying business area/type of trade causing the collateral movement. IExposureType18Choice - Optional 0..1
FXStandingInstruction Specifies whether the forex standing instruction in place should apply. IFXStandingInstruction4Choice - 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. IMarketClientSide6Choice - Optional 0..1
NettingEligibility Specifies whether the settlement transaction is eligible for netting. INettingEligibility4Choice - Optional 0..1
Registration Specifies whether registration should occur upon receipt. IRegistration9Choice - Optional 0..1
RepurchaseType Specifies whether the rate is fixed, variable or a forfeit. IRepurchaseType22Choice - Optional 0..1
LegalRestrictions Regulatory restrictions applicable to a security. IRestriction5Choice - Optional 0..1
SecuritiesRTGS Specifies whether the settlement transaction is to be settled through an RTGS or a non RTGS system. ISecuritiesRTGS4Choice - Optional 0..1
SettlingCapacity Role of a party in the settlement of the transaction. ISettlingCapacity9Choice - Optional 0..1
SettlementSystemMethod Specifies whether the settlement instruction is to be settled through the default or the alternate settlement system. ISettlementSystemMethod4Choice - Optional 0..1
TaxCapacity Tax role capacity of the instructing party. ITaxCapacityParty4Choice - 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. GenericIdentification30 - Optional 0..1
Tracking Specifies whether the loan and/or collateral is tracked. ITracking4Choice - Optional 0..1
AutomaticBorrowing Condition for automatic borrowing. IAutomaticBorrowing6Choice - Optional 0..1
LetterOfGuarantee Specifies whether physical settlement may be executed using a letter of guarantee or if the physical certificates should be used. ILetterOfGuarantee4Choice - 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. IModificationCancellationAllowed4Choice - 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
%% StandingSettlementInstruction13 recursion level 0 with max 1
StandingSettlementInstruction13 *-- "1..1" ISettlementStandingInstructionDatabase4Choice : SettlementStandingInstructionDatabase
StandingSettlementInstruction13 *-- "0..1" IPartyIdentification117Choice : Vendor
StandingSettlementInstruction13 *-- "0..1" SettlementParties59 : OtherDeliveringSettlementParties
StandingSettlementInstruction13 *-- "0..1" SettlementParties59 : OtherReceivingSettlementParties
%% ISettlementStandingInstructionDatabase4Choice recursion level 1 with max 1
%% IPartyIdentification117Choice recursion level 1 with max 1
%% SettlementParties59 recursion level 1 with max 1
SettlementParties59 *-- "0..1" PartyIdentification118 : Depository
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party1
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party2
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party3
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party4
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party5
%% SettlementParties59 recursion level 1 with max 1
SettlementParties59 *-- "0..1" PartyIdentification118 : Depository
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party1
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party2
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party3
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party4
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party5
  

StandingSettlementInstruction13 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. ISettlementStandingInstructionDatabase4Choice - Required 1..1
Vendor Vendor of the Settlement Standing Instruction database requested to be consulted. IPartyIdentification117Choice - 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). SettlementParties59 - 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). SettlementParties59 - Optional 0..1

DeliveringSettlementParties building block

Specifies 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
%% SettlementParties59 recursion level 0 with max 1
SettlementParties59 *-- "0..1" PartyIdentification118 : Depository
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party1
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party2
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party3
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party4
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party5
%% PartyIdentification118 recursion level 1 with max 1
PartyIdentification118 *-- "1..1" IPartyIdentification116Choice : Identification
PartyIdentification118 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentification118 *-- "0..1" PartyTextInformation1 : AdditionalInformation
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
  

SettlementParties59 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. PartyIdentification118 - Optional 0..1
Party1 Party that, in a settlement chain interacts with the depository. PartyIdentificationAndAccount155 - Optional 0..1
Party2 Party that, in a settlement chain interacts with the party 1. PartyIdentificationAndAccount155 - Optional 0..1
Party3 Party that, in a settlement chain interacts with the party 2. PartyIdentificationAndAccount155 - Optional 0..1
Party4 Party that, in a settlement chain interacts with the party 3. PartyIdentificationAndAccount155 - Optional 0..1
Party5 Party that, in a settlement chain interacts with the party 4. PartyIdentificationAndAccount155 - Optional 0..1

ReceivingSettlementParties building block

Specifies 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
%% SettlementParties59 recursion level 0 with max 1
SettlementParties59 *-- "0..1" PartyIdentification118 : Depository
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party1
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party2
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party3
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party4
SettlementParties59 *-- "0..1" PartyIdentificationAndAccount155 : Party5
%% PartyIdentification118 recursion level 1 with max 1
PartyIdentification118 *-- "1..1" IPartyIdentification116Choice : Identification
PartyIdentification118 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentification118 *-- "0..1" PartyTextInformation1 : AdditionalInformation
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount155 recursion level 1 with max 1
class PartyIdentificationAndAccount155{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount155 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount155 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
  

SettlementParties59 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. PartyIdentification118 - Optional 0..1
Party1 Party that, in a settlement chain interacts with the depository. PartyIdentificationAndAccount155 - Optional 0..1
Party2 Party that, in a settlement chain interacts with the party 1. PartyIdentificationAndAccount155 - Optional 0..1
Party3 Party that, in a settlement chain interacts with the party 2. PartyIdentificationAndAccount155 - Optional 0..1
Party4 Party that, in a settlement chain interacts with the party 3. PartyIdentificationAndAccount155 - Optional 0..1
Party5 Party that, in a settlement chain interacts with the party 4. PartyIdentificationAndAccount155 - 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
%% CashParties33 recursion level 0 with max 1
CashParties33 *-- "0..1" PartyIdentificationAndAccount148 : Debtor
CashParties33 *-- "0..1" PartyIdentificationAndAccount148 : DebtorAgent
CashParties33 *-- "0..1" PartyIdentificationAndAccount148 : Creditor
CashParties33 *-- "0..1" PartyIdentificationAndAccount148 : CreditorAgent
CashParties33 *-- "0..1" PartyIdentificationAndAccount148 : Intermediary
%% PartyIdentificationAndAccount148 recursion level 1 with max 1
PartyIdentificationAndAccount148 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount148 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount148 *-- "0..1" PartyTextInformation2 : AdditionalInformation
%% PartyIdentificationAndAccount148 recursion level 1 with max 1
PartyIdentificationAndAccount148 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount148 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount148 *-- "0..1" PartyTextInformation2 : AdditionalInformation
%% PartyIdentificationAndAccount148 recursion level 1 with max 1
PartyIdentificationAndAccount148 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount148 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount148 *-- "0..1" PartyTextInformation2 : AdditionalInformation
%% PartyIdentificationAndAccount148 recursion level 1 with max 1
PartyIdentificationAndAccount148 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount148 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount148 *-- "0..1" PartyTextInformation2 : AdditionalInformation
%% PartyIdentificationAndAccount148 recursion level 1 with max 1
PartyIdentificationAndAccount148 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount148 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount148 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount148 *-- "0..1" PartyTextInformation2 : AdditionalInformation
  

CashParties33 members

Member name Description Data Type / Multiplicity
Debtor Party that owes an amount of money to the (ultimate) creditor. PartyIdentificationAndAccount148 - Optional 0..1
DebtorAgent Financial institution servicing an account for the debtor. PartyIdentificationAndAccount148 - Optional 0..1
Creditor Party to which an amount of money is due. PartyIdentificationAndAccount148 - Optional 0..1
CreditorAgent Financial institution servicing an account for the creditor. PartyIdentificationAndAccount148 - Optional 0..1
Intermediary Financial institution through which the transaction must pass to reach the account with institution. PartyIdentificationAndAccount148 - Optional 0..1

ClearingDetails building block

Provides clearing member information. Provides the clearing details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Clearing5 recursion level 0 with max 1
Clearing5 *-- "1..0" PartyIdentificationAndAccount149 : ClearingMember
Clearing5 *-- "0..1" IPartyIdentification127Choice : ClearingSegment
%% PartyIdentificationAndAccount149 recursion level 1 with max 1
class PartyIdentificationAndAccount149{
    Side ClearingSide1Code
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount149 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount149 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentificationAndAccount149 *-- "0..1" SecuritiesAccount20 : ClearingAccount
PartyIdentificationAndAccount149 *-- "0..1" PartyTextInformation1 : AdditionalInformation
%% IPartyIdentification127Choice recursion level 1 with max 1
  

Clearing5 members

Member name Description Data Type / Multiplicity
ClearingMember Provides details about the clearing member identification and account. PartyIdentificationAndAccount149 - 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. IPartyIdentification127Choice - 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
%% OtherPrices5 recursion level 0 with max 1
OtherPrices5 *-- "0..1" Price14 : Maximum
OtherPrices5 *-- "0..1" Price14 : Transaction
OtherPrices5 *-- "0..1" Price14 : MarketBrokerCommission
OtherPrices5 *-- "0..1" Price14 : MarkedUp
OtherPrices5 *-- "0..1" Price14 : MarkedDown
OtherPrices5 *-- "0..1" Price14 : NetDisclosed
OtherPrices5 *-- "0..1" Price14 : NetUndisclosed
OtherPrices5 *-- "0..1" Price14 : NotionalGross
OtherPrices5 *-- "0..1" Price14 : BenchmarkWeightedAverage
OtherPrices5 *-- "0..1" Price14 : AllMarketsWeightedAverage
OtherPrices5 *-- "0..1" Price14 : Benchmark
OtherPrices5 *-- "0..1" Price14 : OtherPrice
OtherPrices5 *-- "0..1" Price14 : IndexPrice
OtherPrices5 *-- "0..1" Price14 : ReportedPrice
OtherPrices5 *-- "0..1" PriceInformation28 : ReferencePrice
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% PriceInformation28 recursion level 1 with max 1
PriceInformation28 *-- "1..1" Price14 : Value
PriceInformation28 *-- "0..1" IDateAndDateTime1Choice : QuotationDate
PriceInformation28 *-- "0..1" IDateTimePeriod1Choice : PriceCalculationPeriod
PriceInformation28 *-- "0..1" MarketIdentification93 : SourceOfPrice
  

OtherPrices5 members

Member name Description Data Type / Multiplicity
Maximum Specifies the maximum price. Price14 - Optional 0..1
Transaction Specifies the transaction price. Price14 - Optional 0..1
MarketBrokerCommission Market price including or excluding the broker’s commission. Price14 - 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. Price14 - Optional 0..1
MarkedDown In case of an order to sell, the price the broker receives in the market minus the broker’s commission. Price14 - Optional 0..1
NetDisclosed Price is net to the disclosed client. Price14 - Optional 0..1
NetUndisclosed Price is net to the client undisclosed (used in the UK market). Price14 - Optional 0..1
NotionalGross Price is notional gross (used in the UK market). Price14 - Optional 0..1
BenchmarkWeightedAverage Price is weighted average price of the benchmark prices at the time of each partial fill. Price14 - Optional 0..1
AllMarketsWeightedAverage Price is weighted average price of all market executions during the completion of the order. Price14 - Optional 0..1
Benchmark Price is a benchmark price relating to the current partial fills (eg, last trade tick from market). Price14 - Optional 0..1
OtherPrice Type of price that is not defined explicitly. Price14 - Optional 0..1
IndexPrice Price of securities representing a particular market or a portion of it. Price14 - Optional 0..1
ReportedPrice Price used to differentiate from price on a confirmation of a marked up or marked down principal trade. Price14 - Optional 0..1
ReferencePrice Price of reference of the concerned financial instrument. PriceInformation28 - 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
%% OtherParties32 recursion level 0 with max 1
OtherParties32 *-- "0..0" PartyIdentificationAndAccount150 : Investor
OtherParties32 *-- "0..1" PartyIdentificationAndAccount152 : StockExchange
OtherParties32 *-- "0..1" PartyIdentificationAndAccount152 : TradeRegulator
OtherParties32 *-- "0..1" PartyIdentificationAndAccount154 : TripartyAgent
OtherParties32 *-- "0..1" PartyIdentificationAndAccount151 : QualifiedForeignIntermediary
%% PartyIdentificationAndAccount150 recursion level 1 with max 1
class PartyIdentificationAndAccount150{
    SafekeepingAccount IsoMax35Text
    ProcessingIdentification IsoMax35Text
    CountryOfResidence CountryCode
}
PartyIdentificationAndAccount150 *-- "0..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount150 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount150 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount150 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount152 recursion level 1 with max 1
class PartyIdentificationAndAccount152{
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount152 *-- "1..1" IPartyIdentification245Choice : Identification
PartyIdentificationAndAccount152 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount152 *-- "0..1" AlternatePartyIdentification10 : AlternateIdentification
%% PartyIdentificationAndAccount152 recursion level 1 with max 1
class PartyIdentificationAndAccount152{
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount152 *-- "1..1" IPartyIdentification245Choice : Identification
PartyIdentificationAndAccount152 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount152 *-- "0..1" AlternatePartyIdentification10 : AlternateIdentification
%% PartyIdentificationAndAccount154 recursion level 1 with max 1
class PartyIdentificationAndAccount154{
    SafekeepingAccount IsoMax35Text
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount154 *-- "1..1" IPartyIdentification245Choice : Identification
PartyIdentificationAndAccount154 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount154 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount154 *-- "0..1" AlternatePartyIdentification10 : AlternateIdentification
%% PartyIdentificationAndAccount151 recursion level 1 with max 1
class PartyIdentificationAndAccount151{
    SafekeepingAccount IsoMax35Text
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount151 *-- "1..1" IPartyIdentification117Choice : Identification
PartyIdentificationAndAccount151 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentificationAndAccount151 *-- "0..1" PartyTextInformation1 : AdditionalInformation
  

OtherParties32 members

Member name Description Data Type / Multiplicity
Investor Party that identifies the underlying investor. PartyIdentificationAndAccount150 - Unknown 0..0
StockExchange Party that identifies the stock exchange. PartyIdentificationAndAccount152 - Optional 0..1
TradeRegulator Party that identifies the trade regulator. PartyIdentificationAndAccount152 - Optional 0..1
TripartyAgent Party that handles tri-party transactions. PartyIdentificationAndAccount154 - Optional 0..1
QualifiedForeignIntermediary Foreign Financial Institution which has been authorised by local authorities to act as account management institution in the country. PartyIdentificationAndAccount151 - Optional 0..1

TwoLegTransactionDetails building block

Specifies 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
%% TwoLegTransactionDetails5 recursion level 0 with max 1
class TwoLegTransactionDetails5{
    OpeningLegIdentification IsoMax35Text
    ClosingLegIdentification IsoMax35Text
    SecondLegNarrative IsoMax140Text
}
TwoLegTransactionDetails5 *-- "0..1" ITradeDate8Choice : TradeDate
TwoLegTransactionDetails5 *-- "0..1" AmountAndDirection29 : GrossTradeAmount
TwoLegTransactionDetails5 *-- "0..0" OtherAmounts16 : OtherAmounts
TwoLegTransactionDetails5 *-- "0..1" Price14 : EndPrice
TwoLegTransactionDetails5 *-- "0..1" IClosingDate4Choice : ClosingDate
TwoLegTransactionDetails5 *-- "0..1" AmountAndDirection5 : ClosingSettlementAmount
TwoLegTransactionDetails5 *-- "0..1" ITradeDate7Choice : ProcessingDate
TwoLegTransactionDetails5 *-- "0..1" ITwoLegTransactionType4Choice : TwoLegTransactionType
%% ITradeDate8Choice 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
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% IClosingDate4Choice recursion level 1 with max 1
%% AmountAndDirection5 recursion level 1 with max 1
class AmountAndDirection5{
    Amount IsoActiveCurrencyAndAmount
    CreditDebit CreditDebitCode
}
%% ITradeDate7Choice recursion level 1 with max 1
%% ITwoLegTransactionType4Choice recursion level 1 with max 1
  

TwoLegTransactionDetails5 members

Member name Description Data Type / Multiplicity
TradeDate Specifies the date/time on which the trade was executed. ITradeDate8Choice - 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. Price14 - Optional 0..1
ClosingDate Closing date/time or maturity date/time of the transaction. IClosingDate4Choice - 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. ITradeDate7Choice - Optional 0..1
TwoLegTransactionType Specifies the type of the second leg transaction. ITwoLegTransactionType4Choice - 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 SecuritiesTradeConfirmationV04 implementation follows a specific implementaiton pattern. First of all, SecuritiesTradeConfirmationV04 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, SecuritiesTradeConfirmationV04Document implements IOuterDocument. Because SecuritiesTradeConfirmationV04 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type SecuritiesTradeConfirmationV04.

classDiagram
    class IOuterRecord
    SecuritiesTradeConfirmationV04 --|> IOuterRecord : Implements
    SecuritiesTradeConfirmationV04Document --|> IOuterDocument~SecuritiesTradeConfirmationV04~ : Implements
    class IOuterDocument~SecuritiesTradeConfirmationV04~ {
        SecuritiesTradeConfirmationV04 Message
     }
  

Document wrapper for serialization

The only real purpose SecuritiesTradeConfirmationV04Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:setr.027.001.04’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using SecuritiesTradeConfirmationV04.ToDocument() method. The returned SecuritiesTradeConfirmationV04Document value will serialize correctly according to ISO 20022 standards.

classDiagram
    SecuritiesTradeConfirmationV04Document *-- SecuritiesTradeConfirmationV04 : 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.04">
    <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="_j1-bIY-XEeaVK-2bgpxeYw"
  previousVersion="_L2hN0S9UEeOdVfle5cojCg"
  name="SecuritiesTradeConfirmationV04"
  definition="SCOPE&#xD;&#xA;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.&#xD;&#xA;&#xD;&#xA;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.&#xD;&#xA;&#xD;&#xA;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.&#xD;&#xA;The executing party is typically the broker/dealer or an intermediary system/vendor communicating on behalf of the broker/dealer.&#xD;&#xA;The custodian or the affirming party is typically the custodian, trustee, financial institution, intermediary system/vendor communicating on behalf of them, or their agent.&#xD;&#xA;&#xD;&#xA;USAGE&#xD;&#xA;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.&#xD;&#xA;Respondent: instructing party, a custodian or an affirming party responds with SecuritiesTradeConfirmationResponse (accept or reject) message."
  registrationStatus="Registered"
  messageSet="_oOGmoHkPEeOUfbICsvs_4A"
  xmlTag="SctiesTradConf"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_j1-bI4-XEeaVK-2bgpxeYw"
    previousVersion="_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="_j1-bJY-XEeaVK-2bgpxeYw"
    previousVersion="_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="_j1-bJ4-XEeaVK-2bgpxeYw"
    previousVersion="_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="_cwOuIZBgEeakHoV5BVecAQ" />
  <messageBuildingBlock
    xmi:id="_j1-bKY-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN2S9UEeOdVfle5cojCg"
    name="TradeDetails"
    definition="Details of the trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="TradDtls"
    complexType="_Flky8QeGEe2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_j1-bK4-XEeaVK-2bgpxeYw"
    previousVersion="_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="_ho6XQYlXEeWPSZi0kAOXhg" />
  <messageBuildingBlock
    xmi:id="_j1-bLY-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN3S9UEeOdVfle5cojCg"
    name="FinancialInstrumentAttributes"
    definition="Elements characterising a financial instrument."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="FinInstrmAttrbts"
    complexType="_gIw9wQeGEe2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_j1-bL4-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN3y9UEeOdVfle5cojCg"
    name="UnderlyingFinancialInstrument"
    definition="Underlying financial instrument to which an trade confirmation is related."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="UndrlygFinInstrm"
    complexType="_2C-80QhLEe2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_j1-bMY-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN4S9UEeOdVfle5cojCg"
    name="Stipulations"
    definition="Additional restrictions on the financial instrument, related to the stipulation."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="Stiptns"
    complexType="_5DuEYQgTEe2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_j1-bM4-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN4y9UEeOdVfle5cojCg"
    name="ConfirmationParties"
    definition="Parties involved in the confirmation of the details of a trade."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="ConfPties"
    complexType="_hv4QUY-iEeaEa8S_GI1QNA" />
  <messageBuildingBlock
    xmi:id="_j1-bNY-XEeaVK-2bgpxeYw"
    previousVersion="_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="_m0OUkQaTEe2-DuDrUXkg2w" />
  <messageBuildingBlock
    xmi:id="_j1-bN4-XEeaVK-2bgpxeYw"
    previousVersion="_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="_sJHCEY-vEeaEa8S_GI1QNA" />
  <messageBuildingBlock
    xmi:id="_j1-bOY-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN6S9UEeOdVfle5cojCg"
    name="DeliveringSettlementParties"
    definition="Specifies the chain of delivering settlement parties."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="DlvrgSttlmPties"
    complexType="_1D0EgY-1Eeaoj_JbcpWKgg" />
  <messageBuildingBlock
    xmi:id="_j1-bO4-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN6y9UEeOdVfle5cojCg"
    name="ReceivingSettlementParties"
    definition="Specifies the chain of receiving settlement parties."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="RcvgSttlmPties"
    complexType="_1D0EgY-1Eeaoj_JbcpWKgg" />
  <messageBuildingBlock
    xmi:id="_j1-bPY-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN7S9UEeOdVfle5cojCg"
    name="CashParties"
    definition="Cash parties involved in the specific transaction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CshPties"
    complexType="_EoZh0Y-4Eeaoj_JbcpWKgg" />
  <messageBuildingBlock
    xmi:id="_j1-bP4-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN7y9UEeOdVfle5cojCg"
    name="ClearingDetails"
    definition="Provides clearing member information."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="ClrDtls"
    complexType="_j1HYEZBeEeakHoV5BVecAQ" />
  <messageBuildingBlock
    xmi:id="_j1-bQY-XEeaVK-2bgpxeYw"
    previousVersion="_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="_j1-bQ4-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN8y9UEeOdVfle5cojCg"
    name="OtherAmounts"
    definition="Other amounts than the settlement amount."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="OthrAmts"
    complexType="_AkJEUNokEeC60axPepSq7g_-185304496" />
  <messageBuildingBlock
    xmi:id="_j1-bRY-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN9S9UEeOdVfle5cojCg"
    name="OtherPrices"
    definition="Other prices than the deal price."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="OthrPrics"
    complexType="_vSVaYQeFEe2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_j1-bR4-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN9y9UEeOdVfle5cojCg"
    name="OtherBusinessParties"
    definition="Other business parties relevant to the transaction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="OthrBizPties"
    complexType="_IYTBIZBfEeakHoV5BVecAQ" />
  <messageBuildingBlock
    xmi:id="_j1-bSY-XEeaVK-2bgpxeYw"
    previousVersion="_L2hN-S9UEeOdVfle5cojCg"
    name="TwoLegTransactionDetails"
    definition="Specifies a transaction that the trading parties are agreeing to repurchase, sell back or return the same or similar securities at a later time. &#xD;&#xA;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. &#xD;&#xA;&#xD;&#xA;"
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="TwoLegTxDtls"
    complexType="_x7vQEQhKEe2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_j1-bS4-XEeaVK-2bgpxeYw"
    previousVersion="_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="_j1-bTY-XEeaVK-2bgpxeYw"
    previousVersion="_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="04" />
</messageDefinition>

ISO Building Blocks

The following items are used as building blocks to construct this message.