SettlementInternaliserReportV01

auth.072.001.01

The SettlementInternaliserReport message is sent by the settlement internalisers to the relevant competent authority to report aggregated information on all securities transactions that they settle outside securities settlement systems, on a quarterly basis. The report contains aggregated information on the value and volume of all internalised settlement instructions (settled and failed) that have been performed during the period covered by the report, for financial instruments, types of transactions, types of clients and cash transfers.

Usage: This report may be used by settlement internalisers to provide aggregated information (volume and value) on internalised settlement instructions (settled and failed) to their competent authorities.

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
%% SettlementInternaliserReportV01 recursion level 0 with max 0
SettlementInternaliserReportV01 *-- "1..1" SettlementInternaliserReportHeader1 : ReportHeader
SettlementInternaliserReportV01 *-- "1..1" SettlementInternaliser1 : SettlementInternaliser
SettlementInternaliserReportV01 *-- "1..1" IssuerCSDReport1 : IssuerCSD
SettlementInternaliserReportV01 *-- "0..1" SupplementaryData1 : SupplementaryData
  

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

ReportHeader building block

Specifies parameters of the report. Specifies parameters of the report For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SettlementInternaliserReportHeader1 recursion level 0 with max 1
class SettlementInternaliserReportHeader1{
    CreationDateTime IsoISODateTime
    ReportingDate IsoISODate
    Currency ActiveCurrencyCode
    ReportStatus TransactionOperationType4Code
}
  

SettlementInternaliserReportHeader1 members

Member name Description Data Type / Multiplicity
CreationDateTime Provides the reporting timestamp, when the report was submitted from the Settlement Internaliser to the Competent Authority. IsoISODateTime - Required 1..1
ReportingDate Last day of the reporting period. IsoISODate - Required 1..1
Currency Specifies the currency of the reported transactions. ActiveCurrencyCode - Required 1..1
ReportStatus Provides the status of the report. TransactionOperationType4Code - Required 1..1

SettlementInternaliser building block

Identifies the settlement internaliser for which data is reported. Identifies the submitting entity and Settlement Internaliser of the report. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SettlementInternaliser1 recursion level 0 with max 1
SettlementInternaliser1 *-- "1..1" SettlementInternaliserIdentification1 : Identification
SettlementInternaliser1 *-- "1..1" InternalisationData1 : OverallTotal
SettlementInternaliser1 *-- "1..1" SettlementInternaliserFinancialInstrument1 : FinancialInstrument
SettlementInternaliser1 *-- "1..1" SettlementInternaliserTransactionType1 : TransactionType
SettlementInternaliser1 *-- "1..1" SettlementInternaliserClientType1 : ClientType
SettlementInternaliser1 *-- "1..1" InternalisationData1 : TotalCashTransfer
%% SettlementInternaliserIdentification1 recursion level 1 with max 1
class SettlementInternaliserIdentification1{
    LEI IsoLEIIdentifier
    Country CountryCode
    BranchIdentification IsoExact2UpperCaseAlphaText
}
SettlementInternaliserIdentification1 *-- "1..1" ContactDetails4 : ResponsiblePerson
%% InternalisationData1 recursion level 1 with max 1
InternalisationData1 *-- "1..1" InternalisationData2 : Aggregate
InternalisationData1 *-- "1..1" InternalisationDataRate1 : FailedRate
%% SettlementInternaliserFinancialInstrument1 recursion level 1 with max 1
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : Equity
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : SovereignDebt
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : Bond
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : OtherTransferableSecurities
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : ExchangeTradingFunds
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : CollectiveInvestmentUndertakings
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : MoneyMarketInstrument
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : EmissionAllowance
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : OtherFinancialInstruments
%% SettlementInternaliserTransactionType1 recursion level 1 with max 1
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : SecuritiesBuyOrSell
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : CollateralManagementOperation
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : SecuritiesLendingOrBorrowing
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : RepurchaseAgreement
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : OtherTransactions
%% SettlementInternaliserClientType1 recursion level 1 with max 1
SettlementInternaliserClientType1 *-- "1..1" InternalisationData1 : Professional
SettlementInternaliserClientType1 *-- "1..1" InternalisationData1 : Retail
%% InternalisationData1 recursion level 1 with max 1
InternalisationData1 *-- "1..1" InternalisationData2 : Aggregate
InternalisationData1 *-- "1..1" InternalisationDataRate1 : FailedRate
  

SettlementInternaliser1 members

Member name Description Data Type / Multiplicity
Identification Identifies the submitting entity and settlement Internaliser of the report. SettlementInternaliserIdentification1 - Required 1..1
OverallTotal Overall aggregated total value and volume of - settled and failed and total of internalised settlement instructions, and - failed rate of internalised settlement instructions performed during the period covered by the report, for all financial instruments, types of transactions, types of clients and cash transfers. InternalisationData1 - Required 1..1
FinancialInstrument Classification of a financial instrument according to the categories defined in the relevant legislation. SettlementInternaliserFinancialInstrument1 - Required 1..1
TransactionType Classification of securities movements according to the categories defined in the relevant legislation. SettlementInternaliserTransactionType1 - Required 1..1
ClientType Classification of a settlement internaliser’s clients as referred to in the relevant legislation. SettlementInternaliserClientType1 - Required 1..1
TotalCashTransfer Covers cash payments related to securities transactions. InternalisationData1 - Required 1..1

IssuerCSD building block

Identifies each issuer CSD (central securities depository) included in the report. Identifies each issuer CSD (central securities depository) included in the report. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IssuerCSDReport1 recursion level 0 with max 1
IssuerCSDReport1 *-- "1..1" IssuerCSDIdentification1 : Identification
IssuerCSDReport1 *-- "1..1" InternalisationData1 : OverallTotal
IssuerCSDReport1 *-- "1..1" SettlementInternaliserFinancialInstrument1 : FinancialInstrument
IssuerCSDReport1 *-- "1..1" SettlementInternaliserTransactionType1 : TransactionType
IssuerCSDReport1 *-- "1..1" SettlementInternaliserClientType1 : ClientType
IssuerCSDReport1 *-- "1..1" InternalisationData1 : TotalCashTransfer
%% IssuerCSDIdentification1 recursion level 1 with max 1
class IssuerCSDIdentification1{
    LEI IsoLEIIdentifier
    FirstTwoCharactersInstrumentIdentification IsoExact2UpperCaseAlphaText
    Country CountryCode
}
%% InternalisationData1 recursion level 1 with max 1
InternalisationData1 *-- "1..1" InternalisationData2 : Aggregate
InternalisationData1 *-- "1..1" InternalisationDataRate1 : FailedRate
%% SettlementInternaliserFinancialInstrument1 recursion level 1 with max 1
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : Equity
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : SovereignDebt
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : Bond
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : OtherTransferableSecurities
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : ExchangeTradingFunds
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : CollectiveInvestmentUndertakings
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : MoneyMarketInstrument
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : EmissionAllowance
SettlementInternaliserFinancialInstrument1 *-- "1..1" InternalisationData1 : OtherFinancialInstruments
%% SettlementInternaliserTransactionType1 recursion level 1 with max 1
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : SecuritiesBuyOrSell
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : CollateralManagementOperation
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : SecuritiesLendingOrBorrowing
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : RepurchaseAgreement
SettlementInternaliserTransactionType1 *-- "1..1" InternalisationData1 : OtherTransactions
%% SettlementInternaliserClientType1 recursion level 1 with max 1
SettlementInternaliserClientType1 *-- "1..1" InternalisationData1 : Professional
SettlementInternaliserClientType1 *-- "1..1" InternalisationData1 : Retail
%% InternalisationData1 recursion level 1 with max 1
InternalisationData1 *-- "1..1" InternalisationData2 : Aggregate
InternalisationData1 *-- "1..1" InternalisationDataRate1 : FailedRate
  

IssuerCSDReport1 members

Member name Description Data Type / Multiplicity
Identification Identification of the issuer CSD (central securities depository) for which data is reported. IssuerCSDIdentification1 - Required 1..1
OverallTotal Overall aggregated total value and volume of - settled and failed and total of internalised settlement instructions, and - failed rate of internalised settlement instructions performed during the period covered by the report, for all financial instruments, types of transactions, types of clients and cash transfers. InternalisationData1 - Required 1..1
FinancialInstrument Classification of financial instrument covering the types of financial instruments as defined in the relevant regulation. SettlementInternaliserFinancialInstrument1 - Required 1..1
TransactionType Classification of securities movements according to the categories defined in the relevant legislation. SettlementInternaliserTransactionType1 - Required 1..1
ClientType Classification of a settlement internaliser’s clients as referred to in the relevant legislation. SettlementInternaliserClientType1 - Required 1..1
TotalCashTransfer Covers cash payments related to securities transactions. InternalisationData1 - Required 1..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 SettlementInternaliserReportV01 implementation follows a specific implementaiton pattern. First of all, SettlementInternaliserReportV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, SettlementInternaliserReportV01Document implements IOuterDocument. Because SettlementInternaliserReportV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type SettlementInternaliserReportV01.

classDiagram
    class IOuterRecord
    SettlementInternaliserReportV01 --|> IOuterRecord : Implements
    SettlementInternaliserReportV01Document --|> IOuterDocument~SettlementInternaliserReportV01~ : Implements
    class IOuterDocument~SettlementInternaliserReportV01~ {
        SettlementInternaliserReportV01 Message
     }
  

Document wrapper for serialization

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

classDiagram
    SettlementInternaliserReportV01Document *-- SettlementInternaliserReportV01 : 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:auth.072.001.01">
    <SttlmIntlrRpt>
        <RptHdr>
            <!-- ReportHeader inner content -->
        </RptHdr>
        <SttlmIntlr>
            <!-- SettlementInternaliser inner content -->
        </SttlmIntlr>
        <IssrCSD>
            <!-- IssuerCSD inner content -->
        </IssrCSD>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </SttlmIntlrRpt>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_m9MVgO3jEeaWjpoyrnG6Rw"
  name="SettlementInternaliserReportV01"
  definition="The SettlementInternaliserReport message is sent by the settlement internalisers to the relevant competent authority to report aggregated information on all securities transactions that they settle outside securities settlement systems, on a quarterly basis. The report contains aggregated information on the value and volume of all internalised settlement instructions (settled and failed) that have been performed during the period covered by the report, for financial instruments, types of transactions, types of clients and cash transfers.&#xD;&#xA;&#xD;&#xA;Usage: &#xD;&#xA;This report may be used by settlement internalisers to provide aggregated information (volume and value) on internalised settlement instructions (settled and failed) to their competent authorities."
  registrationStatus="Registered"
  messageSet="_bU-YYAjCEeerFLIYEaxeJw"
  xmlTag="SttlmIntlrRpt"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_jW2EcO3kEeaWjpoyrnG6Rw"
    name="ReportHeader"
    definition="Specifies parameters of the report."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="RptHdr"
    complexType="_rJ-pkO3kEeaWjpoyrnG6Rw" />
  <messageBuildingBlock
    xmi:id="_lNkVgO3kEeaWjpoyrnG6Rw"
    name="SettlementInternaliser"
    definition="Identifies the settlement internaliser for which data is reported."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="SttlmIntlr"
    complexType="_x6_YcO3mEeaWjpoyrnG6Rw" />
  <messageBuildingBlock
    xmi:id="_pgDeYO3kEeaWjpoyrnG6Rw"
    name="IssuerCSD"
    definition="Identifies each issuer CSD (central securities depository) included in the report."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="IssrCSD"
    complexType="_2_qZ9-3rEeaWjpoyrnG6Rw" />
  <messageBuildingBlock
    xmi:id="_D1rv0X9xEeiuTa5SlOUnYg"
    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="auth"
    messageFunctionality="072"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

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