UnableToApply

camt.026.001.01

Scope The Unable To Apply message is sent by a case creator or a case assigner to a case assignee. This message is used to initiate an investigation of a payment instruction that cannot be executed or reconciled. Usage The Unable To Apply case occurs in two situations:

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
%% UnableToApply recursion level 0 with max 0
UnableToApply *-- "1..1" CaseAssignment : Assignment
UnableToApply *-- "1..1" Case : Case
UnableToApply *-- "1..1" PaymentInstructionExtract : Underlying
UnableToApply *-- "1..1" IUnableToApplyJustificationChoice : Justification
  

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

Assignment building block

Identifies the assignment. Represents the assignment of a case to a party. Assignment is a step in the overall process of managing a case. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CaseAssignment recursion level 0 with max 1
class CaseAssignment{
    Identification IsoMax35Text
    Assigner IsoAnyBICIdentifier
    Assignee IsoAnyBICIdentifier
    CreationDateTime IsoISODateTime
}
  

CaseAssignment members

Member name Description Data Type / Multiplicity
Identification Identification of an assignment within a case. IsoMax35Text - Required 1..1
Assigner Party that assigns the case to another party. This is also the sender of the message. IsoAnyBICIdentifier - Required 1..1
Assignee Party that the case is assigned to. This is also the receiver of the message. IsoAnyBICIdentifier - Required 1..1
CreationDateTime Date and time at which the assignment was created. IsoISODateTime - Required 1..1

Case building block

Identifies the case. Information identifying a case. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Case recursion level 0 with max 1
class Case{
    Identification IsoMax35Text
    Creator IsoAnyBICIdentifier
    ReopenCaseIndication IsoYesNoIndicator
}
  

Case members

Member name Description Data Type / Multiplicity
Identification Unique id assigned by the case creator. IsoMax35Text - Required 1..1
Creator Party that created the case. IsoAnyBICIdentifier - Required 1..1
ReopenCaseIndication Set to yes if the case was closed and needs to be re-opened. IsoYesNoIndicator - Optional 0..1

Underlying building block

References the Payment Instruction that a Party is unable to execute or unable to reconcile. Details of a payment instruction. The information contained in this component is sufficient to retrieve a payment instruction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% PaymentInstructionExtract recursion level 0 with max 1
class PaymentInstructionExtract{
    AssignerInstructionIdentification IsoMax35Text
    AssigneeInstructionIdentification IsoMax35Text
    CurrencyAmount IsoCurrencyAndAmount
    ValueDate IsoISODateTime
}
  

PaymentInstructionExtract members

Member name Description Data Type / Multiplicity
AssignerInstructionIdentification Identification of the payment instruction (eg, field 20 of an MT 103) when meaningful to the case assigner. IsoMax35Text - Optional 0..1
AssigneeInstructionIdentification Identification of the payment instruction (eg, field 20 of an MT 103) when meaningful to the case assignee. IsoMax35Text - Optional 0..1
CurrencyAmount Amount of the payment. Depending on the context it can be either the amount settled (UnableToApply) or the instructed amount (RequestToCancel, RequestToModify, ClaimNonReceipt). IsoCurrencyAndAmount - Optional 0..1
ValueDate Value date of the payment. IsoISODateTime - Optional 0..1

Justification building block

Explains the reason why unable to apply. Choice between details of missing information or the complete set of available information. For comparison, see the ISO20022 official specification

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

UnableToApplyJustificationChoice members

Member name Description Data Type / Multiplicity

Extensibility and generalization considerations

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

classDiagram
    class IOuterRecord
    UnableToApply --|> IOuterRecord : Implements
    UnableToApplyDocument --|> IOuterDocument~UnableToApply~ : Implements
    class IOuterDocument~UnableToApply~ {
        UnableToApply Message
     }
  

Document wrapper for serialization

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

classDiagram
    UnableToApplyDocument *-- UnableToApply : 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.026.001.01">
    <camt.026.001.01>
        <Assgnmt>
            <!-- Assignment inner content -->
        </Assgnmt>
        <Case>
            <!-- Case inner content -->
        </Case>
        <Undrlyg>
            <!-- Underlying inner content -->
        </Undrlyg>
        <Justfn>
            <!-- Justification inner content -->
        </Justfn>
    </camt.026.001.01>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_gEdeuNE_Ed-BzquC8wXy7w_-1070068379"
  name="UnableToApply"
  definition="Scope&#xD;&#xA;The Unable To Apply message is sent by a case creator or a case assigner to a case assignee. This message is used to initiate an investigation of a payment instruction that cannot be executed or reconciled.&#xD;&#xA;Usage&#xD;&#xA;The Unable To Apply case occurs in two situations:&#xD;&#xA;- an agent cannot execute the payment instruction due to missing or incorrect information&#xD;&#xA;- a creditor cannot reconcile the payment entry as it is received unexpectedly, or missing or incorrect information prevents reconciliation&#xD;&#xA;The Unable To Apply message:&#xD;&#xA;- always follows the reverse route of the original payment instruction&#xD;&#xA;- must be forwarded to the preceding agents in the payment processing chain, where appropriate&#xD;&#xA;- covers one and only one payment instruction (or payment entry) at a time; if several payment instructions cannot be executed or several payment entries cannot be reconciled, then multiple Unable To Apply messages must be sent.&#xD;&#xA;Depending on what stage the payment is and what has been done to it, for example incorrect routing, errors/omissions when processing the instruction or even the absence of any error, the unable to apply case may lead to a:&#xD;&#xA;- Additional Payment Information message, sent to the case creator/case assigner, if a truncation or omission in a payment instruction prevented reconciliation.&#xD;&#xA;- Request To Cancel Payment message, sent to the subsequent agent in the payment processing chain, if the original payment instruction has been incorrectly routed through the chain of agents (this also entails a new corrected payment instruction being issued). Prior to sending the payment cancellation request, the agent should first send a resolution indicating that a cancellation will follow (CWFW).&#xD;&#xA;- Request To Modify Payment message, sent to the subsequent agent in the payment processing chain, if a truncation or omission has occurred during the processing of the original payment instruction. Prior to sending the modify payment request, the agent should first send a resolution indicating that a modification will follow (MWFW).&#xD;&#xA;- Debit Authorisation Request message, sent to the case creator/case assigner, if the payment instruction has reached an incorrect creditor."
  registrationStatus="Registered"
  messageSet="_urpIICeJEeOCeO5e7islRQ"
  xmlName="camt.026.001.01"
  xmlTag="camt.026.001.01"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_gEdeudE_Ed-BzquC8wXy7w_1988858661"
    name="Assignment"
    definition="Identifies the assignment."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Assgnmt"
    complexType="_T9Dpetp-Ed-ak6NoX_4Aeg_588710247" />
  <messageBuildingBlock
    xmi:id="_gEdeutE_Ed-BzquC8wXy7w_517465204"
    name="Case"
    definition="Identifies the case."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Case"
    complexType="_SpAnotp-Ed-ak6NoX_4Aeg_136183535" />
  <messageBuildingBlock
    xmi:id="_gEdeu9E_Ed-BzquC8wXy7w_521156329"
    name="Underlying"
    definition="References the Payment Instruction that a Party is unable to execute or unable to reconcile."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Undrlyg"
    complexType="_VQgOUtp-Ed-ak6NoX_4Aeg_-769020295" />
  <messageBuildingBlock
    xmi:id="_gEnPsNE_Ed-BzquC8wXy7w_533163608"
    name="Justification"
    definition="Explains the reason why unable to apply."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Justfn"
    complexType="_VFn0Dtp-Ed-ak6NoX_4Aeg_811633564" />
  <messageDefinitionIdentifier
    businessArea="camt"
    messageFunctionality="026"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

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