SettlementObligationReportV03

secl.010.001.03

Scope The SettlementObligationReport message is sent by the central counterparty (CCP) to a clearing member to report on the settlement obligation that will be submitted for settlement.

The message definition is intended for use with the ISO20022 Business Application Header.

Usage The SettlementObligationReport message may also be sent to a third party processing the settlement obligation(s) on behalf of more than one clearing member. The Settlement Obligation Report message is provided per delivery account and per instrument. The report can be provided for one specific delivering party or one specific receiving party. It can also be generated per non clearing member.

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
%% SettlementObligationReportV03 recursion level 0 with max 0
SettlementObligationReportV03 *-- "1..1" ReportParameters4 : ReportParameters
SettlementObligationReportV03 *-- "1..1" Pagination : Pagination
SettlementObligationReportV03 *-- "0..1" IPartyIdentification35Choice : ClearingMember
SettlementObligationReportV03 *-- "0..1" IPartyIdentification35Choice : ClearingSegment
SettlementObligationReportV03 *-- "0..1" SecuritiesAccount19 : DeliveryAccount
SettlementObligationReportV03 *-- "1..1" Report5 : ReportDetails
SettlementObligationReportV03 *-- "0..1" ISettlementParties2Choice : SettlementParties
SettlementObligationReportV03 *-- "0..1" SupplementaryData1 : SupplementaryData
  

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

ReportParameters building block

Provides details about the report such as the report identification, the creation date and time. Provides the parameters of the report. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% ReportParameters4 recursion level 0 with max 1
class ReportParameters4{
    ReportIdentification IsoMax35Text
}
ReportParameters4 *-- "1..1" IDateAndDateTimeChoice : ReportDateAndTime
%% IDateAndDateTimeChoice recursion level 1 with max 1
  

ReportParameters4 members

Member name Description Data Type / Multiplicity
ReportIdentification Unique identification of the report. IsoMax35Text - Required 1..1
ReportDateAndTime Date and time of the report. IDateAndDateTimeChoice - Required 1..1

Pagination building block

Page number of the message (within a report) and continuation indicator to indicate that the report is to continue or that the message is the last page of the report. Number used to sequence pages when it is not possible for data to be conveyed in a single message and the data has to be split across several pages (messages). For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Pagination recursion level 0 with max 1
class Pagination{
    PageNumber IsoMax5NumericText
    LastPageIndicator IsoYesNoIndicator
}
  

Pagination members

Member name Description Data Type / Multiplicity
PageNumber Page number. IsoMax5NumericText - Required 1..1
LastPageIndicator Indicates the last page. IsoYesNoIndicator - Required 1..1

ClearingMember building block

Provides the identification of the clearing member (individual clearing member or general clearing member). Choice of identification of a party. The party can be identified by giving a BIC or a proprietary code. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IPartyIdentification35Choice recursion level 0 with max 1
  

PartyIdentification35Choice members

Member name Description Data Type / Multiplicity

ClearingSegment building block

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. Choice of identification of a party. The party can be identified by giving a BIC or a proprietary code. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IPartyIdentification35Choice recursion level 0 with max 1
  

PartyIdentification35Choice members

Member name Description Data Type / Multiplicity

DeliveryAccount building block

Provides the identification of the account used for netting. This is an account opened by the central counterparty in the name of the clearing member or its settlement agent within the account structure, for settlement purposes (gives information about the clearing member/its settlement agent account at the central securities depository). Account to or from which a securities entry is made. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SecuritiesAccount19 recursion level 0 with max 1
class SecuritiesAccount19{
    Identification IsoMax35Text
    Name IsoMax70Text
}
SecuritiesAccount19 *-- "0..1" GenericIdentification30 : Type
%% GenericIdentification30 recursion level 1 with max 1
class GenericIdentification30{
    Identification IsoExact4AlphaNumericText
    Issuer IsoMax35Text
    SchemeName IsoMax35Text
}
  

SecuritiesAccount19 members

Member name Description Data Type / Multiplicity
Identification Unambiguous identification for the account between the account owner and the account servicer. IsoMax35Text - Required 1..1
Type Specifies the type of securities account. GenericIdentification30 - Optional 0..1
Name Description of the account. IsoMax70Text - Optional 0..1

ReportDetails building block

Provides details on the settlement obligation report. Provides details on the settlement obligation report. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Report5 recursion level 0 with max 1
Report5 *-- "0..0" PartyIdentificationAndAccount31 : NonClearingMember
Report5 *-- "1..0" SettlementObligation8 : SettlementObligationDetails
%% PartyIdentificationAndAccount31 recursion level 1 with max 1
PartyIdentificationAndAccount31 *-- "1..1" IPartyIdentification33Choice : Identification
PartyIdentificationAndAccount31 *-- "0..1" AlternatePartyIdentification4 : AlternateIdentification
PartyIdentificationAndAccount31 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount31 *-- "0..1" SecuritiesAccount18 : ClearingAccount
%% SettlementObligation8 recursion level 1 with max 1
class SettlementObligation8{
    SettlementObligationIdentification IsoMax35Text
    TradingCapacity TradingCapacity5Code
    ClearingAccountType ClearingAccountType1Code
    SecuritiesMovementType ReceiveDelivery1Code
    Payment DeliveryReceiptType2Code
}
SettlementObligation8 *-- "1..1" SecurityIdentification14 : FinancialInstrumentIdentification
SettlementObligation8 *-- "1..1" IDateFormat11Choice : IntendedSettlementDate
SettlementObligation8 *-- "1..1" IFinancialInstrumentQuantity1Choice : Quantity
SettlementObligation8 *-- "1..1" AmountAndDirection27 : SettlementAmount
SettlementObligation8 *-- "1..1" MarketIdentification84 : PlaceOfTrade
SettlementObligation8 *-- "0..1" ITradeDate3Choice : TradeDate
SettlementObligation8 *-- "0..1" ISafekeepingPlaceFormat7Choice : SafekeepingPlace
SettlementObligation8 *-- "0..1" SecuritiesAccount19 : SafekeepingAccount
SettlementObligation8 *-- "0..1" ISettlementParties4Choice : SettlementParties
SettlementObligation8 *-- "0..0" SettlementObligation5 : AdditionalSettlementObligationDetails
  

Report5 members

Member name Description Data Type / Multiplicity
NonClearingMember Provides the identification for the non-clearing member. This is mandatory if the clearing member identification equals a general clearing member. PartyIdentificationAndAccount31 - Unknown 0..0
SettlementObligationDetails Provides information about the settlement obligation details. SettlementObligation8 - Unknown 1..0

SettlementParties building block

Provides details about the receiving parties involved in the settlement chain. Provides details on either the delivering or receiving parties. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% ISettlementParties2Choice recursion level 0 with max 1
  

SettlementParties2Choice members

Member name Description Data Type / Multiplicity

SupplementaryData building block

Additional information that can not be captured in the structured fields 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 SettlementObligationReportV03 implementation follows a specific implementaiton pattern. First of all, SettlementObligationReportV03 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, SettlementObligationReportV03Document implements IOuterDocument. Because SettlementObligationReportV03 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type SettlementObligationReportV03.

classDiagram
    class IOuterRecord
    SettlementObligationReportV03 --|> IOuterRecord : Implements
    SettlementObligationReportV03Document --|> IOuterDocument~SettlementObligationReportV03~ : Implements
    class IOuterDocument~SettlementObligationReportV03~ {
        SettlementObligationReportV03 Message
     }
  

Document wrapper for serialization

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

classDiagram
    SettlementObligationReportV03Document *-- SettlementObligationReportV03 : 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:secl.010.001.03">
    <SttlmOblgtnRpt>
        <RptParams>
            <!-- ReportParameters inner content -->
        </RptParams>
        <Pgntn>
            <!-- Pagination inner content -->
        </Pgntn>
        <ClrMmb>
            <!-- ClearingMember inner content -->
        </ClrMmb>
        <ClrSgmt>
            <!-- ClearingSegment inner content -->
        </ClrSgmt>
        <DlvryAcct>
            <!-- DeliveryAccount inner content -->
        </DlvryAcct>
        <RptDtls>
            <!-- ReportDetails inner content -->
        </RptDtls>
        <SttlmPties>
            <!-- SettlementParties inner content -->
        </SttlmPties>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </SttlmOblgtnRpt>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_suRVUS9dEeS94oXWDaBauA"
  name="SettlementObligationReportV03"
  definition="Scope&#xD;&#xA;The SettlementObligationReport message is sent by the central counterparty (CCP) to a clearing member to report on the settlement obligation that will be submitted for settlement.&#xD;&#xA;&#xD;&#xA;The message definition is intended for use with the ISO20022 Business Application Header.&#xD;&#xA;&#xD;&#xA;Usage&#xD;&#xA;The SettlementObligationReport message may also be sent to a third party processing the settlement obligation(s) on behalf of more than one clearing member.&#xD;&#xA;The Settlement Obligation Report message is provided per delivery account and per instrument. The report can be provided for one specific delivering party or one specific receiving party. It can also be generated per non clearing member."
  registrationStatus="Registered"
  messageSet="_vZbScWwCEeSvG_1tXIrsqQ"
  xmlTag="SttlmOblgtnRpt"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_suRVUy9dEeS94oXWDaBauA"
    name="ReportParameters"
    definition="Provides details about the report such as the report identification, the creation date and time."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="RptParams"
    complexType="_QlScZdp-Ed-ak6NoX_4Aeg_-2031836771" />
  <messageBuildingBlock
    xmi:id="_suRVVS9dEeS94oXWDaBauA"
    name="Pagination"
    definition="Page number of the message (within a report) and continuation indicator to indicate that the report is to continue or that the message is the last page of the report."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Pgntn"
    complexType="_Q65gBdp-Ed-ak6NoX_4Aeg_-21330104" />
  <messageBuildingBlock
    xmi:id="_suRVVy9dEeS94oXWDaBauA"
    name="ClearingMember"
    definition="Provides the identification of the clearing member (individual clearing member or general clearing member)."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="ClrMmb"
    complexType="_QPYd4dp-Ed-ak6NoX_4Aeg_-1523931735" />
  <messageBuildingBlock
    xmi:id="_suRVWS9dEeS94oXWDaBauA"
    name="ClearingSegment"
    definition="Clearing organisation that will clear the trade.&#xD;&#xA;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."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="ClrSgmt"
    complexType="_QPYd4dp-Ed-ak6NoX_4Aeg_-1523931735" />
  <messageBuildingBlock
    xmi:id="_suRVWy9dEeS94oXWDaBauA"
    name="DeliveryAccount"
    definition="Provides the identification of the account used for netting. This is an account opened by the central counterparty in the name of the clearing member or its settlement agent within the account structure, for settlement purposes (gives information about the clearing member/its settlement agent account at the central securities depository)."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="DlvryAcct"
    complexType="_T_JUKtp-Ed-ak6NoX_4Aeg_1976638301" />
  <messageBuildingBlock
    xmi:id="_suRVXS9dEeS94oXWDaBauA"
    name="ReportDetails"
    definition="Provides details on the settlement obligation report."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="RptDtls"
    complexType="_7jLUES9dEeS94oXWDaBauA" />
  <messageBuildingBlock
    xmi:id="_suRVXy9dEeS94oXWDaBauA"
    name="SettlementParties"
    definition="Provides details about the receiving parties involved in the settlement chain."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="SttlmPties"
    complexType="_-an2laMOEeCojJW5vEuTEQ_-1750301164" />
  <messageBuildingBlock
    xmi:id="_suRVYS9dEeS94oXWDaBauA"
    name="SupplementaryData"
    definition="Additional information that can not be captured in the structured fields and/or any other specific block."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="SplmtryData"
    complexType="_Qn0zC9p-Ed-ak6NoX_4Aeg_468227563" />
  <messageDefinitionIdentifier
    businessArea="secl"
    messageFunctionality="010"
    flavour="001"
    version="03" />
</messageDefinition>

ISO Building Blocks

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