Purpose Codes
Use of purpose codes
Purpose Codes and Category Purpose Codes (P/CP codes) are used in some jurisdictions for AML/CFT, capital flow measures (exchange controls), balance-of-payments calculations or other regulatory reporting reasons. Payments to those jurisdictions that do not provide a P/CP code may be rejected or may require manual processing.
Challenges with traditional approaches to purpose codes
Typically each country uses their own domestic purpose code list, which is not harmonized between countries. This requires PSPs in each country to know the purpose code list of each other country, and to ask the Sender to select an appropriate code from the list before confirming the payment. In some cases, a Sender may have to select a code twice from two different lists (for the Source Country and Destination Country).
This approach is not suitable for Nexus payments. Instead, Nexus uses the harmonized ISO 20022 External Code Set codes for purpose and category purpose codes. This means that each PSP only needs to be able to map the domestic code list to the ISO 20022 code list, without having to know the domestic code list of every other country. (If the IPS uses translation then the IPS may do the mapping on the PSPs’ behalf.)
Rules around use of purpose codes in Nexus
Nexus does not require the use of Purpose Codes or Category Purpose Codes (P/CP Codes).
This is in line with the CPMI Harmonized ISO 20022 requirements.
Nexus will not reject
pacs.008
payment instructions where the P/CP elements are left empty or null, or where the entire element is missing from the message structure.
However, some Nexus-member jurisdictions do require the use of P/CP codes.
Source PSPs should use P/CP codes when they are required in the Destination Country.
Source PSPs are able to establish whether the receiving country requires a P/CP code or not by reviewing the response to the
GET /countries/
API.
In the jurisdictions that do require P/CP codes, Destination PSPs may reject payments that do not include a Purpose Code and/or Category Purpose Code (rather than manually requesting further information from the Source PSP).
Alternatively, a Destination PSP may choose to respond with an “Accepted without posting” (ACWP
) status code, and follow up manually to get the correct purpose code from the Source PSP. This will delay the payment and add costs for both the Source and Destination PSPs, so should be avoided and is only allowed for non-time critical payments.
A Source PSP may include P/CP codes even when they are not mandatory in the Destination Country
A Destination PSP in a jurisdiction that does not use P/CP codes must not reject a message that does include a P/CP code. (The Destination PSP may ignore the P/CP code.)
When in doubt, it is safer to provide a purpose code than to omit it.
When a Nexus pacs.008 does include a P/CP code, it must only use a code from the ISO 20022 External code set.
The relevant code types are ExternalCategoryPurpose1Code and ExternalPurpose1Code. (See table below.)
PSPs must not use the Proprietary code element (… > Purpose > Proprietary or … > CategoryPurpose > Proprietary).
PSPs must not put proprietary (domestic) codes into the .. > CategoryPurpose > Code or ..Purpose > Code element
The Category Purpose Code and the Purpose Code in the message are not used by Nexus in the processing logic and do not affect the payment process itself. However, a Destination PSP may consider the P/CP codes when deciding whether to accept a payment.
Carrying purpose codes in the pacs.008
The pacs.008 message format used by Nexus contains two elements to carry this information:
ELEMENT & PATH
EXTERNAL CODE SET
ISO 20022 DEFINITION
ISO 20022 OFFICIAL USAGE
Category Purpose Code (.. Category Purpose > Code)
ExternalCategory-Purpose1Code (44 values)
“Specifies the high-level purpose of the instruction based on a set of pre-defined categories.”
“This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.”
Purpose Code (.. > Purpose > Code)
ExternalPurpose1Code (300+ values)
“Underlying reason for the payment transaction”
“Purpose is used by the end customers, that is initiating party, (ultimate) debtor, (ultimate) creditor to provide information concerning the nature of the payment. Purpose is a content element, which is not used for processing by any of the agents involved in the payment chain.
In principle, all purpose codes from the external code list are accepted, although some codes may not be relevant for Nexus use cases.
Last updated