Ripple and ISO 20022

Ripple is a technology company that leverages decentralised block chain technology in order to facilitate cheaper and faster cross-border payments. ISO 20022 is the common language and model for financial messages being exchanged across the world. This blog post discusses what Ripple is and its adoption of ISO 20022.

What is Ripple?

Ripple and ISO 200222

Ripple is a RTGS, currency exchange and remittance network that is available to financial institutions. It uses cryptocurrency to power cross-border transactions.

Ripple was designed to be a replacement for the SWIFT network. It facilitates the transfer of a number of fiat currencies and cryptocurrencies between financial institutions for a small amount of XRP. This fee is small in comparison to the amount charged by banks for cross-border payments.

What is XRP?

XRP is the cryptocurrency native to RippleNet, the Ripple platform. It uses a decentralised blockchain known as the XRP Ledger (XRPL). XRP uses the Ripple transaction protocol (RTXP) to process transaction.

Distributed ledger technologies (DLT) have the potential to reduce costs of transactions. They also speed up the transaction processing because they remove the need for a central authority such as central banks or financial networks like SWIFT.

RippleNet has a facility, ODL, On-Demand Liquidity, which is used to buy XRP on the market when needed and selling it when received, effectively eliminating volatility by completing both transactions within seconds.

Ripple and ISO 20022

Ripple is part of the ISO 20022 standards body with a particular focus on distributed ledger technology. Its membership will allow customers to use RippleNet to access a network of global financial institutions and connect to one standardized API for all counterparty transactions.

Ripple can now provide RippleNet at a greater scale by conforming to the same standard that SWIFT and its members will use. SWIFT members will integrate more easily with RippleNet as they will adhere to the same message standard.

The use of distributed ledger technology within ISO 20022 will allow faster transaction processing and cross-border payments via a standardised API. ISO 20022 stands to become the global payments language and Ripple will benefit from this.

In a sense Ripple and ISO 20022 are quite complementary; both hope to make cross-border payments cheap, easy and automatic.

Camt.029 Message

The camt.029 message is the response the beneficiary bank sends to the originator bank when it rejects the camt.056 that the originator bank sent.

The camt.056 is a recall message used to cancel a credit transfer. It is the response to that camt.056 indicating that the camt.056 request was unsuccessful.

The camt.029 is a notification message. It is also known as a resolution of investigation and indicates to the originator that there will be no movement of funds to the originator.

The camt.029 is the opposite of the pacs.004 (positive response). The definition of the camt.029 and its message definition report can be found here.

Building Blocks of Camt.029

Camt.029 is composed of two blocks:

CaseAssignment

Identifies the party that initiated the investigation. It will also identify the party who the investigation refers to. It will contain the following elements:

  • Case Identification: A unique identifier assigned to the case
  • Creation Date and Time: The date and time when the case assignment was created.
  • Initiating Party: Information about the party initiating the case
  • Case Assignee: Information about the party to whom the case is assigned
  • Case Type: Indicates the type or category of the case (e.g., fraud investigation, customer complaint, transaction discrepancy).
  • Case Priority: Specifies the priority level assigned to the case
  • Case Subject: Provides a brief description of the case subject.
  • Case Description: Offers a more detailed description of the case.
  • Related Parties: Information about any parties involved with the case, such as the affected customer or counterparty.
  • Case Status: Indicates the current status of the case (e.g., opened, in progress, resolved)

        <Assgnmt>
            <Id>NegativeResponsetoaRecall</Id>
            <Assgnr>
                <Agt>
                    <FinInstnId>
                        <BIC>BTRLRO22</BIC>
                    </FinInstnId>
                </Agt>
            </Assgnr>
            <Assgne>
                <Agt>
                    <FinInstnId>
                        <BIC>INGBROBUXXX</BIC>
                    </FinInstnId>
                </Agt>
            </Assgne>
            <CreDtTm>2019-11-28T12:27:39</CreDtTm>
        </Assgnmt>

UnderlyingTransaction

Specifies the details of the underlying transactions being cancelled. It contains the following elements:

  • Case Identification: The unique identifier of the original case that is being cancelled or reversed.
  • Cancellation Reason: An explanation for the cancellation or reversal of the case assignment.
  • Cancellation Date and Time: The date and time when the cancellation of the case assignment took place.
  • Initiating Party: Information about the party initiating the cancellation or reversal
        <CxlDtls>
            <TxInfAndSts>
                <CxlStsId>NegativeResponsetoaRecall</CxlStsId>
                <OrgnlGrpInf>
                    <OrgnlMsgId>ORIGINAL PACS.008</OrgnlMsgId>
                    <OrgnlMsgNmId>pacs.008.001.02</OrgnlMsgNmId>
                </OrgnlGrpInf>
                <OrgnlInstrId>SCTORD156820191128000000000023</OrgnlInstrId>
                <OrgnlEndToEndId>NOTPROVIDED</OrgnlEndToEndId>
                <OrgnlTxId>107</OrgnlTxId>
                <TxCxlSts>RJCR</TxCxlSts>
                <CxlStsRsnInf>
                    <Orgtr>
                        <Id>
                            <OrgId>
                                <BICOrBEI>BTRLRO22</BICOrBEI>
                            </OrgId>
                        </Id>
                    </Orgtr>
                    <Rsn>
                        <Cd>AGNT</Cd>
                    </Rsn>
                </CxlStsRsnInf>
                <OrgnlTxRef>
                    <IntrBkSttlmAmt Ccy="EUR">30</IntrBkSttlmAmt>
                    <IntrBkSttlmDt>2019-11-28</IntrBkSttlmDt>
                    <SttlmInf>
                        <SttlmMtd>CLRG</SttlmMtd>
                        <ClrSys>
                            <Prtry>ST2</Prtry>
                        </ClrSys>
                    </SttlmInf>
                    <PmtTpInf>
                        <SvcLvl>
                            <Cd>SEPA</Cd>
                        </SvcLvl>
                    </PmtTpInf>
                    <RmtInf>
                        <Ustrd>test</Ustrd>
                    </RmtInf>
                    <Dbtr>
                        <Nm>John Doe</Nm>
                    </Dbtr>
                    <DbtrAcct>
                        <Id>
                            <IBAN>RO83BTRLY3TSFANS83CS8NHG</IBAN>
                        </Id>
                    </DbtrAcct>
                    <DbtrAgt>
                        <FinInstnId>
                            <BIC>BTRLRO22</BIC>
                        </FinInstnId>
                    </DbtrAgt>
                    <CdtrAgt>
                        <FinInstnId>
                            <BIC>INGBROBUXXX</BIC>
                        </FinInstnId>
                    </CdtrAgt>
                    <Cdtr>
                        <Nm>Bruno</Nm>
                    </Cdtr>
                    <CdtrAcct>
                        <Id>
                            <IBAN>RO41INGBIJEHFMQA3Y4VY19V</IBAN>
                        </Id>
                    </CdtrAcct>
                </OrgnlTxRef>
            </TxInfAndSts>
        </CxlDtls>

Camt.052 Message

Overview

The ISO 20022 camt.052 message is a bank to customer account report.

It is used to provide intraday account reports to customers. Both transactions and balances are provided in the camt.052. Intraday transactions are transactions that were booked on an account since the last book day closed. It may contain reports for more than one account.

The XML Schema and Message Definition Report for camt.052 can be downloaded fromĀ here.

camt.052

Building Blocks of Camt.052

GroupHeader

Contain all the common characteristics of all reports contained within the camt.052. It will contain the following elements:

  • Message Identification: A unique identifier assigned to the message
  • Creation Date and Time: The date and time when the message was created.
  • Number of Cases: The total count of individual cases or assignments included in the message.
  • Initiating Party: Information about the party initiating the message

Report

The Camt.052 will contain a number of reports. It will contain the following elements:

  • Report Identification: A unique identifier assigned to the report
  • Creation Date and Time: The date and time when the report was created.
  • Initiating Party: Information about the party initiating the report.
  • Cases: This section contains details about the individual cases or assignments being reported. Each case may include information such as the case identification, case type, case subject, case status, and other relevant details specific to the reported cases.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns:ns3="urn:iso:std:iso:20022:tech:xsd:camt.052.001.06">
    <BkToCstmrAcctRpt>
        <GrpHdr>
            <MsgId>0SFpm6pX85QG6zuVSpwW2buz92cZO5UjJlQ</MsgId>
            <CreDtTm>2020-06-27T05:45:12.099Z</CreDtTm>
        </GrpHdr>
        <Rpt>
            <Id>XowRd492aANA110aIfDcUBgf43VEsQlyOEg</Id>
            <CreDtTm>2020-06-27T05:45:12.100Z</CreDtTm>
            <FrToDt>
                <FrDtTm>2020-06-26T04:00:00.000Z</FrDtTm>
                <ToDtTm>2020-06-27T04:00:00.000Z</ToDtTm>
            </FrToDt>
            <Acct>
                <Id>
                    <Othr>
                        <Id>001-29712-1004728</Id>
                    </Othr>
                </Id>
                <Ownr>
                    <Nm> TEST ISO_1 etransfer</Nm>
                    <PstlAdr/>
                    <Id>
                        <OrgId>
                            <Othr>
                                <Id>00000001BISO01</Id>
                                <SchmeNm>
                                    <Cd>CUST</Cd>
                                </SchmeNm>
                            </Othr>
                        </OrgId>
                    </Id>
                </Ownr>
                <Svcr>
                    <FinInstnId>
                        <ClrSysMmbId>
                            <MmbId>CA000001</MmbId>
                        </ClrSysMmbId>
                    </FinInstnId>
                </Svcr>
            </Acct>
            <TxsSummry>
                <TtlNtriesPerBkTxCd>
                    <NbOfNtries>0</NbOfNtries>
                    <Sum>0.00</Sum>
                    <BkTxCd>
                        <Prtry>
                            <Cd>COMPLETED</Cd>
                        </Prtry>
                    </BkTxCd>
                </TtlNtriesPerBkTxCd>
                <TtlNtriesPerBkTxCd>
                    <NbOfNtries>9</NbOfNtries>
                    <Sum>0.42</Sum>
                    <BkTxCd>
                        <Prtry>
                            <Cd>CANCELLED</Cd>
                        </Prtry>
                    </BkTxCd>
                </TtlNtriesPerBkTxCd>
            </TxsSummry>
            <Ntry>
                <Amt Ccy="CAD">0.02</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Sts>INFO</Sts>
                <BkTxCd>
                    <Prtry>
                        <Cd>CANCELLED</Cd>
                    </Prtry>
                </BkTxCd>
                <AmtDtls>
                    <InstdAmt>
                        <Amt Ccy="CAD">0.02</Amt>
                    </InstdAmt>
                    <TxAmt>
                        <Amt Ccy="CAD">0.02</Amt>
                    </TxAmt>
                </AmtDtls>
                <NtryDtls>
                    <TxDtls>
                        <Refs>
                            <MsgId>BISO0120061100104</MsgId>
                            <InstrId>BISO0120061100104000001</InstrId>
                            <EndToEndId>BISO0120061100104000001</EndToEndId>
                            <ClrSysRef>CA1MRkX7rFRW</ClrSysRef>
                        </Refs>
                        <Amt Ccy="CAD">0.02</Amt>
                        <CdtDbtInd>CRDT</CdtDbtInd>
                        <RltdDts>
                            <TxDtTm>2020-06-26T17:30:00.603Z</TxDtTm>
                        </RltdDts>
                        <SplmtryData>
                            <Envlp>
                                <BulkReqPmtFnlzRptRecSplmtryData>
                                    <CnclRsn>3</CnclRsn>
                                </BulkReqPmtFnlzRptRecSplmtryData>
                            </Envlp>
                        </SplmtryData>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
        </Rpt>
    </BkToCstmrAcctRpt>
</Document>

Camt.053 Message

The originator bank issues the ISO 20022 camt.053 message to the originator.. It shows all of the transactions against the originator’s bank account on a given day.

In addition to debits/credits, the camt.053 will contain an opening and closing balance. It is also known as BankToCustomerAccountReport

You can find the definition of the CAMT.053, along with its message definition report, here

Building blocks of Camt.053

GroupHeader – this element is mandatory and contains the msg identifier and date and time the camt.053 was created.

Camt.053 GroupHeader

The GroupHeader contains the following elements:

  • Message Identification – unique identifier of the message
  • Creation Date and Time – creation date and time of the message
  • Number of Transactions – total number of individual transactions
  • Control Sum – sum of control amounts of all the transactions
  • Authorisation – indicates authorisation status of the message
  • From – indicate the financial institution which sent the account statement
  • To – indicate the customer receiving the account statement.

Statement(s) – The statement is a repetitive element and represents each bank account for which a statement is provided. Each statement will contain a balance and entries.

Camt.053 stmt

The statement(s) will contain the following elements:

  • Statement Identification – unique identifier for the message
  • Start/End Date and Time – indicates the duration in which the statement applies.
  • Frequency – indicates the frequency of the statement.
  • Update Type – indicates the purpose of the statement
  • Supplementary Data – indicates any additonal data provided
  • EntryDetails – Provides information about individual transactions in the statement