tsmt.014.001.04
Scope The DataSetSubmission message is sent by a party involved in the transaction to the matching application. This message is used to trigger either a match or a pre-match of the information submitted with the message. Usage The DataSetSubmission message can be sent by either party with the instruction pre-match. In the outlined scenario, the matching application will compare the data set(s) conveyed by the DataSetSubmission message with the established baseline and report the matching result to the requester of the data set pre-match by sending a DataSetMatchReport message. or The DataSetSubmission message can be sent by the party specified in the baseline as data set submitter with the instruction match. In the outlined scenario, the matching application will compare the data set(s) conveyed by the DataSetSubmission message with the established baseline and report the matching result to
- the parties involved in a transaction established in the push-through mode, or
- the initiator of a transaction established in the lodge mode. The DataSetSubmission message can be used to submit multiple data sets for multiple transactions (baselines) at the same time. However, all transactions (baselines) covered by the message must be for the same parties, that is transaction initiator and counterparty, as well as for the same buyer and seller. The DataSetSubmission message consists of data reflecting trade information related to the purchasing agreement covered by the transaction(s), for example shipment date, invoice amount.
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 %% DataSetSubmissionV04 recursion level 0 with max 0 DataSetSubmissionV04 *-- "1..1" MessageIdentification1 : SubmissionIdentification DataSetSubmissionV04 *-- "1..1" DataSetSubmissionReferences3 : RelatedTransactionReferences DataSetSubmissionV04 *-- "1..1" SimpleIdentificationInformation : CommonSubmissionReference DataSetSubmissionV04 *-- "1..1" InstructionType3 : Instruction DataSetSubmissionV04 *-- "1..1" BICIdentification1 : BuyerBank DataSetSubmissionV04 *-- "1..1" BICIdentification1 : SellerBank DataSetSubmissionV04 *-- "0..1" CommercialDataSet4 : CommercialDataSet DataSetSubmissionV04 *-- "0..1" TransportDataSet4 : TransportDataSet DataSetSubmissionV04 *-- "0..1" InsuranceDataSet1 : InsuranceDataSet DataSetSubmissionV04 *-- "0..1" CertificateDataSet2 : CertificateDataSet DataSetSubmissionV04 *-- "0..1" OtherCertificateDataSet1 : OtherCertificateDataSet
Now, we will zero-in one-by-one on each of these building blocks.
SubmissionIdentification building block
Identifies the submitted information. Identifies a message by a unique identifier and the date and time when the message was created by the sender. For comparison, see the ISO20022 official specification
classDiagram direction tb %% MessageIdentification1 recursion level 0 with max 1 class MessageIdentification1{ Identification IsoMax35Text CreationDateTime IsoISODateTime }
MessageIdentification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Identification of the message. | IsoMax35Text - Required 1..1 |
CreationDateTime | Date of creation of the message. | IsoISODateTime - Required 1..1 |
RelatedTransactionReferences building block
Identifies the transactions that this submission relates to and provides associated information. Provides references to the submitted data set both for the matching application and for the user. For comparison, see the ISO20022 official specification
classDiagram direction tb %% DataSetSubmissionReferences3 recursion level 0 with max 1 class DataSetSubmissionReferences3{ TransactionIdentification IsoMax35Text SubmitterTransactionReference IsoMax35Text ForcedMatch IsoYesNoIndicator } DataSetSubmissionReferences3 *-- "1..1" DocumentIdentification7 : PurchaseOrderReference %% DocumentIdentification7 recursion level 1 with max 1 class DocumentIdentification7{ Identification IsoMax35Text DateOfIssue IsoISODate }
DataSetSubmissionReferences3 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
TransactionIdentification | Unique identification assigned by the matching application to the transaction. | This identification is to be used in any communication between the parties. |
PurchaseOrderReference | Reference to the purchase order of the underlying transaction. | DocumentIdentification7 - Required 1..1 |
SubmitterTransactionReference | Provides reference to the transaction for the financial institution that submits the data set. | IsoMax35Text - Optional 0..1 |
ForcedMatch | Specifies that this message should force the matching application to match all data sets it has received so far for the transaction identified by the transaction identification. | IsoYesNoIndicator - Required 1..1 |
CommonSubmissionReference building block
This reference must be used for all data sets belonging to the same submission group. Information related to an identification, eg, party identification or account identification. For comparison, see the ISO20022 official specification
classDiagram direction tb %% SimpleIdentificationInformation recursion level 0 with max 1 class SimpleIdentificationInformation{ Identification IsoMax35Text }
SimpleIdentificationInformation members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Name or number assigned by an entity to enable recognition of that entity, eg, account identifier. | IsoMax35Text - Required 1..1 |
Instruction building block
Specifies the instruction given by the submitter. Specifies the type of instruction requested by the submitter by means of a code. For comparison, see the ISO20022 official specification
classDiagram direction tb %% InstructionType3 recursion level 0 with max 1 class InstructionType3{ Type InstructionType3Code }
InstructionType3 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Type | Specifies whether the data set has to be matched or pre-matched. | InstructionType3Code - Required 1..1 |
BuyerBank building block
The financial institution of the buyer, uniquely identified by its BIC. Unique and unambiguous identifier of a financial institution, as assigned under an internationally recognised or proprietary identification scheme. For comparison, see the ISO20022 official specification
classDiagram direction tb %% BICIdentification1 recursion level 0 with max 1 class BICIdentification1{ BIC IsoBICIdentifier }
BICIdentification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
BIC | Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 “Banking - Banking telecommunication messages - Business identifier code (BIC)”. | IsoBICIdentifier - Required 1..1 |
SellerBank building block
The financial institution of the seller, uniquely identified by its BIC. Unique and unambiguous identifier of a financial institution, as assigned under an internationally recognised or proprietary identification scheme. For comparison, see the ISO20022 official specification
classDiagram direction tb %% BICIdentification1 recursion level 0 with max 1 class BICIdentification1{ BIC IsoBICIdentifier }
BICIdentification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
BIC | Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 “Banking - Banking telecommunication messages - Business identifier code (BIC)”. | IsoBICIdentifier - Required 1..1 |
CommercialDataSet building block
Commercial information that is submitted to the matching application for processing. Goods or services that are part of a commercial trade agreement. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CommercialDataSet4 recursion level 0 with max 1 CommercialDataSet4 *-- "1..1" DocumentIdentification1 : DataSetIdentification CommercialDataSet4 *-- "1..1" InvoiceIdentification1 : CommercialDocumentReference CommercialDataSet4 *-- "1..1" PartyIdentification26 : Buyer CommercialDataSet4 *-- "1..1" PartyIdentification26 : Seller CommercialDataSet4 *-- "0..1" PartyIdentification26 : BillTo CommercialDataSet4 *-- "1..0" LineItem12 : Goods CommercialDataSet4 *-- "1..0" PaymentTerms4 : PaymentTerms CommercialDataSet4 *-- "1..1" SettlementTerms3 : SettlementTerms %% DocumentIdentification1 recursion level 1 with max 1 class DocumentIdentification1{ Identification IsoMax35Text Version IsoNumber } DocumentIdentification1 *-- "1..1" BICIdentification1 : Submitter %% InvoiceIdentification1 recursion level 1 with max 1 class InvoiceIdentification1{ InvoiceNumber IsoMax35Text IssueDate IsoISODate } %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% LineItem12 recursion level 1 with max 1 class LineItem12{ FinalSubmission IsoYesNoIndicator LineItemsTotalAmount IsoCurrencyAndAmount TotalNetAmount IsoCurrencyAndAmount } LineItem12 *-- "1..1" DocumentIdentification7 : PurchaseOrderReference LineItem12 *-- "1..0" LineItemDetails11 : CommercialLineItems LineItem12 *-- "0..0" Adjustment6 : Adjustment LineItem12 *-- "0..1" Charge25 : FreightCharges LineItem12 *-- "0..0" Tax22 : Tax LineItem12 *-- "0..0" UserDefinedInformation1 : BuyerDefinedInformation LineItem12 *-- "0..0" UserDefinedInformation1 : SellerDefinedInformation LineItem12 *-- "0..1" Incoterms4 : Incoterms %% PaymentTerms4 recursion level 1 with max 1 PaymentTerms4 *-- "1..1" IPaymentCodeOrOther1Choice : PaymentTerms PaymentTerms4 *-- "1..1" IAmountOrPercentage2Choice : AmountOrPercentage %% SettlementTerms3 recursion level 1 with max 1 SettlementTerms3 *-- "0..1" IFinancialInstitutionIdentification4Choice : CreditorAgent SettlementTerms3 *-- "1..1" CashAccount24 : CreditorAccount
CommercialDataSet4 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
DataSetIdentification | Identifies the commercial data set. | DocumentIdentification1 - Required 1..1 |
CommercialDocumentReference | Reference to the identification of the underlying commercial document. | InvoiceIdentification1 - Required 1..1 |
Buyer | Party that buys goods or services, or a financial instrument. | PartyIdentification26 - Required 1..1 |
Seller | Party that sells goods or services, or a financial instrument. | PartyIdentification26 - Required 1..1 |
BillTo | Party to be invoiced for the purchase. | PartyIdentification26 - Optional 0..1 |
Goods | Information about the goods and/or services of the underlying transaction. | LineItem12 - Unknown 1..0 |
PaymentTerms | Specifies the payment terms by means of a code and a limit in time. | PaymentTerms4 - Unknown 1..0 |
SettlementTerms | Specifies how the transaction should be settled. | SettlementTerms3 - Required 1..1 |
TransportDataSet building block
Transport information that is submitted to the matching application for processing. Provides details on the transportation of goods that are part of a commercial trade agreement. For comparison, see the ISO20022 official specification
classDiagram direction tb %% TransportDataSet4 recursion level 0 with max 1 TransportDataSet4 *-- "1..1" DocumentIdentification1 : DataSetIdentification TransportDataSet4 *-- "0..1" PartyIdentification26 : Buyer TransportDataSet4 *-- "0..1" PartyIdentification26 : Seller TransportDataSet4 *-- "1..1" PartyIdentification26 : Consignor TransportDataSet4 *-- "0..1" PartyIdentification26 : Consignee TransportDataSet4 *-- "0..1" PartyIdentification26 : ShipTo TransportDataSet4 *-- "1..1" TransportDetails3 : TransportInformation %% DocumentIdentification1 recursion level 1 with max 1 class DocumentIdentification1{ Identification IsoMax35Text Version IsoNumber } DocumentIdentification1 *-- "1..1" BICIdentification1 : Submitter %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% TransportDetails3 recursion level 1 with max 1 TransportDetails3 *-- "1..0" DocumentIdentification7 : TransportDocumentReference TransportDetails3 *-- "1..0" TransportedGoods1 : TransportedGoods TransportDetails3 *-- "0..1" Consignment3 : Consignment TransportDetails3 *-- "1..1" TransportMeans4 : RoutingSummary TransportDetails3 *-- "1..1" IShipmentDate1Choice : ShipmentDate TransportDetails3 *-- "0..1" Charge25 : FreightCharges TransportDetails3 *-- "0..1" Incoterms4 : Incoterms
TransportDataSet4 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
DataSetIdentification | Identifies the submitted transport data set. | DocumentIdentification1 - Required 1..1 |
Buyer | Party that buys goods or services, or a financial instrument. | PartyIdentification26 - Optional 0..1 |
Seller | Party that sells goods or services, or a financial instrument. | PartyIdentification26 - Optional 0..1 |
Consignor | Party responsible for dispatching the goods. | PartyIdentification26 - Required 1..1 |
Consignee | Party to whom the goods must be delivered. | PartyIdentification26 - Optional 0..1 |
ShipTo | Party to whom the goods must be delivered in the end. | PartyIdentification26 - Optional 0..1 |
TransportInformation | Specifies the shipment date, the charges, the routing and the goods that are described in the transport document. | TransportDetails3 - Required 1..1 |
InsuranceDataSet building block
Insurance information that is submitted to the matching application for processing. Formal document used to record a fact and used as proof of the fact that goods have been insured under an insurance policy. For comparison, see the ISO20022 official specification
classDiagram direction tb %% InsuranceDataSet1 recursion level 0 with max 1 class InsuranceDataSet1{ IssueDate IsoISODate EffectiveDate IsoISODate InsuranceDocumentIdentification IsoMax35Text InsuredAmount IsoCurrencyAndAmount InsuredGoodsDescription IsoMax70Text InsuranceConditions IsoMax350Text InsuranceClauses InsuranceClauses1Code ClaimsPayableIn CurrencyCode } InsuranceDataSet1 *-- "1..1" DocumentIdentification1 : DataSetIdentification InsuranceDataSet1 *-- "1..1" PartyIdentification26 : Issuer InsuranceDataSet1 *-- "0..1" PostalAddress5 : PlaceOfIssue InsuranceDataSet1 *-- "0..1" SingleTransport3 : Transport InsuranceDataSet1 *-- "1..1" IPartyIdentification29Choice : Assured InsuranceDataSet1 *-- "1..1" PostalAddress5 : ClaimsPayableAt %% DocumentIdentification1 recursion level 1 with max 1 class DocumentIdentification1{ Identification IsoMax35Text Version IsoNumber } DocumentIdentification1 *-- "1..1" BICIdentification1 : Submitter %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% PostalAddress5 recursion level 1 with max 1 class PostalAddress5{ StreetName IsoMax70Text PostCodeIdentification IsoMax16Text TownName IsoMax35Text CountrySubDivision IsoMax35Text Country CountryCode } %% SingleTransport3 recursion level 1 with max 1 SingleTransport3 *-- "0..1" TransportByAir2 : TransportByAir SingleTransport3 *-- "0..1" TransportBySea4 : TransportBySea SingleTransport3 *-- "0..1" TransportByRoad2 : TransportByRoad SingleTransport3 *-- "0..1" TransportByRail2 : TransportByRail %% IPartyIdentification29Choice recursion level 1 with max 1 %% PostalAddress5 recursion level 1 with max 1 class PostalAddress5{ StreetName IsoMax70Text PostCodeIdentification IsoMax16Text TownName IsoMax35Text CountrySubDivision IsoMax35Text Country CountryCode }
InsuranceDataSet1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
DataSetIdentification | Identifies the insurancedata set. | DocumentIdentification1 - Required 1..1 |
Issuer | Issuer of the certificate, typically the insurance company or its agent. | PartyIdentification26 - Required 1..1 |
IssueDate | Issue date of the document. | IsoISODate - Required 1..1 |
EffectiveDate | Date upon which cover under an insurance policy becomes effective. | IsoISODate - Optional 0..1 |
PlaceOfIssue | Place where the insurance certificate was issued. | PostalAddress5 - Optional 0..1 |
InsuranceDocumentIdentification | Unique identifier of the document. | IsoMax35Text - Required 1..1 |
Transport | Transport information relative to the goods that are insured under the insurance policy. | SingleTransport3 - Optional 0..1 |
InsuredAmount | Value of the goods as insured under the insurance policy. | IsoCurrencyAndAmount - Required 1..1 |
InsuredGoodsDescription | Information about the goods and/or services of a trade transaction. | IsoMax70Text - Optional 0..1 |
InsuranceConditions | Description of the conditions and exclusion clauses under which insurance is granted. | IsoMax350Text - Unknown 0..0 |
InsuranceClauses | Standard insurance clauses defined by the Institute of London Underwriters (or the American Institute of marine Underwriters). | InsuranceClauses1Code - Unknown 0..0 |
Assured | Party that is covered under the assurance policy. | IPartyIdentification29Choice - Required 1..1 |
ClaimsPayableAt | Place where claims under the insurance policy will be paid. | PostalAddress5 - Required 1..1 |
ClaimsPayableIn | Currency in which claims, if valid, will be paid. | CurrencyCode - Optional 0..1 |
CertificateDataSet building block
Certificate information that is submitted to the matching application for processing. Formal document used to record a fact and used as proof of the fact, in the context of a commercial trade transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CertificateDataSet2 recursion level 0 with max 1 class CertificateDataSet2{ CertificateType TradeCertificateType1Code IssueDate IsoISODate AuthorisedInspectorIndicator IsoYesNoIndicator CertificateIdentification IsoMax35Text GoodsDescription IsoMax70Text AdditionalInformation IsoMax350Text } CertificateDataSet2 *-- "1..1" DocumentIdentification1 : DataSetIdentification CertificateDataSet2 *-- "0..0" LineItemAndPOIdentification1 : LineItem CertificateDataSet2 *-- "1..1" ICertifiedCharacteristics2Choice : CertifiedCharacteristics CertificateDataSet2 *-- "0..1" PostalAddress5 : PlaceOfIssue CertificateDataSet2 *-- "1..1" PartyIdentification26 : Issuer CertificateDataSet2 *-- "0..1" DatePeriodDetails : InspectionDate CertificateDataSet2 *-- "0..1" SingleTransport3 : Transport CertificateDataSet2 *-- "0..1" PartyIdentification26 : Consignor CertificateDataSet2 *-- "0..1" PartyIdentification26 : Consignee CertificateDataSet2 *-- "0..1" PartyIdentification26 : Manufacturer %% DocumentIdentification1 recursion level 1 with max 1 class DocumentIdentification1{ Identification IsoMax35Text Version IsoNumber } DocumentIdentification1 *-- "1..1" BICIdentification1 : Submitter %% LineItemAndPOIdentification1 recursion level 1 with max 1 class LineItemAndPOIdentification1{ LineItemIdentification IsoMax70Text } LineItemAndPOIdentification1 *-- "1..1" DocumentIdentification7 : PurchaseOrderReference %% ICertifiedCharacteristics2Choice recursion level 1 with max 1 %% PostalAddress5 recursion level 1 with max 1 class PostalAddress5{ StreetName IsoMax70Text PostCodeIdentification IsoMax16Text TownName IsoMax35Text CountrySubDivision IsoMax35Text Country CountryCode } %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% DatePeriodDetails recursion level 1 with max 1 class DatePeriodDetails{ FromDate IsoISODate ToDate IsoISODate } %% SingleTransport3 recursion level 1 with max 1 SingleTransport3 *-- "0..1" TransportByAir2 : TransportByAir SingleTransport3 *-- "0..1" TransportBySea4 : TransportBySea SingleTransport3 *-- "0..1" TransportByRoad2 : TransportByRoad SingleTransport3 *-- "0..1" TransportByRail2 : TransportByRail %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress
CertificateDataSet2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
DataSetIdentification | Identifies the certificate data set. | DocumentIdentification1 - Required 1..1 |
CertificateType | Specifies the type of the certificate. | TradeCertificateType1Code - Required 1..1 |
LineItem | Specifies if the certificate data set is required in relation to specific line items, and which line items. | LineItemAndPOIdentification1 - Unknown 0..0 |
CertifiedCharacteristics | Characteristics of the goods that are certified, in the context of a commercial trade transaction. | ICertifiedCharacteristics2Choice - Required 1..1 |
IssueDate | Issue date of the document. | IsoISODate - Required 1..1 |
PlaceOfIssue | Place where the certificate was issued. | PostalAddress5 - Optional 0..1 |
Issuer | Issuer of the certificate, typically the inspection company or its agent. | PartyIdentification26 - Required 1..1 |
InspectionDate | Date(s) at which inspection of the goods took place. | DatePeriodDetails - Optional 0..1 |
AuthorisedInspectorIndicator | Indicates that the inspection has been performed by an authorised inspector. | IsoYesNoIndicator - Optional 0..1 |
CertificateIdentification | Unique identifier of the document. | IsoMax35Text - Required 1..1 |
Transport | Transport information relative to the goods that are covered by the certificate. | SingleTransport3 - Optional 0..1 |
GoodsDescription | Information about the goods and/or services of a trade transaction. | IsoMax70Text - Optional 0..1 |
Consignor | Party responsible for dispatching the goods. | PartyIdentification26 - Optional 0..1 |
Consignee | Party to whom the goods (which are the subject of the certificate) must be delivered. | PartyIdentification26 - Optional 0..1 |
Manufacturer | Manufacturer of the goods which are the subject of the certificate. | PartyIdentification26 - Optional 0..1 |
AdditionalInformation | Additional and important information that could not be captured by structured fields. | IsoMax350Text - Unknown 0..0 |
OtherCertificateDataSet building block
Other certificate information that is submitted to the matching application for processing. Formal document used to record a fact and used as proof of the fact, in the context of a commercial trade transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% OtherCertificateDataSet1 recursion level 0 with max 1 class OtherCertificateDataSet1{ CertificateIdentification IsoMax35Text CertificateType TradeCertificateType2Code IssueDate IsoISODate CertificateInformation IsoMax350Text } OtherCertificateDataSet1 *-- "1..1" DocumentIdentification1 : DataSetIdentification OtherCertificateDataSet1 *-- "1..1" PartyIdentification26 : Issuer %% DocumentIdentification1 recursion level 1 with max 1 class DocumentIdentification1{ Identification IsoMax35Text Version IsoNumber } DocumentIdentification1 *-- "1..1" BICIdentification1 : Submitter %% PartyIdentification26 recursion level 1 with max 1 class PartyIdentification26{ Name IsoMax70Text } PartyIdentification26 *-- "0..1" GenericIdentification4 : ProprietaryIdentification PartyIdentification26 *-- "1..1" PostalAddress5 : PostalAddress
OtherCertificateDataSet1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
DataSetIdentification | Identifies the certificate data set. | DocumentIdentification1 - Required 1..1 |
CertificateIdentification | Unique identifier of the document. | IsoMax35Text - Required 1..1 |
CertificateType | Specifies the type of the certificate. | TradeCertificateType2Code - Required 1..1 |
IssueDate | Issue date of the document. | IsoISODate - Required 1..1 |
Issuer | Issuer of the certificate, typically the inspection company or its agent. | PartyIdentification26 - Required 1..1 |
CertificateInformation | Additional and important information that could not be captured by structured fields. | IsoMax350Text - Unknown 0..0 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the DataSetSubmissionV04 implementation follows a specific implementaiton pattern. First of all, DataSetSubmissionV04 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, DataSetSubmissionV04Document implements IOuterDocument. Because DataSetSubmissionV04 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type DataSetSubmissionV04.
classDiagram class IOuterRecord DataSetSubmissionV04 --|> IOuterRecord : Implements DataSetSubmissionV04Document --|> IOuterDocument~DataSetSubmissionV04~ : Implements class IOuterDocument~DataSetSubmissionV04~ { DataSetSubmissionV04 Message }
Document wrapper for serialization
The only real purpose DataSetSubmissionV04Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:tsmt.014.001.04’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using DataSetSubmissionV04.ToDocument() method. The returned DataSetSubmissionV04Document value will serialize correctly according to ISO 20022 standards.
classDiagram DataSetSubmissionV04Document *-- DataSetSubmissionV04 : 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:tsmt.014.001.04">
<DataSetSubmissn>
<SubmissnId>
<!-- SubmissionIdentification inner content -->
</SubmissnId>
<RltdTxRefs>
<!-- RelatedTransactionReferences inner content -->
</RltdTxRefs>
<CmonSubmissnRef>
<!-- CommonSubmissionReference inner content -->
</CmonSubmissnRef>
<Instr>
<!-- Instruction inner content -->
</Instr>
<BuyrBk>
<!-- BuyerBank inner content -->
</BuyrBk>
<SellrBk>
<!-- SellerBank inner content -->
</SellrBk>
<ComrclDataSet>
<!-- CommercialDataSet inner content -->
</ComrclDataSet>
<TrnsprtDataSet>
<!-- TransportDataSet inner content -->
</TrnsprtDataSet>
<InsrncDataSet>
<!-- InsuranceDataSet inner content -->
</InsrncDataSet>
<CertDataSet>
<!-- CertificateDataSet inner content -->
</CertDataSet>
<OthrCertDataSet>
<!-- OtherCertificateDataSet inner content -->
</OthrCertDataSet>
</DataSetSubmissn>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_zXROkdQrEeK0PPbKncCqzA"
nextVersions="_h2S-cQgGEeSeS5xdjFfOTw"
previousVersion="_nQ9pAtE8Ed-BzquC8wXy7w_2054511397"
name="DataSetSubmissionV04"
definition="Scope
The DataSetSubmission message is sent by a party involved in the transaction to the matching application.
This message is used to trigger either a match or a pre-match of the information submitted with the message.
Usage
The DataSetSubmission message can be sent by either party with the instruction pre-match. In the outlined scenario, the matching application will compare the data set(s) conveyed by the DataSetSubmission message with the established baseline and report the matching result to the requester of the data set pre-match by sending a DataSetMatchReport message.
or
The DataSetSubmission message can be sent by the party specified in the baseline as data set submitter with the instruction match. In the outlined scenario, the matching application will compare the data set(s) conveyed by the DataSetSubmission message with the established baseline and report the matching result to
- the parties involved in a transaction established in the push-through mode, or
- the initiator of a transaction established in the lodge mode.
The DataSetSubmission message can be used to submit multiple data sets for multiple transactions (baselines) at the same time. However, all transactions (baselines) covered by the message must be for the same parties, that is transaction initiator and counterparty, as well as for the same buyer and seller.
The DataSetSubmission message consists of data reflecting trade information related to the purchasing agreement covered by the transaction(s), for example shipment date, invoice amount."
registrationStatus="Registered"
messageSet="_wRx2yk2rEeG_I4xRYCA_7g _urpIICeJEeOCeO5e7islRQ"
xmlTag="DataSetSubmissn"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<doclet
xmi:id="_zlt6QNQrEeK0PPbKncCqzA"
type="purpose" />
<messageBuildingBlock
xmi:id="_zXROk9QrEeK0PPbKncCqzA"
nextVersions="_h2S-dQgGEeSeS5xdjFfOTw"
previousVersion="_nQ9pA9E8Ed-BzquC8wXy7w_2054512310"
name="SubmissionIdentification"
definition="Identifies the submitted information."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="SubmissnId"
complexType="_Q7pG5Np-Ed-ak6NoX_4Aeg_-967008570" />
<messageBuildingBlock
xmi:id="_zXROldQrEeK0PPbKncCqzA"
nextVersions="_h2S-dwgGEeSeS5xdjFfOTw"
previousVersion="_nQ9pBNE8Ed-BzquC8wXy7w_2054512233"
name="RelatedTransactionReferences"
definition="Identifies the transactions that this submission relates to and provides associated information."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="RltdTxRefs"
complexType="_RaCTE9p-Ed-ak6NoX_4Aeg_204942196" />
<messageBuildingBlock
xmi:id="_zXROl9QrEeK0PPbKncCqzA"
nextVersions="_h2S-eQgGEeSeS5xdjFfOTw"
previousVersion="_nQ9pBdE8Ed-BzquC8wXy7w_645845159"
name="CommonSubmissionReference"
definition="This reference must be used for all data sets belonging to the same submission group."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="CmonSubmissnRef"
complexType="_P-ile9p-Ed-ak6NoX_4Aeg_745508310" />
<messageBuildingBlock
xmi:id="_zXROmdQrEeK0PPbKncCqzA"
nextVersions="_h2S-ewgGEeSeS5xdjFfOTw"
previousVersion="_nQ9pBtE8Ed-BzquC8wXy7w_2054512725"
name="Instruction"
definition="Specifies the instruction given by the submitter."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="Instr"
complexType="_RJpGotp-Ed-ak6NoX_4Aeg_-1074370626" />
<messageBuildingBlock
xmi:id="_zXROm9QrEeK0PPbKncCqzA"
nextVersions="_h2S-fQgGEeSeS5xdjFfOTw"
previousVersion="_nQ9pB9E8Ed-BzquC8wXy7w_2054511535"
name="BuyerBank"
definition="The financial institution of the buyer, uniquely identified by its BIC."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="BuyrBk"
complexType="_QEp0kNp-Ed-ak6NoX_4Aeg_792527554" />
<messageBuildingBlock
xmi:id="_zXROndQrEeK0PPbKncCqzA"
nextVersions="_h2S-fwgGEeSeS5xdjFfOTw"
previousVersion="_nQ9pCNE8Ed-BzquC8wXy7w_2054511830"
name="SellerBank"
definition="The financial institution of the seller, uniquely identified by its BIC."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="SellrBk"
complexType="_QEp0kNp-Ed-ak6NoX_4Aeg_792527554" />
<messageBuildingBlock
xmi:id="_zXROn9QrEeK0PPbKncCqzA"
nextVersions="_h2S-gQgGEeSeS5xdjFfOTw"
previousVersion="_nRHaANE8Ed-BzquC8wXy7w_2054511458"
name="CommercialDataSet"
definition="Commercial information that is submitted to the matching application for processing."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="ComrclDataSet"
complexType="_kPbooRVZEeOCqpkCrPgk4g" />
<messageBuildingBlock
xmi:id="_zXROodQrEeK0PPbKncCqzA"
nextVersions="_h2S-gwgGEeSeS5xdjFfOTw"
previousVersion="_nRHaAdE8Ed-BzquC8wXy7w_2054512430"
name="TransportDataSet"
definition="Transport information that is submitted to the matching application for processing."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="TrnsprtDataSet"
complexType="_LhNqEdQsEeK0PPbKncCqzA" />
<messageBuildingBlock
xmi:id="_zXROo9QrEeK0PPbKncCqzA"
nextVersions="_h2S-hQgGEeSeS5xdjFfOTw"
previousVersion="_nRHaAtE8Ed-BzquC8wXy7w_-215437655"
name="InsuranceDataSet"
definition="Insurance information that is submitted to the matching application for processing."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="InsrncDataSet"
complexType="_Tm2v9tp-Ed-ak6NoX_4Aeg_888710434" />
<messageBuildingBlock
xmi:id="_zXROpdQrEeK0PPbKncCqzA"
nextVersions="_h2S-hwgGEeSeS5xdjFfOTw"
previousVersion="_nRHaA9E8Ed-BzquC8wXy7w_-73215564"
name="CertificateDataSet"
definition="Certificate information that is submitted to the matching application for processing."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="CertDataSet"
complexType="_2LOxkTANEeOKib24wnHaFg" />
<messageBuildingBlock
xmi:id="_zXROp9QrEeK0PPbKncCqzA"
nextVersions="_h2S-iQgGEeSeS5xdjFfOTw"
previousVersion="_nRHaBNE8Ed-BzquC8wXy7w_1984114743"
name="OtherCertificateDataSet"
definition="Other certificate information that is submitted to the matching application for processing."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="OthrCertDataSet"
complexType="_Tncl2dp-Ed-ak6NoX_4Aeg_-105876723" />
<messageDefinitionIdentifier
businessArea="tsmt"
messageFunctionality="014"
flavour="001"
version="04" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.