Exclusion List Directory
Exclusion list dynamic configuration is populated through ingestion of IBAN Exclusion List file provided by SWIFTRef. The Exclusion List file will be decommissioned by SWIFT by November 2026 as part of SWIFTRef portfolio evolution initiative. Ingestion of Exclusion List to enable IBAN deconstruct functionality will be supported on IPF until this time. On evolved SWIFTRef portfolio, IBAN deconstruction will be performed using Party Entity Directory with the data sourced from ingestion of Identifiers All file. Refer Identifiers All to Party Entity Directory mapping and IBAN deconstruct for more details.
|
Overview
SwiftRef IBAN Plus Directory, loaded via local file ingesters and containing the following file types:
Exclusion List, containing the list of IBAN national IDs that are not allowed in IBANs. Supports both FULL and DIFF imports in both XML and TXT.
Exclusion list is used during IBAN deconstruction by IPF CSM Reachability Service.
Bellow table provides information about File type supported and File format.
File Types Supported
| File Name | File Types Supported | File Formats Supported | File Naming Conventions |
|---|---|---|---|
Exclusion List |
FULL |
TXT, XML |
EXCLUSIONLIST_V1_FULL_YYYYMMDD |
Exclusion List |
DELTA |
TXT, XML |
EXCLUSIONLIST_V1_DELTA_YYYYMMDD |
| AWS S3 Ingestion identifies this file when the file name starts with "EXCLUSIONLIST". The Full file is identified using the text FULL on the file name and the delta file is identified using the text DELTA. |
| The client implementations should not modify the files names provided by industry sources and ingest the files as received. |
Exclusion List Data Structure
DPS SETTING_TYPE = "exclusionlist"
| Exclusion List property | Description |
|---|---|
modificationFlag |
On the FULL file the value of MODIFICATION FLAG is always “A” (record to add) On the DELTA file the value of MODIFICATION FLAG can be “A” (record to add) “M” (record to modify) “D” (record to delete) Source file records with a value of "D" will not be loaded. |
recordKey |
The unique key of the record in the file. |
ibanCountryCode |
ISO country code of the NATIONAL |
ibanNationalId |
The bank/branch code that, if included in an IBAN, would lead to an invalid IBAN. The IBAN NATIONAL ID has the country-specific length as specified in the IBANSTRUCTURE file. |
bicValid |
Valid BIC of the financial institution that holds/used to hold this NATIONAL ID |
Mapping Definitions
Exclusion List V1 file to Exclusion List Directory mapping
| Exclusion List V1 property | Exclusion List property | Comment |
|---|---|---|
modification_flag |
modificationFlag |
On the FULL file is always "A", and for DELTA file it can be "A", "M", or "D" |
record_key |
recordKey |
|
country_code |
ibanCountryCode |
|
iban_national_id |
ibanNationalId |
|
bic |
bicValid |
Example Mapping
Source Record from Industry file
<?xml version="1.0" encoding="UTF-8"?>
<dataexport product="exclusionlist_v1" filetype="full" filedate="20161021">
<exclusionlist_v1>
<modification_flag>A</modification_flag>
<record_key>EL000000HO94</record_key>
<country_code>AD</country_code>
<iban_national_id>00020097</iban_national_id>
<bic>CRDAADADXXX</bic>
</exclusionlist_v1>
</dataexport>
Destination Record Exclusion List
{
"modificationFlag": "A",
"recordKey": "EL000000HO94",
"ibanCountryCode": "AD",
"ibanNationalId": "00020097",
"bicValid": "CRDAADADXXX"
}
Setting Type
DPS v2 introduced new attribute of Setting Type. This is used for generation of all API endpoints for a particular setting. It is also used in index-config.<setting type> construct.
Searchable Fields
Searchable fields for Processing Entity are:
-
ibanCountryCode
-
ibanNationalId
-
recordKey
-
bicValid
Indexes
DPS v2 provides an option to configure indexes for each setting. Default indexes for Exclusion List are:
ipf.dps.mongodb.index-config.exclusionlist{
index-1 = ["status:ASC"]
index-2 = ["values.payload.ibanCountryCode:ASC"]
index-3 = ["values.payload.ibanNationalId:ASC"]
index-4 = ["payload.ibanCountryCode:ASC"]
index-5 = ["payload.ibanNationalId:ASC"]
index-6 = ["processingEntity:ASC"]
index-7 = ["lastUpdatedAt:ASC"]
}
This can be overridden or updated. Just note that when the field is under payload, you need to provide an index like: index-x = ["values.payload.fieldX:ASC"].
Field processingEntity is added in to the setting search so for better performances is recommended that index for processingEntity is created.