BackupPaymentV07

camt.023.001.07

Scope The BackupPayment message is sent by a member to the transaction administrator. It is used to request a liquidity transfer from the member to another participant in the system when the user is in recovery mode. Usage Under very specific circumstances, the transaction administrator can accept direct input of transactions as part of its cash management functionalities. This possibility is available only when a declared incident has been reported to the transaction administrator This could be the case, for example, when the internal systems of the member are having problems sending out payments or when the continuity of the whole system is put at risk. The purpose of the BackupPayment message is to prevent the consequences of a specific failure affecting not only the member experiencing problems but also its counterparties. Members can therefore input transactions directly in order to ensure the stability of the system and smooth exchanges. At any time during the operating hours of the system, and under the agreed circumstances, the member can request a backup payment to be effected. The member can request the transfer by identifying the following elements:

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
%% BackupPaymentV07 recursion level 0 with max 0
BackupPaymentV07 *-- "1..1" MessageHeader1 : MessageHeader
BackupPaymentV07 *-- "0..1" MessageHeader1 : OriginalMessageIdentification
BackupPaymentV07 *-- "0..1" PaymentInstruction13 : InstructionInformation
BackupPaymentV07 *-- "1..1" IAmount2Choice : TransferredAmount
BackupPaymentV07 *-- "1..1" SystemMember3 : Creditor
BackupPaymentV07 *-- "0..1" SystemMember3 : CreditorAgent
BackupPaymentV07 *-- "0..1" SystemMember3 : DebtorAgent
BackupPaymentV07 *-- "0..1" SupplementaryData1 : SupplementaryData
  

Now, we will zero-in one-by-one on each of these building blocks.

MessageHeader building block

Common business identification for the message. Set of characteristics, such as the identification or the creation date and time, specific to the message. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% MessageHeader1 recursion level 0 with max 1
class MessageHeader1{
    MessageIdentification IsoMax35Text
    CreationDateTime IsoISODateTime
}
  

MessageHeader1 members

Member name Description Data Type / Multiplicity
MessageIdentification Point to point reference, as assigned by the sender, to unambiguously identify the message. Usage: The sender has to make sure that MessageIdentification is unique for a pre-agreed period. IsoMax35Text - Required 1..1
CreationDateTime Date and time at which the message was created. IsoISODateTime - Optional 0..1

OriginalMessageIdentification building block

Identifies the original message identification. This was formerly the PaymentInstructionReference. Set of characteristics, such as the identification or the creation date and time, specific to the message. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% MessageHeader1 recursion level 0 with max 1
class MessageHeader1{
    MessageIdentification IsoMax35Text
    CreationDateTime IsoISODateTime
}
  

MessageHeader1 members

Member name Description Data Type / Multiplicity
MessageIdentification Point to point reference, as assigned by the sender, to unambiguously identify the message. Usage: The sender has to make sure that MessageIdentification is unique for a pre-agreed period. IsoMax35Text - Required 1..1
CreationDateTime Date and time at which the message was created. IsoISODateTime - Optional 0..1

InstructionInformation building block

Provides details on the execution and type of payment contained in the instruction. Instruction to pay an amount of money to an ultimate beneficiary, on behalf of an originator. This instruction may have to be forwarded several times to complete the settlement chain. . For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% PaymentInstruction13 recursion level 0 with max 1
class PaymentInstruction13{
    RequestedExecutionDateTime IsoISODateTime
}
PaymentInstruction13 *-- "0..1" IPaymentType4Choice : PaymentType
%% IPaymentType4Choice recursion level 1 with max 1
  

PaymentInstruction13 members

Member name Description Data Type / Multiplicity
RequestedExecutionDateTime Date at which the initiating party requests that the payment instruction be processed. .
PaymentType Type, or nature, of the payment, for example an express payment. IPaymentType4Choice - Optional 0..1

TransferredAmount building block

Quantity of cash that the transaction administrator transfers from one account to another. Choice between an amount with or without the currency. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IAmount2Choice recursion level 0 with max 1
  

Amount2Choice members

Member name Description Data Type / Multiplicity

Creditor building block

Party that receives an amount of money from the debtor. Provides details about a system and about a member of a system. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SystemMember3 recursion level 0 with max 1
SystemMember3 *-- "0..1" ISystemIdentification2Choice : SystemIdentification
SystemMember3 *-- "1..1" IMemberIdentification3Choice : MemberIdentification
%% ISystemIdentification2Choice recursion level 1 with max 1
%% IMemberIdentification3Choice recursion level 1 with max 1
  

SystemMember3 members

Member name Description Data Type / Multiplicity
SystemIdentification Identification of a particular cash clearing system. ISystemIdentification2Choice - Optional 0..1
MemberIdentification Unique and unambiguous identification of a member within a system, assigned using the member identification scheme of the system. IMemberIdentification3Choice - Required 1..1

CreditorAgent building block

Financial institution that receives the payment transaction on behalf of an account owner, or other nominated party, and credits the account. Provides details about a system and about a member of a system. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SystemMember3 recursion level 0 with max 1
SystemMember3 *-- "0..1" ISystemIdentification2Choice : SystemIdentification
SystemMember3 *-- "1..1" IMemberIdentification3Choice : MemberIdentification
%% ISystemIdentification2Choice recursion level 1 with max 1
%% IMemberIdentification3Choice recursion level 1 with max 1
  

SystemMember3 members

Member name Description Data Type / Multiplicity
SystemIdentification Identification of a particular cash clearing system. ISystemIdentification2Choice - Optional 0..1
MemberIdentification Unique and unambiguous identification of a member within a system, assigned using the member identification scheme of the system. IMemberIdentification3Choice - Required 1..1

DebtorAgent building block

Financial institution that receives the payment transaction from the account owner, or other authorised party, and processes the instruction. Provides details about a system and about a member of a system. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SystemMember3 recursion level 0 with max 1
SystemMember3 *-- "0..1" ISystemIdentification2Choice : SystemIdentification
SystemMember3 *-- "1..1" IMemberIdentification3Choice : MemberIdentification
%% ISystemIdentification2Choice recursion level 1 with max 1
%% IMemberIdentification3Choice recursion level 1 with max 1
  

SystemMember3 members

Member name Description Data Type / Multiplicity
SystemIdentification Identification of a particular cash clearing system. ISystemIdentification2Choice - Optional 0..1
MemberIdentification Unique and unambiguous identification of a member within a system, assigned using the member identification scheme of the system. IMemberIdentification3Choice - Required 1..1

SupplementaryData building block

Additional information that cannot be captured in the structured elements and/or any other specific block. Additional information that can not be captured in the structured fields and/or any other specific block. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SupplementaryData1 recursion level 0 with max 1
class SupplementaryData1{
    PlaceAndName IsoMax350Text
}
SupplementaryData1 *-- "1..1" IsoSupplementaryDataEnvelope1 : Envelope
%% IsoSupplementaryDataEnvelope1 recursion level 1 with max 1
  

SupplementaryData1 members

Member name Description Data Type / Multiplicity
PlaceAndName Unambiguous reference to the location where the supplementary data must be inserted in the message instance. In the case of XML, this is expressed by a valid XPath. IsoMax350Text - Optional 0..1
Envelope Technical element wrapping the supplementary data. IsoSupplementaryDataEnvelope1 - Required 1..1

Extensibility and generalization considerations

To facilitate generalized design patterns in the system, the BackupPaymentV07 implementation follows a specific implementaiton pattern. First of all, BackupPaymentV07 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, BackupPaymentV07Document implements IOuterDocument. Because BackupPaymentV07 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type BackupPaymentV07.

classDiagram
    class IOuterRecord
    BackupPaymentV07 --|> IOuterRecord : Implements
    BackupPaymentV07Document --|> IOuterDocument~BackupPaymentV07~ : Implements
    class IOuterDocument~BackupPaymentV07~ {
        BackupPaymentV07 Message
     }
  

Document wrapper for serialization

The only real purpose BackupPaymentV07Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:camt.023.001.07’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using BackupPaymentV07.ToDocument() method. The returned BackupPaymentV07Document value will serialize correctly according to ISO 20022 standards.

classDiagram
    BackupPaymentV07Document *-- BackupPaymentV07 : 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:camt.023.001.07">
    <BckpPmt>
        <MsgHdr>
            <!-- MessageHeader inner content -->
        </MsgHdr>
        <OrgnlMsgId>
            <!-- OriginalMessageIdentification inner content -->
        </OrgnlMsgId>
        <InstrInf>
            <!-- InstructionInformation inner content -->
        </InstrInf>
        <TrfdAmt>
            <!-- TransferredAmount inner content -->
        </TrfdAmt>
        <Cdtr>
            <!-- Creditor inner content -->
        </Cdtr>
        <CdtrAgt>
            <!-- CreditorAgent inner content -->
        </CdtrAgt>
        <DbtrAgt>
            <!-- DebtorAgent inner content -->
        </DbtrAgt>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </BckpPmt>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_jwlbMRbvEeiyVv5j1vf1VQ"
  name="BackupPaymentV07"
  definition="Scope&#xD;&#xA;The BackupPayment message is sent by a member to the transaction administrator.&#xD;&#xA;It is used to request a liquidity transfer from the member to another participant in the system when the user is in recovery mode.&#xD;&#xA;Usage&#xD;&#xA;Under very specific circumstances, the transaction administrator can accept direct input of transactions as part of its cash management functionalities. This possibility is available only when a declared incident has been reported to the transaction administrator This could be the case, for example, when the internal systems of the member are having problems sending out payments or when the continuity of the whole system is put at risk.&#xD;&#xA;The purpose of the BackupPayment message is to prevent the consequences of a specific failure affecting not only the member experiencing problems but also its counterparties. Members can therefore input transactions directly in order to ensure the stability of the system and smooth exchanges.&#xD;&#xA;At any time during the operating hours of the system, and under the agreed circumstances, the member can request a backup payment to be effected.&#xD;&#xA;The member can request the transfer by identifying the following elements:&#xD;&#xA;- party (account owner) that will receive the funds&#xD;&#xA;- the financial institution that will receive the funds on behalf of the account owner&#xD;&#xA;Based on the criteria received within the BackupPayment message, the transaction administrator will execute or reject the requested funds transfer.&#xD;&#xA;The transaction administrator may send a Receipt message as a reply to the BackupPayment request.&#xD;&#xA;To verify the outcome of the request, the member may submit a GetTransaction or GetAccount message with the appropriate search criteria."
  registrationStatus="Registered"
  messageSet="_SZTDoxcNEeiyVv5j1vf1VQ"
  xmlTag="BckpPmt"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_jwlbMxbvEeiyVv5j1vf1VQ"
    name="MessageHeader"
    definition="Common business identification for the message."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="MsgHdr"
    complexType="_75DzkaMgEeCJ6YNENx4h-w_-613853819" />
  <messageBuildingBlock
    xmi:id="_jwlbNRbvEeiyVv5j1vf1VQ"
    name="OriginalMessageIdentification"
    definition="Identifies the original message identification.&#xA;This was formerly the PaymentInstructionReference."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="OrgnlMsgId"
    complexType="_75DzkaMgEeCJ6YNENx4h-w_-613853819" />
  <messageBuildingBlock
    xmi:id="_jwlbNxbvEeiyVv5j1vf1VQ"
    name="InstructionInformation"
    definition="Provides details on the execution and type of payment contained in the instruction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="InstrInf"
    complexType="_Lss7yxbwEeOy-PlRuFSUzQ" />
  <messageBuildingBlock
    xmi:id="_jwlbORbvEeiyVv5j1vf1VQ"
    name="TransferredAmount"
    definition="Quantity of cash that the transaction administrator transfers from one account to another."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="TrfdAmt"
    complexType="_75DzlKMgEeCJ6YNENx4h-w_890446015" />
  <messageBuildingBlock
    xmi:id="_jwlbOxbvEeiyVv5j1vf1VQ"
    name="Creditor"
    definition="Party that receives an amount of money from the debtor."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Cdtr"
    complexType="_htb_MXSbEeiH1ZOt2UD8vQ" />
  <messageBuildingBlock
    xmi:id="_jwlbPRbvEeiyVv5j1vf1VQ"
    name="CreditorAgent"
    definition="Financial institution that receives the payment transaction on behalf of an account owner, or other nominated party, and credits the account."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CdtrAgt"
    complexType="_htb_MXSbEeiH1ZOt2UD8vQ" />
  <messageBuildingBlock
    xmi:id="_jwlbPxbvEeiyVv5j1vf1VQ"
    name="DebtorAgent"
    definition="Financial institution that receives the payment transaction from the account owner, or other authorised party, and processes the instruction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="DbtrAgt"
    complexType="_htb_MXSbEeiH1ZOt2UD8vQ" />
  <messageBuildingBlock
    xmi:id="_jwlbQRbvEeiyVv5j1vf1VQ"
    name="SupplementaryData"
    definition="Additional information that cannot be captured in the structured elements and/or any other specific block."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="SplmtryData"
    complexType="_Qn0zC9p-Ed-ak6NoX_4Aeg_468227563" />
  <messageDefinitionIdentifier
    businessArea="camt"
    messageFunctionality="023"
    flavour="001"
    version="07" />
</messageDefinition>

ISO Building Blocks

The following items are used as building blocks to construct this message.