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:
- an agent cannot execute the payment instruction due to missing or incorrect information
- a creditor cannot reconcile the payment entry as it is received unexpectedly, or missing or incorrect information prevents reconciliation The Unable To Apply message:
- always follows the reverse route of the original payment instruction
- must be forwarded to the preceding agents in the payment processing chain, where appropriate
- 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. 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:
- Additional Payment Information message, sent to the case creator/case assigner, if a truncation or omission in a payment instruction prevented reconciliation.
- 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).
- 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).
- Debit Authorisation Request message, sent to the case creator/case assigner, if the payment instruction has reached an incorrect creditor.
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
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:
- an agent cannot execute the payment instruction due to missing or incorrect information
- a creditor cannot reconcile the payment entry as it is received unexpectedly, or missing or incorrect information prevents reconciliation
The Unable To Apply message:
- always follows the reverse route of the original payment instruction
- must be forwarded to the preceding agents in the payment processing chain, where appropriate
- 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.
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:
- Additional Payment Information message, sent to the case creator/case assigner, if a truncation or omission in a payment instruction prevented reconciliation.
- 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).
- 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).
- 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.