tsmt.017.001.03
Scope The ForwardDataSetSubmissionReport message is sent by the matching application to the counterparty(ies) of the submitter of data sets. This message is used to pass on information related to the purchasing agreement(s) covered by the transaction(s) referred to in the message. Usage The ForwardDataSetSubmission message can be sent by the matching application to forward the details of a DataSetSubmission message that it has obtained.
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
%% ForwardDataSetSubmissionReportV03 recursion level 0 with max 0
ForwardDataSetSubmissionReportV03 *-- "1..1" MessageIdentification1 : ReportIdentification
ForwardDataSetSubmissionReportV03 *-- "1..1" DataSetSubmissionReferences4 : RelatedTransactionReferences
ForwardDataSetSubmissionReportV03 *-- "1..1" SimpleIdentificationInformation : CommonSubmissionReference
ForwardDataSetSubmissionReportV03 *-- "1..1" BICIdentification1 : Submitter
ForwardDataSetSubmissionReportV03 *-- "1..1" BICIdentification1 : BuyerBank
ForwardDataSetSubmissionReportV03 *-- "1..1" BICIdentification1 : SellerBank
ForwardDataSetSubmissionReportV03 *-- "0..1" CommercialDataSet3 : CommercialDataSet
ForwardDataSetSubmissionReportV03 *-- "0..1" TransportDataSet3 : TransportDataSet
ForwardDataSetSubmissionReportV03 *-- "0..1" InsuranceDataSet1 : InsuranceDataSet
ForwardDataSetSubmissionReportV03 *-- "0..1" CertificateDataSet1 : CertificateDataSet
ForwardDataSetSubmissionReportV03 *-- "0..1" OtherCertificateDataSet1 : OtherCertificateDataSet
ForwardDataSetSubmissionReportV03 *-- "0..1" PendingActivity2 : RequestForAction
Now, we will zero-in one-by-one on each of these building blocks.
ReportIdentification building block
Identifies the report. 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 transactions both for the matching application and for the user. For comparison, see the ISO20022 official specification
classDiagram
direction tb
%% DataSetSubmissionReferences4 recursion level 0 with max 1
class DataSetSubmissionReferences4{
TransactionIdentification IsoMax35Text
ForcedMatch IsoYesNoIndicator
TransactionStatus BaselineStatus3Code
}
DataSetSubmissionReferences4 *-- "1..1" DocumentIdentification7 : PurchaseOrderReference
DataSetSubmissionReferences4 *-- "0..2" DocumentIdentification5 : UserTransactionReference
DataSetSubmissionReferences4 *-- "1..1" DocumentIdentification3 : EstablishedBaselineIdentification
%% DocumentIdentification7 recursion level 1 with max 1
class DocumentIdentification7{
Identification IsoMax35Text
DateOfIssue IsoISODate
}
%% DocumentIdentification5 recursion level 1 with max 1
class DocumentIdentification5{
Identification IsoMax35Text
}
DocumentIdentification5 *-- "1..1" BICIdentification1 : IdentificationIssuer
%% DocumentIdentification3 recursion level 1 with max 1
class DocumentIdentification3{
Identification IsoMax35Text
Version IsoNumber
}
DataSetSubmissionReferences4 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 |
| UserTransactionReference | Own reference to the transaction for the financial institution. | DocumentIdentification5 - Collection 0..2 |
| 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 |
| EstablishedBaselineIdentification | Unique identification assigned by the matching engine to the baseline when it is established. | DocumentIdentification3 - Required 1..1 |
| TransactionStatus | Identifies the status of the transaction by means of a code. | BaselineStatus3Code - 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 |
Submitter building block
The financial institution that has submitted the data sets to the matching engine. 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 |
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 has been submitted to the matching application by the other party. Goods or services that are part of a commercial trade agreement. For comparison, see the ISO20022 official specification
classDiagram
direction tb
%% CommercialDataSet3 recursion level 0 with max 1
CommercialDataSet3 *-- "1..1" DocumentIdentification1 : DataSetIdentification
CommercialDataSet3 *-- "1..1" InvoiceIdentification1 : CommercialDocumentReference
CommercialDataSet3 *-- "1..1" PartyIdentification26 : Buyer
CommercialDataSet3 *-- "1..1" PartyIdentification26 : Seller
CommercialDataSet3 *-- "0..1" PartyIdentification26 : BillTo
CommercialDataSet3 *-- "1..0" LineItem9 : Goods
CommercialDataSet3 *-- "1..0" PaymentTerms1 : PaymentTerms
CommercialDataSet3 *-- "1..1" SettlementTerms2 : 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
%% LineItem9 recursion level 1 with max 1
class LineItem9{
FinalSubmission IsoYesNoIndicator
LineItemsTotalAmount IsoCurrencyAndAmount
TotalNetAmount IsoCurrencyAndAmount
}
LineItem9 *-- "1..1" DocumentIdentification7 : PurchaseOrderReference
LineItem9 *-- "1..0" LineItemDetails9 : CommercialLineItems
LineItem9 *-- "0..1" Incoterms2 : Incoterms
LineItem9 *-- "0..0" Adjustment4 : Adjustment
LineItem9 *-- "0..1" Charge13 : FreightCharges
LineItem9 *-- "0..0" Tax12 : Tax
LineItem9 *-- "0..0" UserDefinedInformation1 : BuyerDefinedInformation
LineItem9 *-- "0..0" UserDefinedInformation1 : SellerDefinedInformation
%% PaymentTerms1 recursion level 1 with max 1
class PaymentTerms1{
OtherPaymentTerms IsoMax140Text
Percentage IsoPercentageRate
Amount IsoCurrencyAndAmount
}
PaymentTerms1 *-- "1..1" PaymentPeriod1 : PaymentCode
%% SettlementTerms2 recursion level 1 with max 1
SettlementTerms2 *-- "0..1" IFinancialInstitutionIdentification4Choice : CreditorAgent
SettlementTerms2 *-- "1..1" CashAccount7 : CreditorAccount
CommercialDataSet3 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. | LineItem9 - Unknown 1..0 |
| PaymentTerms | Specifies the payment terms by means of a code and a limit in time. | PaymentTerms1 - Unknown 1..0 |
| SettlementTerms | Specifies how the transaction should be settled. | SettlementTerms2 - Required 1..1 |
TransportDataSet building block
Transport information that has been submitted to the matching application by the other party. 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
%% TransportDataSet3 recursion level 0 with max 1
TransportDataSet3 *-- "1..1" DocumentIdentification1 : DataSetIdentification
TransportDataSet3 *-- "0..1" PartyIdentification26 : Buyer
TransportDataSet3 *-- "0..1" PartyIdentification26 : Seller
TransportDataSet3 *-- "1..1" PartyIdentification26 : Consignor
TransportDataSet3 *-- "0..1" PartyIdentification26 : Consignee
TransportDataSet3 *-- "0..1" PartyIdentification26 : ShipTo
TransportDataSet3 *-- "1..1" TransportDetails2 : 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
%% TransportDetails2 recursion level 1 with max 1
class TransportDetails2{
ProposedShipmentDate IsoISODate
ActualShipmentDate IsoISODate
}
TransportDetails2 *-- "1..0" DocumentIdentification7 : TransportDocumentReference
TransportDetails2 *-- "1..0" TransportedGoods1 : TransportedGoods
TransportDetails2 *-- "0..1" Consignment1 : Consignment
TransportDetails2 *-- "1..1" TransportMeans2 : RoutingSummary
TransportDetails2 *-- "0..1" Incoterms2 : Incoterms
TransportDetails2 *-- "0..1" Charge13 : FreightCharges
TransportDataSet3 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. | TransportDetails2 - Required 1..1 |
InsuranceDataSet building block
Insurance information that has been submitted to the matching application by the other party. 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 has been submitted to the matching application by the other party. 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
%% CertificateDataSet1 recursion level 0 with max 1
class CertificateDataSet1{
CertificateType TradeCertificateType1Code
IssueDate IsoISODate
AuthorisedInspectorIndicator IsoYesNoIndicator
CertificateIdentification IsoMax35Text
GoodsDescription IsoMax70Text
AdditionalInformation IsoMax350Text
}
CertificateDataSet1 *-- "1..1" DocumentIdentification1 : DataSetIdentification
CertificateDataSet1 *-- "0..0" LineItemAndPOIdentification1 : LineItem
CertificateDataSet1 *-- "1..1" ICertifiedCharacteristics1Choice : CertifiedCharacteristics
CertificateDataSet1 *-- "0..1" PostalAddress5 : PlaceOfIssue
CertificateDataSet1 *-- "1..1" PartyIdentification26 : Issuer
CertificateDataSet1 *-- "0..1" DatePeriodDetails : InspectionDate
CertificateDataSet1 *-- "0..1" SingleTransport3 : Transport
CertificateDataSet1 *-- "0..1" PartyIdentification26 : Consignor
CertificateDataSet1 *-- "0..1" PartyIdentification26 : Consignee
CertificateDataSet1 *-- "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
%% ICertifiedCharacteristics1Choice 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
CertificateDataSet1 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. | ICertifiedCharacteristics1Choice - 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 has been submitted to the matching application by the other party. 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 |
RequestForAction building block
Next processing step required. Specifies the event that require an action from one of the parties to the trade transaction. For comparison, see the ISO20022 official specification
classDiagram
direction tb
%% PendingActivity2 recursion level 0 with max 1
class PendingActivity2{
Type Action2Code
Description IsoMax140Text
}
PendingActivity2 members
| Member name | Description | Data Type / Multiplicity |
|---|---|---|
| Type | Code which specifies the next course of action that the receiver of the message must take. | Action2Code - Required 1..1 |
| Description | Further information on the course of action that the receiver of the message must take. | IsoMax140Text - Optional 0..1 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the ForwardDataSetSubmissionReportV03 implementation follows a specific implementaiton pattern. First of all, ForwardDataSetSubmissionReportV03 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, ForwardDataSetSubmissionReportV03Document implements IOuterDocument. Because ForwardDataSetSubmissionReportV03 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type ForwardDataSetSubmissionReportV03.
classDiagram
class IOuterRecord
ForwardDataSetSubmissionReportV03 --|> IOuterRecord : Implements
ForwardDataSetSubmissionReportV03Document --|> IOuterDocument~ForwardDataSetSubmissionReportV03~ : Implements
class IOuterDocument~ForwardDataSetSubmissionReportV03~ {
ForwardDataSetSubmissionReportV03 Message
}
Document wrapper for serialization
The only real purpose ForwardDataSetSubmissionReportV03Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:tsmt.017.001.03’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using ForwardDataSetSubmissionReportV03.ToDocument() method. The returned ForwardDataSetSubmissionReportV03Document value will serialize correctly according to ISO 20022 standards.
classDiagram
ForwardDataSetSubmissionReportV03Document *-- ForwardDataSetSubmissionReportV03 : 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.017.001.03">
<FwdDataSetSubmissnRpt>
<RptId>
<!-- ReportIdentification inner content -->
</RptId>
<RltdTxRefs>
<!-- RelatedTransactionReferences inner content -->
</RltdTxRefs>
<CmonSubmissnRef>
<!-- CommonSubmissionReference inner content -->
</CmonSubmissnRef>
<Submitr>
<!-- Submitter inner content -->
</Submitr>
<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>
<ReqForActn>
<!-- RequestForAction inner content -->
</ReqForActn>
</FwdDataSetSubmissnRpt>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_oieUONE8Ed-BzquC8wXy7w_403319045"
nextVersions="_2hJwodQrEeK0PPbKncCqzA"
name="ForwardDataSetSubmissionReportV03"
definition="Scope
The ForwardDataSetSubmissionReport message is sent by the matching application to the counterparty(ies) of the submitter of data sets.
This message is used to pass on information related to the purchasing agreement(s) covered by the transaction(s) referred to in the message.
Usage
The ForwardDataSetSubmission message can be sent by the matching application to forward the details of a DataSetSubmission message that it has obtained."
registrationStatus="Registered"
messageSet="_urpIICeJEeOCeO5e7islRQ"
xmlTag="FwdDataSetSubmissnRpt"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_oieUOdE8Ed-BzquC8wXy7w_403319072"
nextVersions="_2hJwo9QrEeK0PPbKncCqzA"
name="ReportIdentification"
definition="Identifies the report."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="RptId"
complexType="_Q7pG5Np-Ed-ak6NoX_4Aeg_-967008570" />
<messageBuildingBlock
xmi:id="_oioFMNE8Ed-BzquC8wXy7w_403320811"
nextVersions="_2hJwpdQrEeK0PPbKncCqzA"
name="RelatedTransactionReferences"
definition="Identifies the transactions that this submission relates to and provides associated information."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="RltdTxRefs"
complexType="_RaCTGNp-Ed-ak6NoX_4Aeg_-1149247875" />
<messageBuildingBlock
xmi:id="_oioFMdE8Ed-BzquC8wXy7w_-1228245791"
nextVersions="_2hJwp9QrEeK0PPbKncCqzA"
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="_oioFMtE8Ed-BzquC8wXy7w_397445842"
nextVersions="_2hJwqdQrEeK0PPbKncCqzA"
name="Submitter"
definition="The financial institution that has submitted the data sets to the matching engine."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="Submitr"
complexType="_QEp0kNp-Ed-ak6NoX_4Aeg_792527554" />
<messageBuildingBlock
xmi:id="_oioFM9E8Ed-BzquC8wXy7w_403320313"
nextVersions="_2hJwq9QrEeK0PPbKncCqzA"
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="_oioFNNE8Ed-BzquC8wXy7w_403320018"
nextVersions="_2hJwrdQrEeK0PPbKncCqzA"
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="_oioFNdE8Ed-BzquC8wXy7w_403319443"
nextVersions="_2hJwr9QrEeK0PPbKncCqzA"
name="CommercialDataSet"
definition="Commercial information that has been submitted to the matching application by the other party."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="ComrclDataSet"
complexType="_Spw1k9p-Ed-ak6NoX_4Aeg_720183247" />
<messageBuildingBlock
xmi:id="_oioFNtE8Ed-BzquC8wXy7w_403319768"
nextVersions="_2hJwsdQrEeK0PPbKncCqzA"
name="TransportDataSet"
definition="Transport information that has been submitted to the matching application by the other party."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="TrnsprtDataSet"
complexType="_StVuB9p-Ed-ak6NoX_4Aeg_1434989448" />
<messageBuildingBlock
xmi:id="_oioFN9E8Ed-BzquC8wXy7w_1316682998"
nextVersions="_2hJws9QrEeK0PPbKncCqzA"
name="InsuranceDataSet"
definition="Insurance information that has been submitted to the matching application by the other party."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="InsrncDataSet"
complexType="_Tm2v9tp-Ed-ak6NoX_4Aeg_888710434" />
<messageBuildingBlock
xmi:id="_oixPINE8Ed-BzquC8wXy7w_1650995885"
nextVersions="_2hJwtdQrEeK0PPbKncCqzA"
name="CertificateDataSet"
definition="Certificate information that has been submitted to the matching application by the other party."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="CertDataSet"
complexType="_TnTb4tp-Ed-ak6NoX_4Aeg_-729563695" />
<messageBuildingBlock
xmi:id="_oixPIdE8Ed-BzquC8wXy7w_1469713115"
nextVersions="_2hJwt9QrEeK0PPbKncCqzA"
name="OtherCertificateDataSet"
definition="Other certificate information that has been submitted to the matching application by the other party."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="OthrCertDataSet"
complexType="_Tncl2dp-Ed-ak6NoX_4Aeg_-105876723" />
<messageBuildingBlock
xmi:id="_oixPItE8Ed-BzquC8wXy7w_403319846"
nextVersions="_2hJwudQrEeK0PPbKncCqzA"
name="RequestForAction"
definition="Next processing step required."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="ReqForActn"
complexType="_RaowBtp-Ed-ak6NoX_4Aeg_-888447978" />
<messageDefinitionIdentifier
businessArea="tsmt"
messageFunctionality="017"
flavour="001"
version="03" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.