tsmt.018.001.04
Scope The FullPushThroughReport message is sent by the matching application to a party involved in a transaction. This message is used to pass on information that the matching application has received from the submitter. The forwarded information can originate from an InitialBaselineSubmission or BaselineReSubmission or BaselineAmendmentRequest message. Usage The FullPushThroughReport message can be sent by the matching application to a party to convey
- the details of an InitialBaselineSubmission message that it has obtained, or
- the details of a BaselineResubmission message that it has obtained, or
- the details of a BaselineAmendmentRequest 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 %% FullPushThroughReportV04 recursion level 0 with max 0 FullPushThroughReportV04 *-- "1..1" MessageIdentification1 : ReportIdentification FullPushThroughReportV04 *-- "1..1" SimpleIdentificationInformation : TransactionIdentification FullPushThroughReportV04 *-- "0..1" DocumentIdentification3 : EstablishedBaselineIdentification FullPushThroughReportV04 *-- "1..1" TransactionStatus4 : TransactionStatus FullPushThroughReportV04 *-- "0..2" DocumentIdentification5 : UserTransactionReference FullPushThroughReportV04 *-- "1..1" ReportType1 : ReportPurpose FullPushThroughReportV04 *-- "1..1" Baseline4 : PushedThroughBaseline FullPushThroughReportV04 *-- "0..1" ContactIdentification1 : BuyerContactPerson FullPushThroughReportV04 *-- "0..1" ContactIdentification1 : SellerContactPerson FullPushThroughReportV04 *-- "0..1" ContactIdentification1 : BuyerBankContactPerson FullPushThroughReportV04 *-- "0..1" ContactIdentification1 : SellerBankContactPerson FullPushThroughReportV04 *-- "0..1" ContactIdentification3 : OtherBankContactPerson FullPushThroughReportV04 *-- "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 |
TransactionIdentification building block
Unique identification assigned by the matching application to the transaction. This identification is to be used in any communication between the parties. 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 |
EstablishedBaselineIdentification building block
Unique identification assigned by the matching application to the baseline when it is established. Identifies a document by a unique identification and a version. For comparison, see the ISO20022 official specification
classDiagram direction tb %% DocumentIdentification3 recursion level 0 with max 1 class DocumentIdentification3{ Identification IsoMax35Text Version IsoNumber }
DocumentIdentification3 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Identification of a set of data. | IsoMax35Text - Required 1..1 |
Version | Unambiguous identification of the version of a set of data. Example: Version 1. | IsoNumber - Required 1..1 |
TransactionStatus building block
Identifies the status of the transaction by means of a code. Identifies the status of the transaction by means of a code. For comparison, see the ISO20022 official specification
classDiagram direction tb %% TransactionStatus4 recursion level 0 with max 1 class TransactionStatus4{ Status BaselineStatus3Code }
TransactionStatus4 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Status | Identifies the status of the transaction by means of a code. | BaselineStatus3Code - Required 1..1 |
UserTransactionReference building block
Reference to the transaction for the financial institution which submitted the baseline. Identifies a document by a unique identification and its issuer. For comparison, see the ISO20022 official specification
classDiagram direction tb %% DocumentIdentification5 recursion level 0 with max 1 class DocumentIdentification5{ Identification IsoMax35Text } DocumentIdentification5 *-- "1..1" BICIdentification1 : IdentificationIssuer %% BICIdentification1 recursion level 1 with max 1 class BICIdentification1{ BIC IsoBICIdentifier }
DocumentIdentification5 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Identification of a set of data. | IsoMax35Text - Required 1..1 |
IdentificationIssuer | Uniquely identifies the financial institution which has issued the identification of the set of data by using a BIC. | BICIdentification1 - Required 1..1 |
ReportPurpose building block
Specifies the type of report. Specifies the type of report. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ReportType1 recursion level 0 with max 1 class ReportType1{ Type ReportType1Code }
ReportType1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Type | Specifies whether the pushed through baseline is a new one or an amendment or a resubmission. | ReportType1Code - Required 1..1 |
PushedThroughBaseline building block
Specifies the commercial details of the underlying transaction. Specifies the commercial details of the underlying transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Baseline4 recursion level 0 with max 1 class Baseline4{ ServiceCode TradeFinanceService2Code LatestMatchDate IsoISODate IntentToPayExpected IsoYesNoIndicator } Baseline4 *-- "1..1" DocumentIdentification1 : SubmitterBaselineIdentification Baseline4 *-- "1..1" DocumentIdentification7 : PurchaseOrderReference Baseline4 *-- "1..1" PartyIdentification26 : Buyer Baseline4 *-- "1..1" PartyIdentification26 : Seller Baseline4 *-- "1..1" BICIdentification1 : BuyerBank Baseline4 *-- "1..1" BICIdentification1 : SellerBank Baseline4 *-- "0..0" BICIdentification1 : BuyerSideSubmittingBank Baseline4 *-- "0..0" BICIdentification1 : SellerSideSubmittingBank Baseline4 *-- "0..1" PartyIdentification26 : BillTo Baseline4 *-- "0..1" PartyIdentification26 : ShipTo Baseline4 *-- "0..1" PartyIdentification26 : Consignee Baseline4 *-- "1..1" LineItem11 : Goods Baseline4 *-- "1..0" PaymentTerms5 : PaymentTerms Baseline4 *-- "0..1" SettlementTerms3 : SettlementTerms Baseline4 *-- "0..0" PaymentObligation2 : PaymentObligation Baseline4 *-- "1..1" RequiredSubmission2 : CommercialDataSetRequired Baseline4 *-- "0..1" RequiredSubmission2 : TransportDataSetRequired Baseline4 *-- "0..1" RequiredSubmission3 : InsuranceDataSetRequired Baseline4 *-- "0..0" RequiredSubmission4 : CertificateDataSetRequired Baseline4 *-- "0..0" RequiredSubmission5 : OtherCertificateDataSetRequired %% DocumentIdentification1 recursion level 1 with max 1 class DocumentIdentification1{ Identification IsoMax35Text Version IsoNumber } DocumentIdentification1 *-- "1..1" BICIdentification1 : Submitter %% DocumentIdentification7 recursion level 1 with max 1 class DocumentIdentification7{ Identification IsoMax35Text DateOfIssue 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 %% BICIdentification1 recursion level 1 with max 1 class BICIdentification1{ BIC IsoBICIdentifier } %% BICIdentification1 recursion level 1 with max 1 class BICIdentification1{ BIC IsoBICIdentifier } %% BICIdentification1 recursion level 1 with max 1 class BICIdentification1{ BIC IsoBICIdentifier } %% BICIdentification1 recursion level 1 with max 1 class BICIdentification1{ BIC IsoBICIdentifier } %% 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 %% LineItem11 recursion level 1 with max 1 class LineItem11{ GoodsDescription IsoMax70Text PartialShipment IsoYesNoIndicator TransShipment IsoYesNoIndicator LineItemsTotalAmount IsoCurrencyAndAmount TotalNetAmount IsoCurrencyAndAmount } LineItem11 *-- "0..1" ShipmentDateRange1 : ShipmentDateRange LineItem11 *-- "1..0" LineItemDetails10 : LineItemDetails LineItem11 *-- "0..1" TransportMeans5 : RoutingSummary LineItem11 *-- "0..1" Incoterms4 : Incoterms LineItem11 *-- "0..0" Adjustment7 : Adjustment LineItem11 *-- "0..1" Charge24 : FreightCharges LineItem11 *-- "0..0" Tax23 : Tax LineItem11 *-- "0..0" UserDefinedInformation1 : BuyerDefinedInformation LineItem11 *-- "0..0" UserDefinedInformation1 : SellerDefinedInformation %% PaymentTerms5 recursion level 1 with max 1 PaymentTerms5 *-- "1..1" IPaymentCodeOrOther2Choice : PaymentTerms PaymentTerms5 *-- "1..1" IAmountOrPercentage2Choice : AmountOrPercentage %% SettlementTerms3 recursion level 1 with max 1 SettlementTerms3 *-- "0..1" IFinancialInstitutionIdentification4Choice : CreditorAgent SettlementTerms3 *-- "1..1" CashAccount24 : CreditorAccount %% PaymentObligation2 recursion level 1 with max 1 class PaymentObligation2{ ExpiryDate IsoISODate ApplicableLaw CountryCode } PaymentObligation2 *-- "1..1" BICIdentification1 : ObligorBank PaymentObligation2 *-- "1..1" BICIdentification1 : RecipientBank PaymentObligation2 *-- "1..1" IAmountOrPercentage2Choice : PaymentObligationAmount PaymentObligation2 *-- "0..0" Charges5 : Charges PaymentObligation2 *-- "0..1" IBPOApplicableRules1Choice : ApplicableRules PaymentObligation2 *-- "0..1" Location2 : PlaceOfJurisdiction PaymentObligation2 *-- "0..0" PaymentTerms4 : PaymentTerms PaymentObligation2 *-- "0..1" SettlementTerms3 : SettlementTerms %% RequiredSubmission2 recursion level 1 with max 1 RequiredSubmission2 *-- "1..0" BICIdentification1 : Submitter %% RequiredSubmission2 recursion level 1 with max 1 RequiredSubmission2 *-- "1..0" BICIdentification1 : Submitter %% RequiredSubmission3 recursion level 1 with max 1 class RequiredSubmission3{ MatchIssueDate IsoYesNoIndicator MatchTransport IsoYesNoIndicator MatchAmount IsoYesNoIndicator ClausesRequired InsuranceClauses1Code MatchAssuredParty AssuredType1Code } RequiredSubmission3 *-- "1..0" BICIdentification1 : Submitter RequiredSubmission3 *-- "0..1" PartyIdentification27 : MatchIssuer %% RequiredSubmission4 recursion level 1 with max 1 class RequiredSubmission4{ CertificateType TradeCertificateType1Code MatchIssueDate IsoYesNoIndicator MatchInspectionDate IsoYesNoIndicator AuthorisedInspectorIndicator IsoYesNoIndicator MatchConsignee IsoYesNoIndicator LineItemIdentification IsoMax70Text } RequiredSubmission4 *-- "1..0" BICIdentification1 : Submitter RequiredSubmission4 *-- "0..1" PartyIdentification27 : MatchIssuer RequiredSubmission4 *-- "0..1" PartyIdentification27 : MatchManufacturer %% RequiredSubmission5 recursion level 1 with max 1 class RequiredSubmission5{ CertificateType TradeCertificateType2Code } RequiredSubmission5 *-- "1..0" BICIdentification1 : Submitter
Baseline4 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
SubmitterBaselineIdentification | Identifies the baseline provided by the submitter. | DocumentIdentification1 - Required 1..1 |
ServiceCode | Identifies the service requested by the submitter by means of a code. | TradeFinanceService2Code - Required 1..1 |
PurchaseOrderReference | Reference to the purchase order of the underlying transaction. | DocumentIdentification7 - 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 |
BuyerBank | Financial institution of the buyer, uniquely identified by its BIC. | BICIdentification1 - Required 1..1 |
SellerBank | Financial institution of the seller, uniquely identified by its BIC. | BICIdentification1 - Required 1..1 |
BuyerSideSubmittingBank | Financial institution on the buyer’s side, uniquely identified by its BIC. As part of the transaction, it may submit data sets. | BICIdentification1 - Unknown 0..0 |
SellerSideSubmittingBank | Financial institution on the seller’s side, uniquely identified by its BIC. As part of the transaction, it may submit data sets. | BICIdentification1 - Unknown 0..0 |
BillTo | Party to be invoiced for the purchase. | PartyIdentification26 - Optional 0..1 |
ShipTo | Party to whom the goods must be delivered in the end. | PartyIdentification26 - Optional 0..1 |
Consignee | Party to whom the goods must be delivered. | PartyIdentification26 - Optional 0..1 |
Goods | Goods or services that are part of a commercial trade agreement. | LineItem11 - Required 1..1 |
PaymentTerms | Specifies the payment terms by means of a code and a limit in time. | PaymentTerms5 - Unknown 1..0 |
SettlementTerms | Specifies how the underlying transaction should be settled. | SettlementTerms3 - Optional 0..1 |
PaymentObligation | Specifies the details of the payment obligation between financial institutions in this transaction. | PaymentObligation2 - Unknown 0..0 |
LatestMatchDate | Specifies the latest date on which a data set must be matched with a baseline. | IsoISODate - Optional 0..1 |
CommercialDataSetRequired | Specifies that a commercial data set is required for each shipment part of the transaction. | RequiredSubmission2 - Required 1..1 |
TransportDataSetRequired | Specifies that a transport data set is required for each shipment part of the transaction. | RequiredSubmission2 - Optional 0..1 |
InsuranceDataSetRequired | Specifies that an insurance data set is required for each shipment part of the transaction. | RequiredSubmission3 - Optional 0..1 |
CertificateDataSetRequired | Specifies that a certificate data set is required for each shipment part of the transaction. | RequiredSubmission4 - Unknown 0..0 |
OtherCertificateDataSetRequired | Specifies that another type of certificate data set is required for each shipment part of the transaction. | RequiredSubmission5 - Unknown 0..0 |
IntentToPayExpected | Specifies that IntentToPayNotice message(s) are expected as part of this transaction. | IsoYesNoIndicator - Required 1..1 |
BuyerContactPerson building block
Person to be contacted in the organisation of the buyer. Information needed to contact a physical person. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ContactIdentification1 recursion level 0 with max 1 class ContactIdentification1{ Name IsoMax35Text NamePrefix NamePrefix1Code GivenName IsoMax35Text Role IsoMax35Text PhoneNumber IsoPhoneNumber FaxNumber IsoPhoneNumber EmailAddress IsoMax256Text }
ContactIdentification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Name | Name by which a party is known and which is usually used to identify that party. | IsoMax35Text - Required 1..1 |
NamePrefix | Specifies the terms used to formally address a person. | NamePrefix1Code - Optional 0..1 |
GivenName | First name of a person. | IsoMax35Text - Optional 0..1 |
Role | Role of the party in the activity. | IsoMax35Text - Optional 0..1 |
PhoneNumber | Collection of information that identifies a phone number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
FaxNumber | Collection of information that identifies a FAX number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
EmailAddress | Address for electronic mail (e-mail). | IsoMax256Text - Optional 0..1 |
SellerContactPerson building block
Person to be contacted in the organisation of the seller. Information needed to contact a physical person. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ContactIdentification1 recursion level 0 with max 1 class ContactIdentification1{ Name IsoMax35Text NamePrefix NamePrefix1Code GivenName IsoMax35Text Role IsoMax35Text PhoneNumber IsoPhoneNumber FaxNumber IsoPhoneNumber EmailAddress IsoMax256Text }
ContactIdentification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Name | Name by which a party is known and which is usually used to identify that party. | IsoMax35Text - Required 1..1 |
NamePrefix | Specifies the terms used to formally address a person. | NamePrefix1Code - Optional 0..1 |
GivenName | First name of a person. | IsoMax35Text - Optional 0..1 |
Role | Role of the party in the activity. | IsoMax35Text - Optional 0..1 |
PhoneNumber | Collection of information that identifies a phone number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
FaxNumber | Collection of information that identifies a FAX number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
EmailAddress | Address for electronic mail (e-mail). | IsoMax256Text - Optional 0..1 |
BuyerBankContactPerson building block
Person to be contacted in the buyer’s bank. Information needed to contact a physical person. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ContactIdentification1 recursion level 0 with max 1 class ContactIdentification1{ Name IsoMax35Text NamePrefix NamePrefix1Code GivenName IsoMax35Text Role IsoMax35Text PhoneNumber IsoPhoneNumber FaxNumber IsoPhoneNumber EmailAddress IsoMax256Text }
ContactIdentification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Name | Name by which a party is known and which is usually used to identify that party. | IsoMax35Text - Required 1..1 |
NamePrefix | Specifies the terms used to formally address a person. | NamePrefix1Code - Optional 0..1 |
GivenName | First name of a person. | IsoMax35Text - Optional 0..1 |
Role | Role of the party in the activity. | IsoMax35Text - Optional 0..1 |
PhoneNumber | Collection of information that identifies a phone number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
FaxNumber | Collection of information that identifies a FAX number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
EmailAddress | Address for electronic mail (e-mail). | IsoMax256Text - Optional 0..1 |
SellerBankContactPerson building block
Person to be contacted in the seller’s bank. Information needed to contact a physical person. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ContactIdentification1 recursion level 0 with max 1 class ContactIdentification1{ Name IsoMax35Text NamePrefix NamePrefix1Code GivenName IsoMax35Text Role IsoMax35Text PhoneNumber IsoPhoneNumber FaxNumber IsoPhoneNumber EmailAddress IsoMax256Text }
ContactIdentification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Name | Name by which a party is known and which is usually used to identify that party. | IsoMax35Text - Required 1..1 |
NamePrefix | Specifies the terms used to formally address a person. | NamePrefix1Code - Optional 0..1 |
GivenName | First name of a person. | IsoMax35Text - Optional 0..1 |
Role | Role of the party in the activity. | IsoMax35Text - Optional 0..1 |
PhoneNumber | Collection of information that identifies a phone number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
FaxNumber | Collection of information that identifies a FAX number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
EmailAddress | Address for electronic mail (e-mail). | IsoMax256Text - Optional 0..1 |
OtherBankContactPerson building block
Person to be contacted in another bank than the seller or buyer’s bank. Information needed to contact a physical person. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ContactIdentification3 recursion level 0 with max 1 class ContactIdentification3{ BIC IsoBICIdentifier Name IsoMax35Text NamePrefix NamePrefix1Code GivenName IsoMax35Text Role IsoMax35Text PhoneNumber IsoPhoneNumber FaxNumber IsoPhoneNumber EmailAddress IsoMax256Text }
ContactIdentification3 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
BIC | Business Identifier Code to identify the financial institution that the contact person belongs to. | IsoBICIdentifier - Required 1..1 |
Name | Name by which a party is known and which is usually used to identify that party. | IsoMax35Text - Required 1..1 |
NamePrefix | Specifies the terms used to formally address a person. | NamePrefix1Code - Optional 0..1 |
GivenName | First name of a person. | IsoMax35Text - Optional 0..1 |
Role | Role of the party in the activity. | IsoMax35Text - Optional 0..1 |
PhoneNumber | Collection of information that identifies a phone number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
FaxNumber | Collection of information that identifies a FAX number, as defined by telecom services. | IsoPhoneNumber - Optional 0..1 |
EmailAddress | Address for electronic mail (e-mail). | IsoMax256Text - Optional 0..1 |
RequestForAction building block
Information on the 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 FullPushThroughReportV04 implementation follows a specific implementaiton pattern. First of all, FullPushThroughReportV04 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, FullPushThroughReportV04Document implements IOuterDocument. Because FullPushThroughReportV04 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type FullPushThroughReportV04.
classDiagram class IOuterRecord FullPushThroughReportV04 --|> IOuterRecord : Implements FullPushThroughReportV04Document --|> IOuterDocument~FullPushThroughReportV04~ : Implements class IOuterDocument~FullPushThroughReportV04~ { FullPushThroughReportV04 Message }
Document wrapper for serialization
The only real purpose FullPushThroughReportV04Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:tsmt.018.001.04’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using FullPushThroughReportV04.ToDocument() method. The returned FullPushThroughReportV04Document value will serialize correctly according to ISO 20022 standards.
classDiagram FullPushThroughReportV04Document *-- FullPushThroughReportV04 : 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.018.001.04">
<FullPushThrghRpt>
<RptId>
<!-- ReportIdentification inner content -->
</RptId>
<TxId>
<!-- TransactionIdentification inner content -->
</TxId>
<EstblishdBaselnId>
<!-- EstablishedBaselineIdentification inner content -->
</EstblishdBaselnId>
<TxSts>
<!-- TransactionStatus inner content -->
</TxSts>
<UsrTxRef>
<!-- UserTransactionReference inner content -->
</UsrTxRef>
<RptPurp>
<!-- ReportPurpose inner content -->
</RptPurp>
<PushdThrghBaseln>
<!-- PushedThroughBaseline inner content -->
</PushdThrghBaseln>
<BuyrCtctPrsn>
<!-- BuyerContactPerson inner content -->
</BuyrCtctPrsn>
<SellrCtctPrsn>
<!-- SellerContactPerson inner content -->
</SellrCtctPrsn>
<BuyrBkCtctPrsn>
<!-- BuyerBankContactPerson inner content -->
</BuyrBkCtctPrsn>
<SellrBkCtctPrsn>
<!-- SellerBankContactPerson inner content -->
</SellrBkCtctPrsn>
<OthrBkCtctPrsn>
<!-- OtherBankContactPerson inner content -->
</OthrBkCtctPrsn>
<ReqForActn>
<!-- RequestForAction inner content -->
</ReqForActn>
</FullPushThrghRpt>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_9e8ZUdNTEeK-v49t1oWkNA"
nextVersions="_eIi6UQgGEeSeS5xdjFfOTw"
previousVersion="_paNNeNE8Ed-BzquC8wXy7w_-1602880214"
name="FullPushThroughReportV04"
definition="Scope
The FullPushThroughReport message is sent by the matching application to a party involved in a transaction.
This message is used to pass on information that the matching application has received from the submitter. The forwarded information can originate from an InitialBaselineSubmission or BaselineReSubmission or BaselineAmendmentRequest message.
Usage
The FullPushThroughReport message can be sent by the matching application to a party to convey
- the details of an InitialBaselineSubmission message that it has obtained, or
- the details of a BaselineResubmission message that it has obtained, or
- the details of a BaselineAmendmentRequest message that it has obtained."
registrationStatus="Registered"
messageSet="_wRx2yk2rEeG_I4xRYCA_7g _urpIICeJEeOCeO5e7islRQ"
xmlTag="FullPushThrghRpt"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<doclet
xmi:id="_9oQtYNNTEeK-v49t1oWkNA"
type="purpose" />
<messageBuildingBlock
xmi:id="_9e8ZU9NTEeK-v49t1oWkNA"
nextVersions="_eIi6VQgGEeSeS5xdjFfOTw"
previousVersion="_paNNedE8Ed-BzquC8wXy7w_-1602880211"
name="ReportIdentification"
definition="Identifies the report."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="RptId"
complexType="_Q7pG5Np-Ed-ak6NoX_4Aeg_-967008570" />
<messageBuildingBlock
xmi:id="_9e8ZVdNTEeK-v49t1oWkNA"
nextVersions="_eIi6VwgGEeSeS5xdjFfOTw"
previousVersion="_paNNetE8Ed-BzquC8wXy7w_-1602880178"
name="TransactionIdentification"
definition="Unique identification assigned by the matching application to the transaction.
This identification is to be used in any communication between the parties."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="TxId"
complexType="_P-ile9p-Ed-ak6NoX_4Aeg_745508310" />
<messageBuildingBlock
xmi:id="_9e8ZV9NTEeK-v49t1oWkNA"
nextVersions="_eIi6WQgGEeSeS5xdjFfOTw"
previousVersion="_paNNe9E8Ed-BzquC8wXy7w_-1602879810"
name="EstablishedBaselineIdentification"
definition="Unique identification assigned by the matching application to the baseline when it is established."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="EstblishdBaselnId"
complexType="_RJNBwdp-Ed-ak6NoX_4Aeg_-1127047102" />
<messageBuildingBlock
xmi:id="_9e8ZWdNTEeK-v49t1oWkNA"
nextVersions="_eIi6WwgGEeSeS5xdjFfOTw"
previousVersion="_paNNfNE8Ed-BzquC8wXy7w_-1602880093"
name="TransactionStatus"
definition="Identifies the status of the transaction by means of a code."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="TxSts"
complexType="_RbFb-Np-Ed-ak6NoX_4Aeg_1598523783" />
<messageBuildingBlock
xmi:id="_9e8ZW9NTEeK-v49t1oWkNA"
nextVersions="_eIi6XQgGEeSeS5xdjFfOTw"
previousVersion="_paW-cNE8Ed-BzquC8wXy7w_-1602879793"
name="UserTransactionReference"
definition="Reference to the transaction for the financial institution which submitted the baseline."
registrationStatus="Provisionally Registered"
maxOccurs="2"
minOccurs="0"
xmlTag="UsrTxRef"
complexType="_RJWLsdp-Ed-ak6NoX_4Aeg_-86119846" />
<messageBuildingBlock
xmi:id="_9e8ZXdNTEeK-v49t1oWkNA"
nextVersions="_eIi6XwgGEeSeS5xdjFfOTw"
previousVersion="_paW-cdE8Ed-BzquC8wXy7w_-1602880136"
name="ReportPurpose"
definition="Specifies the type of report."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="RptPurp"
complexType="_RJ8opdp-Ed-ak6NoX_4Aeg_1748144086" />
<messageBuildingBlock
xmi:id="_9e9AYdNTEeK-v49t1oWkNA"
nextVersions="_eIi6YQgGEeSeS5xdjFfOTw"
previousVersion="_paW-ctE8Ed-BzquC8wXy7w_-1602879673"
name="PushedThroughBaseline"
definition="Specifies the commercial details of the underlying transaction."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="PushdThrghBaseln"
complexType="_Ym19EdM7EeK-v49t1oWkNA" />
<messageBuildingBlock
xmi:id="_9e9AY9NTEeK-v49t1oWkNA"
nextVersions="_eIi6YwgGEeSeS5xdjFfOTw"
previousVersion="_paW-c9E8Ed-BzquC8wXy7w_-1602879715"
name="BuyerContactPerson"
definition="Person to be contacted in the organisation of the buyer."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="BuyrCtctPrsn"
complexType="_QBOtE9p-Ed-ak6NoX_4Aeg_-1391367345" />
<messageBuildingBlock
xmi:id="_9e9AZdNTEeK-v49t1oWkNA"
nextVersions="_eIi6ZQgGEeSeS5xdjFfOTw"
previousVersion="_paW-dNE8Ed-BzquC8wXy7w_-1602879163"
name="SellerContactPerson"
definition="Person to be contacted in the organisation of the seller."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="SellrCtctPrsn"
complexType="_QBOtE9p-Ed-ak6NoX_4Aeg_-1391367345" />
<messageBuildingBlock
xmi:id="_9e9AZ9NTEeK-v49t1oWkNA"
nextVersions="_eIi6ZwgGEeSeS5xdjFfOTw"
previousVersion="_paW-ddE8Ed-BzquC8wXy7w_-1602879518"
name="BuyerBankContactPerson"
definition="Person to be contacted in the buyer's bank."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="BuyrBkCtctPrsn"
complexType="_QBOtE9p-Ed-ak6NoX_4Aeg_-1391367345" />
<messageBuildingBlock
xmi:id="_9e9AadNTEeK-v49t1oWkNA"
nextVersions="_eIi6aQgGEeSeS5xdjFfOTw"
previousVersion="_paW-dtE8Ed-BzquC8wXy7w_-1602879638"
name="SellerBankContactPerson"
definition="Person to be contacted in the seller's bank."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="SellrBkCtctPrsn"
complexType="_QBOtE9p-Ed-ak6NoX_4Aeg_-1391367345" />
<messageBuildingBlock
xmi:id="_9e9Aa9NTEeK-v49t1oWkNA"
nextVersions="_eIi6awgGEeSeS5xdjFfOTw"
previousVersion="_paW-d9E8Ed-BzquC8wXy7w_-595440751"
name="OtherBankContactPerson"
definition="Person to be contacted in another bank than the seller or buyer's bank."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="OthrBkCtctPrsn"
complexType="_QDTwsdp-Ed-ak6NoX_4Aeg_-1939165929" />
<messageBuildingBlock
xmi:id="_9e9AbdNTEeK-v49t1oWkNA"
nextVersions="_eIi6bQgGEeSeS5xdjFfOTw"
previousVersion="_pagIYNE8Ed-BzquC8wXy7w_-1602879750"
name="RequestForAction"
definition="Information on the next processing step required."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="ReqForActn"
complexType="_RaowBtp-Ed-ak6NoX_4Aeg_-888447978" />
<messageDefinitionIdentifier
businessArea="tsmt"
messageFunctionality="018"
flavour="001"
version="04" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.