ForeignExchangeTradeInstructionAmendmentV05

fxtr.015.001.05

Scope The ForeignExchangeTradeInstructionAmendment message is sent by a participant to a central settlement system to notify the amendment of the foreign exchange trade previously confirmed by the sender. Usage The ForeignExchangeTradeInstructionAmendment message is sent from a participant to a central settlement system to advise of the update of a previously sent notification. The “Related Reference” must be used to link it to the previous notification.

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
%% ForeignExchangeTradeInstructionAmendmentV05 recursion level 0 with max 0
ForeignExchangeTradeInstructionAmendmentV05 *-- "1..1" TradeAgreement15 : TradeInformation
ForeignExchangeTradeInstructionAmendmentV05 *-- "1..1" TradePartyIdentification8 : TradingSideIdentification
ForeignExchangeTradeInstructionAmendmentV05 *-- "1..1" TradePartyIdentification8 : CounterpartySideIdentification
ForeignExchangeTradeInstructionAmendmentV05 *-- "1..1" AmountsAndValueDate6 : TradeAmounts
ForeignExchangeTradeInstructionAmendmentV05 *-- "1..1" AgreedRate3 : AgreedRate
ForeignExchangeTradeInstructionAmendmentV05 *-- "0..1" NonDeliverableForwardConditions1 : NonDeliverableForwardConditions
ForeignExchangeTradeInstructionAmendmentV05 *-- "0..1" SettlementParties120 : TradingSideSettlementInstructions
ForeignExchangeTradeInstructionAmendmentV05 *-- "0..1" SettlementParties120 : CounterpartySideSettlementInstructions
ForeignExchangeTradeInstructionAmendmentV05 *-- "0..1" GeneralInformation8 : OptionalGeneralInformation
ForeignExchangeTradeInstructionAmendmentV05 *-- "0..1" RegulatoryReporting7 : RegulatoryReporting
ForeignExchangeTradeInstructionAmendmentV05 *-- "0..1" SupplementaryData1 : SupplementaryData
  

Now, we will zero-in one-by-one on each of these building blocks.

TradeInformation building block

General information related to the trade. Date and identification of a trade together with references to previous events in its life. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% TradeAgreement15 recursion level 0 with max 1
class TradeAgreement15{
    TradeDate IsoISODate
    OriginatorReference IsoMax35Text
    CommonReference IsoMax35Text
    AmendOrCancelReason IsoMax35Text
    OperationType IsoMax4Text
    OperationScope IsoMax4Text
    ProductType IsoMax35Text
    SettlementSessionIdentifier IsoExact4AlphaNumericText
    PaymentVersusPaymentIndicator IsoYesNoIndicator
}
TradeAgreement15 *-- "1..1" IMatchingSystemReference1Choice : MatchingSystemReference
%% IMatchingSystemReference1Choice recursion level 1 with max 1
  

TradeAgreement15 members

Member name Description Data Type / Multiplicity
TradeDate Date on which the trading parties agreed to amend or cancel the trade. IsoISODate - Required 1..1
OriginatorReference Reference of the present instruction assigned by the party issuing the message. This reference must be unique amongst all messages of same type sent by the same party. IsoMax35Text - Required 1..1
MatchingSystemReference Identification of a matching system reference by a choice between a matching system unique identification or the related reference. IMatchingSystemReference1Choice - Required 1..1
CommonReference Reference common to both parties of the trade. IsoMax35Text - Optional 0..1
AmendOrCancelReason Describes the reason for the cancellation or the amendment. IsoMax35Text - Optional 0..1
OperationType Specifies the type of underlying transaction, for example cancellation (CANC). IsoMax4Text - Optional 0..1
OperationScope Specifies the business role between the submitter and the trade party, for example Agent (AGNT). IsoMax4Text - Optional 0..1
ProductType Specifies the product for which the status of the confirmation is reported. IsoMax35Text - Optional 0..1
SettlementSessionIdentifier To indicate the requested CLS settlement session that the related trade is part of. IsoExact4AlphaNumericText - Optional 0..1
PaymentVersusPaymentIndicator Specifies if the FX transaction is PVP settlement. Payment versus payment (PvP) settlement arrangement allows for two currencies in a foreign exchange (FX) contract to exchange simultaneously on a central settlement platform to eliminate the settlement risk. To apply PvP, the two parties in the FX contract need to have a pre-agreement with the central settlement platform, for example, USD/MYR FX deals require both parties to have an agreement to settle via HK Interbank Clearing Ltd settlement platform. IsoYesNoIndicator - Optional 0..1

TradingSideIdentification building block

Party(ies) on the trading side of the trade. Identification of the trade party. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% TradePartyIdentification8 recursion level 0 with max 1
TradePartyIdentification8 *-- "1..1" IPartyIdentification242Choice : SubmittingParty
TradePartyIdentification8 *-- "0..1" IPartyIdentification242Choice : TradeParty
TradePartyIdentification8 *-- "0..0" FundIdentification5 : FundIdentification
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% FundIdentification5 recursion level 1 with max 1
class FundIdentification5{
    AccountIdentificationWithCustodian IsoMax35Text
}
FundIdentification5 *-- "1..1" PartyIdentification60 : FundIdentification
FundIdentification5 *-- "0..1" IPartyIdentification242Choice : CustodianIdentification
  

TradePartyIdentification8 members

Member name Description Data Type / Multiplicity
SubmittingParty Party that submits the foreign exchange trade to the matching system or to the settlement system or to the counterparty. IPartyIdentification242Choice - Required 1..1
TradeParty Party that originated the foreign exchange trade. This party may be the same as the submitting party. IPartyIdentification242Choice - Optional 0..1
FundIdentification Identifies the fund that is one of the parties in the foreign exchange trade. FundIdentification5 - Unknown 0..0

CounterpartySideIdentification building block

Party(ies) on the counterparty side of the trade. Identification of the trade party. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% TradePartyIdentification8 recursion level 0 with max 1
TradePartyIdentification8 *-- "1..1" IPartyIdentification242Choice : SubmittingParty
TradePartyIdentification8 *-- "0..1" IPartyIdentification242Choice : TradeParty
TradePartyIdentification8 *-- "0..0" FundIdentification5 : FundIdentification
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% FundIdentification5 recursion level 1 with max 1
class FundIdentification5{
    AccountIdentificationWithCustodian IsoMax35Text
}
FundIdentification5 *-- "1..1" PartyIdentification60 : FundIdentification
FundIdentification5 *-- "0..1" IPartyIdentification242Choice : CustodianIdentification
  

TradePartyIdentification8 members

Member name Description Data Type / Multiplicity
SubmittingParty Party that submits the foreign exchange trade to the matching system or to the settlement system or to the counterparty. IPartyIdentification242Choice - Required 1..1
TradeParty Party that originated the foreign exchange trade. This party may be the same as the submitting party. IPartyIdentification242Choice - Optional 0..1
FundIdentification Identifies the fund that is one of the parties in the foreign exchange trade. FundIdentification5 - Unknown 0..0

TradeAmounts building block

Amounts of the trade. Specifies the value date and the amounts traded in a foreign exchange transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% AmountsAndValueDate6 recursion level 0 with max 1
class AmountsAndValueDate6{
    SettlementDate IsoISODate
}
AmountsAndValueDate6 *-- "1..1" ICurrencyOrDigitalTokenAmount1Choice : TradingSideBuyAmount
AmountsAndValueDate6 *-- "1..1" ICurrencyOrDigitalTokenAmount1Choice : TradingSideSellAmount
%% ICurrencyOrDigitalTokenAmount1Choice recursion level 1 with max 1
%% ICurrencyOrDigitalTokenAmount1Choice recursion level 1 with max 1
  

AmountsAndValueDate6 members

Member name Description Data Type / Multiplicity
TradingSideBuyAmount Currency and amount bought in a foreign exchange trade. ICurrencyOrDigitalTokenAmount1Choice - Required 1..1
TradingSideSellAmount Currency and amount sold in a foreign exchange trade. ICurrencyOrDigitalTokenAmount1Choice - Required 1..1
SettlementDate Date on which the trade is settled, for example, the amounts are due. IsoISODate - Required 1..1

AgreedRate building block

Exchange rate as agreed by the traders. Information needed to process a currency exchange or conversion. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% AgreedRate3 recursion level 0 with max 1
class AgreedRate3{
    ExchangeRate IsoBaseOneRate
    UnitCurrency ActiveCurrencyCode
    QuotedCurrency ActiveCurrencyCode
}
  

AgreedRate3 members

Member name Description Data Type / Multiplicity
ExchangeRate The value of one currency expressed in relation to another currency. ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency). IsoBaseOneRate - Required 1..1
UnitCurrency Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP. ActiveCurrencyCode - Optional 0..1
QuotedCurrency Currency into which the base currency is converted, in a currency exchange. ActiveCurrencyCode - Optional 0..1

NonDeliverableForwardConditions building block

Specifies the conditions for a non deliverable opening or fixing confirmation. Specifies the opening and valuation conditions for the non deliverable forward. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% NonDeliverableForwardConditions1 recursion level 0 with max 1
class NonDeliverableForwardConditions1{
    OpeningIndicator IsoYesNoIndicator
}
NonDeliverableForwardConditions1 *-- "1..1" INDFOpeningFixing1Choice : OpeningFixingConditions
%% INDFOpeningFixing1Choice recursion level 1 with max 1
  

NonDeliverableForwardConditions1 members

Member name Description Data Type / Multiplicity
OpeningIndicator Specifies whether the instruction is an NDF opening or fixing. IsoYesNoIndicator - Required 1..1
OpeningFixingConditions Specifies either the conditions for an NDF oepning or an NDF fixing confirmation. INDFOpeningFixing1Choice - Required 1..1

TradingSideSettlementInstructions building block

Settlement instructions for the amounts received by the trading side. Provides a settlement party by a choice between a BIC or a name and address or a party identification. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SettlementParties120 recursion level 0 with max 1
SettlementParties120 *-- "0..1" IPartyIdentification242Choice : DeliveryAgent
SettlementParties120 *-- "0..1" IPartyIdentification242Choice : Intermediary
SettlementParties120 *-- "1..1" IPartyIdentification242Choice : ReceivingAgent
SettlementParties120 *-- "0..1" IPartyIdentification242Choice : BeneficiaryInstitution
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
  

SettlementParties120 members

Member name Description Data Type / Multiplicity
DeliveryAgent Financial institution from which cash will be transferred. IPartyIdentification242Choice - Optional 0..1
Intermediary Party, within the settlement chain, between the delivery and receiving agents. IPartyIdentification242Choice - Optional 0..1
ReceivingAgent Financial institution where the payee will receive the funds. IPartyIdentification242Choice - Required 1..1
BeneficiaryInstitution Ultimate institution that will receive the funds when different from the trading or counterparty side. IPartyIdentification242Choice - Optional 0..1

CounterpartySideSettlementInstructions building block

Settlement instructions for the amounts received by the counterparty. Provides a settlement party by a choice between a BIC or a name and address or a party identification. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SettlementParties120 recursion level 0 with max 1
SettlementParties120 *-- "0..1" IPartyIdentification242Choice : DeliveryAgent
SettlementParties120 *-- "0..1" IPartyIdentification242Choice : Intermediary
SettlementParties120 *-- "1..1" IPartyIdentification242Choice : ReceivingAgent
SettlementParties120 *-- "0..1" IPartyIdentification242Choice : BeneficiaryInstitution
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
  

SettlementParties120 members

Member name Description Data Type / Multiplicity
DeliveryAgent Financial institution from which cash will be transferred. IPartyIdentification242Choice - Optional 0..1
Intermediary Party, within the settlement chain, between the delivery and receiving agents. IPartyIdentification242Choice - Optional 0..1
ReceivingAgent Financial institution where the payee will receive the funds. IPartyIdentification242Choice - Required 1..1
BeneficiaryInstitution Ultimate institution that will receive the funds when different from the trading or counterparty side. IPartyIdentification242Choice - Optional 0..1

OptionalGeneralInformation building block

Specifies whether the trade is a block or an individual trade. It also contains supplementary information such as free format information, broker’s identification, dealing branches and references. Information concerning the negotiation process leading to a treasury trade. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% GeneralInformation8 recursion level 0 with max 1
class GeneralInformation8{
    BlockIndicator IsoYesNoIndicator
    RelatedTradeReference IsoMax35Text
    DealingMethod Trading1MethodCode
    CounterpartyReference IsoMax35Text
    BrokersCommission IsoActiveCurrencyAndAmount
    SenderToReceiverInformation IsoMax210Text
    DefinitionsYear IsoISOYear
    BrokersReference IsoMax35Text
}
GeneralInformation8 *-- "0..1" IPartyIdentification242Choice : BrokerIdentification
GeneralInformation8 *-- "0..1" IPartyIdentification242Choice : DealingBranchTradingSide
GeneralInformation8 *-- "0..1" IPartyIdentification242Choice : DealingBranchCounterpartySide
GeneralInformation8 *-- "0..1" ContactInformation1 : ContactInformation
GeneralInformation8 *-- "0..1" AgreementConditions1 : AgreementDetails
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% ContactInformation1 recursion level 1 with max 1
class ContactInformation1{
    Name IsoMax350Text
    FaxNumber IsoPhoneNumber
    TelephoneNumber IsoPhoneNumber
    EmailAddress IsoMax256Text
}
%% AgreementConditions1 recursion level 1 with max 1
class AgreementConditions1{
    AgreementCode IsoMax6AlphaText
    Date IsoISODate
    Version IsoExact4NumericText
}
  

GeneralInformation8 members

Member name Description Data Type / Multiplicity
BlockIndicator Indicates whether the trade is a block or single trade. IsoYesNoIndicator - Optional 0..1
RelatedTradeReference Reference to a preceding transaction, for example, an option or swap. IsoMax35Text - Optional 0..1
DealingMethod Method used by the trading parties to negotiate and/or execute a deal. Trading1MethodCode - Optional 0..1
BrokerIdentification Specifies the broker which arranged the deal between the trading side and the counterparty side or, when two money brokers are involved, between the trading side and the other money broker. IPartyIdentification242Choice - Optional 0..1
CounterpartyReference Counterparty’s reference for the trade. IsoMax35Text - Optional 0..1
BrokersCommission Brokerage fee for a broker confirmation. IsoActiveCurrencyAndAmount - Optional 0..1
SenderToReceiverInformation Specifies additional information for the receiver and applies to the whole message. IsoMax210Text - Optional 0..1
DealingBranchTradingSide Specifies the branch at the trading side with which the deal was done. IPartyIdentification242Choice - Optional 0..1
DealingBranchCounterpartySide Specifies the branch at the counterparty side with which the deal was done. IPartyIdentification242Choice - Optional 0..1
ContactInformation Specifies the name and/or electronic address of the receiver of the message who may be contacted for any queries concerning this trade. ContactInformation1 - Optional 0..1
AgreementDetails Specifies the type, date and version of the agreement used in a trade. AgreementConditions1 - Optional 0..1
DefinitionsYear Specifies the year of definitions of the agreement. IsoISOYear - Optional 0..1
BrokersReference Specifies a reference applied to the trade instruction by a broker. IsoMax35Text - Optional 0..1

RegulatoryReporting building block

Information that is to be provided to trade repositories in the context of the regulatory standards around over-the-counter (OTC) derivatives, central counterparties and trade repositories. Includes data elements that can be used for reporting to trade repositories.

Usage: It is not to be used on regular trade confirmations. Although some fields, for example, unique transaction identifier and prior unique transaction identifier, might be used on regular trade confirmations. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% RegulatoryReporting7 recursion level 0 with max 1
class RegulatoryReporting7{
    ClearingThresholdIndicator IsoYesNoIndicator
    ClearedProductIdentification IsoMax35Text
    UnderlyingProductIdentifier UnderlyingProductIdentifier1Code
    AllocationIndicator AllocationIndicator1Code
    CollateralisationIndicator CollateralisationIndicator1Code
    ExecutionVenue IsoMax35Text
    NonStandardFlag IsoYesNoIndicator
    LinkSwapIdentification IsoExact42Text
    FinancialNatureOfTheCounterpartyIndicator IsoYesNoIndicator
    CollateralPortfolioIndicator IsoYesNoIndicator
    CollateralPortfolioCode IsoMax10Text
    PortfolioCompressionIndicator IsoYesNoIndicator
    CorporateSectorIndicator CorporateSectorIdentifier1Code
    TradeWithNonEEACounterpartyIndicator IsoYesNoIndicator
    IntragroupTradeIndicator IsoYesNoIndicator
    CommercialOrTreasuryFinancingIndicator IsoYesNoIndicator
    ConfirmationDateAndTimestamp IsoISODateTime
    ClearingTimestamp IsoISOTime
    AdditionalReportingInformation IsoMax210Text
}
RegulatoryReporting7 *-- "0..0" TradingSideTransactionReporting2 : TradingSideTransactionReporting
RegulatoryReporting7 *-- "0..0" CounterpartySideTransactionReporting2 : CounterpartySideTransactionReporting
RegulatoryReporting7 *-- "0..1" IPartyIdentification242Choice : CentralCounterpartyClearingHouse
RegulatoryReporting7 *-- "0..1" IPartyIdentification242Choice : ClearingBroker
RegulatoryReporting7 *-- "0..1" IPartyIdentification242Choice : ClearingExceptionParty
RegulatoryReporting7 *-- "0..1" ClearingBrokerIdentification1 : ClearingBrokerIdentification
RegulatoryReporting7 *-- "0..1" IDateAndDateTime2Choice : ExecutionTimestamp
RegulatoryReporting7 *-- "0..1" SecurityIdentification19 : FinancialInstrumentIdentification
RegulatoryReporting7 *-- "0..0" FXCommissionOrFee1 : CommissionsAndFees
%% TradingSideTransactionReporting2 recursion level 1 with max 1
class TradingSideTransactionReporting2{
    ReportingJurisdiction IsoMax35Text
}
TradingSideTransactionReporting2 *-- "0..1" IPartyIdentification242Choice : ReportingParty
TradingSideTransactionReporting2 *-- "0..0" UniqueTransactionIdentifier2 : TradingSideUniqueTransactionIdentifier
%% CounterpartySideTransactionReporting2 recursion level 1 with max 1
class CounterpartySideTransactionReporting2{
    ReportingJurisdiction IsoMax35Text
}
CounterpartySideTransactionReporting2 *-- "0..1" IPartyIdentification242Choice : ReportingParty
CounterpartySideTransactionReporting2 *-- "0..0" UniqueTransactionIdentifier2 : CounterpartySideUniqueTransactionIdentifier
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% IPartyIdentification242Choice recursion level 1 with max 1
%% ClearingBrokerIdentification1 recursion level 1 with max 1
class ClearingBrokerIdentification1{
    SideIndicator SideIndicator1Code
    ClearingBrokerIdentification IsoMax35Text
}
%% IDateAndDateTime2Choice recursion level 1 with max 1
%% SecurityIdentification19 recursion level 1 with max 1
class SecurityIdentification19{
    ISIN IsoISINOct2015Identifier
    Description IsoMax140Text
}
SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification
%% FXCommissionOrFee1 recursion level 1 with max 1
class FXCommissionOrFee1{
    Sign IsoPlusOrMinusIndicator
}
FXCommissionOrFee1 *-- "1..1" IFXAmountType1Choice : Type
FXCommissionOrFee1 *-- "1..1" IAmountOrRate4Choice : AmountOrRate
  

RegulatoryReporting7 members

Member name Description Data Type / Multiplicity
TradingSideTransactionReporting Regulatory transaction reporting information from the Trading Side party. TradingSideTransactionReporting2 - Unknown 0..0
CounterpartySideTransactionReporting Regulatory transaction reporting information from the Counterparty Side party. CounterpartySideTransactionReporting2 - Unknown 0..0
CentralCounterpartyClearingHouse Identifies an agency or separate corporation of a futures exchange responsible for settling and clearing trades, collecting and maintaining margins, regulating delivery and reporting trade data. This can also be known as a Central Counterparty (CCP). IPartyIdentification242Choice - Optional 0..1
ClearingBroker Identifies the party that is a member of the clearing house and that acts as a liaison between the investor and the Central Counterparty (CCP). IPartyIdentification242Choice - Optional 0..1
ClearingExceptionParty Identifies the party that is exempt from a clearing obligation. IPartyIdentification242Choice - Optional 0..1
ClearingBrokerIdentification Specifies the reference number assigned by the clearing broker. A distinction can be made between the reference for the Central Counterparty (CCP) leg and the reference for the client leg of the transaction. ClearingBrokerIdentification1 - Optional 0..1
ClearingThresholdIndicator Specifies whether the contract is above or below the clearing threshold. Where No indicates the contract is below the clearing threshold and Yes indicates the contract is above the clearing threshold. IsoYesNoIndicator - Optional 0..1
ClearedProductIdentification Specifies the reference number assigned by the Central Counterparty (CCP). IsoMax35Text - Optional 0..1
UnderlyingProductIdentifier Specifies the underlying product type. UnderlyingProductIdentifier1Code - Optional 0..1
AllocationIndicator Specifies whether the trade is a pre-allocation or a post-allocation trade, or whether the trade is unallocated. AllocationIndicator1Code - Optional 0..1
CollateralisationIndicator Specifies whether the transaction is collateralised. CollateralisationIndicator1Code - Optional 0..1
ExecutionVenue Specifies the trading venue of the transaction. IsoMax35Text - Optional 0..1
ExecutionTimestamp Specifies the date and time of the execution of the transaction in Coordinated Universal Time (UTC). IDateAndDateTime2Choice - Optional 0..1
NonStandardFlag Specifies whether the reportable transaction has one or more additional terms or provisions, other than those listed in the required real-time data fields, that materially affects the price of the reportable transaction. IsoYesNoIndicator - Optional 0..1
LinkSwapIdentification Specifies the common reference or correlation identification for a swap transaction where the near and far leg are confirmed separately. IsoExact42Text - Optional 0..1
FinancialNatureOfTheCounterpartyIndicator Specifies the financial nature of the reporting counterparty. IsoYesNoIndicator - Optional 0..1
CollateralPortfolioIndicator Specifies if the collateral is posted on a portfolio basis. IsoYesNoIndicator - Optional 0..1
CollateralPortfolioCode Identifies the portfolio code to which the trade belongs if the collateral is posted on a portfolio basis (and not trade by trade). IsoMax10Text - Optional 0..1
PortfolioCompressionIndicator Indicates if the trade results from portfolio compression. IsoYesNoIndicator - Optional 0..1
CorporateSectorIndicator Specifies the corporate sector of the counterparty. CorporateSectorIdentifier1Code - Optional 0..1
TradeWithNonEEACounterpartyIndicator Specifies whether the counterparty has entered into a trade with a non-European Economic Area (EEA) counterparty that is not subject to the reporting obligation. IsoYesNoIndicator - Optional 0..1
IntragroupTradeIndicator Indicate if a reported trade falls under the definition of intragroup transaction, as defined by European Securities and Markets Authority (ESMA) in the Technical Standards. IsoYesNoIndicator - Optional 0..1
CommercialOrTreasuryFinancingIndicator Specifies whether the contract is objectively measurable as directly linked to the non-financial counterparty’s commercial or treasury financing activity. IsoYesNoIndicator - Optional 0..1
FinancialInstrumentIdentification Identification of a security, as assigned under a formal or proprietary identification scheme. SecurityIdentification19 - Optional 0..1
ConfirmationDateAndTimestamp Specifies the date and time of the confirmation of the trade in Universal Time Coordinated (UTC). IsoISODateTime - Optional 0..1
ClearingTimestamp Specifies the time at which the Central Counterparty (CCP) has legally taken on the clearing of the trade in Universal Time Coordinated (UTC). IsoISOTime - Optional 0..1
CommissionsAndFees Provides the commission and fee type anf amout or rate. FXCommissionOrFee1 - Unknown 0..0
AdditionalReportingInformation Specifies additional information that might be required by the regulator. IsoMax210Text - Optional 0..1

SupplementaryData building block

Additional information that cannot be captured in the structured elements and/or any other specific block. Additional information that can not be captured in the structured fields and/or any other specific block. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SupplementaryData1 recursion level 0 with max 1
class SupplementaryData1{
    PlaceAndName IsoMax350Text
}
SupplementaryData1 *-- "1..1" IsoSupplementaryDataEnvelope1 : Envelope
%% IsoSupplementaryDataEnvelope1 recursion level 1 with max 1
  

SupplementaryData1 members

Member name Description Data Type / Multiplicity
PlaceAndName Unambiguous reference to the location where the supplementary data must be inserted in the message instance. In the case of XML, this is expressed by a valid XPath. IsoMax350Text - Optional 0..1
Envelope Technical element wrapping the supplementary data. IsoSupplementaryDataEnvelope1 - Required 1..1

Extensibility and generalization considerations

To facilitate generalized design patterns in the system, the ForeignExchangeTradeInstructionAmendmentV05 implementation follows a specific implementaiton pattern. First of all, ForeignExchangeTradeInstructionAmendmentV05 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, ForeignExchangeTradeInstructionAmendmentV05Document implements IOuterDocument. Because ForeignExchangeTradeInstructionAmendmentV05 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type ForeignExchangeTradeInstructionAmendmentV05.

classDiagram
    class IOuterRecord
    ForeignExchangeTradeInstructionAmendmentV05 --|> IOuterRecord : Implements
    ForeignExchangeTradeInstructionAmendmentV05Document --|> IOuterDocument~ForeignExchangeTradeInstructionAmendmentV05~ : Implements
    class IOuterDocument~ForeignExchangeTradeInstructionAmendmentV05~ {
        ForeignExchangeTradeInstructionAmendmentV05 Message
     }
  

Document wrapper for serialization

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

classDiagram
    ForeignExchangeTradeInstructionAmendmentV05Document *-- ForeignExchangeTradeInstructionAmendmentV05 : 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:fxtr.015.001.05">
    <FXTradInstrAmdmnt>
        <TradInf>
            <!-- TradeInformation inner content -->
        </TradInf>
        <TradgSdId>
            <!-- TradingSideIdentification inner content -->
        </TradgSdId>
        <CtrPtySdId>
            <!-- CounterpartySideIdentification inner content -->
        </CtrPtySdId>
        <TradAmts>
            <!-- TradeAmounts inner content -->
        </TradAmts>
        <AgrdRate>
            <!-- AgreedRate inner content -->
        </AgrdRate>
        <NDFConds>
            <!-- NonDeliverableForwardConditions inner content -->
        </NDFConds>
        <TradgSdSttlmInstrs>
            <!-- TradingSideSettlementInstructions inner content -->
        </TradgSdSttlmInstrs>
        <CtrPtySdSttlmInstrs>
            <!-- CounterpartySideSettlementInstructions inner content -->
        </CtrPtySdSttlmInstrs>
        <OptnlGnlInf>
            <!-- OptionalGeneralInformation inner content -->
        </OptnlGnlInf>
        <RgltryRptg>
            <!-- RegulatoryReporting inner content -->
        </RgltryRptg>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </FXTradInstrAmdmnt>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_mJe8EQM-Ee2nqoJcXIhTdw"
  previousVersion="_oq61AZRyEeak6e8_Fc5fQg"
  name="ForeignExchangeTradeInstructionAmendmentV05"
  definition="Scope&#xD;&#xD;&#xA;The ForeignExchangeTradeInstructionAmendment message is sent by a participant to a central settlement system to notify the amendment of the foreign exchange trade previously confirmed by the sender.&#xD;&#xD;&#xA;Usage&#xD;&#xD;&#xA;The ForeignExchangeTradeInstructionAmendment message is sent from a participant to a central settlement system to advise of the update of a previously sent notification. The &quot;Related Reference&quot; must be used to link it to the previous notification."
  registrationStatus="Registered"
  messageSet="_wiatARJsEeSstbhSoCHcWw"
  xmlTag="FXTradInstrAmdmnt"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_mJe8EwM-Ee2nqoJcXIhTdw"
    previousVersion="_oq61A5RyEeak6e8_Fc5fQg"
    name="TradeInformation"
    definition="General information related to the trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="TradInf"
    complexType="_-WDPQZRzEeak6e8_Fc5fQg" />
  <messageBuildingBlock
    xmi:id="_mJe8FQM-Ee2nqoJcXIhTdw"
    previousVersion="_oq61BZRyEeak6e8_Fc5fQg"
    name="TradingSideIdentification"
    definition="Party(ies) on the trading side of the trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="TradgSdId"
    complexType="_CKT6BQN1Ee2-vqzwMUAewg" />
  <messageBuildingBlock
    xmi:id="_mJe8FwM-Ee2nqoJcXIhTdw"
    previousVersion="_oq61B5RyEeak6e8_Fc5fQg"
    name="CounterpartySideIdentification"
    definition="Party(ies) on the counterparty side of the trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="CtrPtySdId"
    complexType="_CKT6BQN1Ee2-vqzwMUAewg" />
  <messageBuildingBlock
    xmi:id="_mJe8GQM-Ee2nqoJcXIhTdw"
    previousVersion="_orEmAZRyEeak6e8_Fc5fQg"
    name="TradeAmounts"
    definition="Amounts of the trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="TradAmts"
    complexType="_c87_EQNhEe2-vqzwMUAewg" />
  <messageBuildingBlock
    xmi:id="_mJe8GwM-Ee2nqoJcXIhTdw"
    previousVersion="_orEmA5RyEeak6e8_Fc5fQg"
    name="AgreedRate"
    definition="Exchange rate as agreed by the traders."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="AgrdRate"
    complexType="_x5OGYVhqEeWDI58xzGOTTQ" />
  <messageBuildingBlock
    xmi:id="_mJe8HQM-Ee2nqoJcXIhTdw"
    previousVersion="_FuobkZUSEea7vKctaoIyEQ"
    name="NonDeliverableForwardConditions"
    definition="Specifies the conditions for a non deliverable opening or fixing confirmation."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="NDFConds"
    complexType="_lUCXwJR9Eeak6e8_Fc5fQg" />
  <messageBuildingBlock
    xmi:id="_mJe8HwM-Ee2nqoJcXIhTdw"
    previousVersion="_orEmBZRyEeak6e8_Fc5fQg"
    name="TradingSideSettlementInstructions"
    definition="Settlement instructions for the amounts received by the trading side."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="TradgSdSttlmInstrs"
    complexType="_Box6QQN1Ee2-vqzwMUAewg" />
  <messageBuildingBlock
    xmi:id="_mJe8IQM-Ee2nqoJcXIhTdw"
    previousVersion="_orEmB5RyEeak6e8_Fc5fQg"
    name="CounterpartySideSettlementInstructions"
    definition="Settlement instructions for the amounts received by the counterparty."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CtrPtySdSttlmInstrs"
    complexType="_Box6QQN1Ee2-vqzwMUAewg" />
  <messageBuildingBlock
    xmi:id="_mJe8IwM-Ee2nqoJcXIhTdw"
    previousVersion="_orEmCZRyEeak6e8_Fc5fQg"
    name="OptionalGeneralInformation"
    definition="Specifies whether the trade is a block or an individual trade. It also contains supplementary information such as free format information, broker's identification, dealing branches and references."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="OptnlGnlInf"
    complexType="_BjP6AQN1Ee2-vqzwMUAewg" />
  <messageBuildingBlock
    xmi:id="_mJe8JQM-Ee2nqoJcXIhTdw"
    previousVersion="_orEmC5RyEeak6e8_Fc5fQg"
    name="RegulatoryReporting"
    definition="Information that is to be provided to trade repositories in the context of the regulatory standards around over-the-counter (OTC) derivatives, central counterparties and trade repositories."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="RgltryRptg"
    complexType="_VB4PMQNwEe2-vqzwMUAewg" />
  <messageBuildingBlock
    xmi:id="_mJe8JwM-Ee2nqoJcXIhTdw"
    previousVersion="_orEmDZRyEeak6e8_Fc5fQg"
    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="fxtr"
    messageFunctionality="015"
    flavour="001"
    version="05" />
</messageDefinition>

ISO Building Blocks

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