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
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."
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.
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.