Validation in the Workflow
Validation is applied in the BP-Validate and UP-validate rule sequences (System > Rule Library> Rule Sequence). The first rule which is invoked in these rule sequence is the ValidatePaymentRule.
Figure 141 Validate Payment Rule
This rule functionally performs the following classification & validations
Account validations classify accounts into distinct types and validates them accordingly
BIC country complies with IBAN country. (ordering customer account & bank and counter- party account & bank)
BIC+ check: Checks if the BIC is found in the list provided by the SWIFTRef upload. This is done for the ordering customer account holder & bank, the counterparty holder & bank and the intermediary.
NCC check: Checks if the NCC is found in the list provided by the SWIFTRef upload. This is done for the ordering customer account bank the counterparty bank and the intermediary institution.
Validate format
The validate payment rule has following parameters
Name | Description | Required | Default |
---|---|---|---|
additionalIbanValidation | Does additional IBAN checks against the SWIFTRef directory if set to true. See (*) for more information. | N | false |
checkBBANInIBAN | Check the BBAN in IBAN. Uses country specific IBANProperty setting to define whether a BBAN algorithm should be called in the account validation | N | - |
invalid-repository | Repository to move to if validation fails | Y | - |
overwrite-account- type | If set to true and the account type is already filled out in the original information, it is over- written. Otherwise, the originally set type is kept. | N | true |
preload-enabled | Enables pre-loading of additional characteristics and instruction codes if set to true | N | true |
valid-repository | Repository to move to if validation succeeds. | Y | - |
validate-aba | ABA routing code validation (mathematical equation with modulo10) | N | true |
validate-aba- swiftref | Validates the ABA routing code against SWIFTRef directory | N | false |
validate-bic | Validate the BIC | Y | - |
validate-bic-country | Check the country of BIC and account | N | false |
validate-bic-swiftref | Check the presence of BICs in the SWIFTRef directory | N | false |
validate-ncc- swiftref | Check the presence of NCCs in the SWIFTRef directorySee (**) for more information. | N | false |
validate-countries | Checks that the country of the bank of the counterparty and of the ordering customer is filled in. | N | false |
validate-format | Validate the format | Y | - |
validate-oca | Validate ordering customer account? | N | true |
Table 141 SEPA Validation Rule Parameters
(*) Additional IBAN Validation
Prerequisites are that the SWIFTRef directory is uploaded, otherwise, this validation will always fail.
The country code (first two characters of the IBAN) is extracted and the record with corresponding country code is retrieved from the SWIFTRef IBAN Structure. These in turn tell us where to find the national ID which is then extracted from the IBAN.
The following checks are executed:
Is the BIC of the bank present and if so:
National ID check: Does the national ID within the IBAN exist in the SWIFTRef directory. The purpose is to validate that the national ID contained by an IBAN is a valid national ID. Firstly the country code and the national ID need to be extracted from the IBAN by using the SWIFTRef IBAN structure record corresponding with the extracted country. Secondly, the SWIFTRef IBAN Plus directory needs to be queried by comparing the extracted country with the IBAN ISO country code of the SWIFTRef IBAN Plus and the extracted national ID with the National ID of the SWIFTRef IBAN Plus. If this query returns one or more rows, the national ID is valid.
BIC-IBAN combination: Does the BIC of the IBAN comply with the BIC of the bank? The purpose is to validate that the BIC and the IBAN belong to one and the same institution. This is done by comparing the 4 initial characters of the BIC of the bank with the 4 initial characters of the BIC from the SWIFTRef IBAN Plus directory which was looked up using IBAN ISO country code and the National ID extracted from the IBAN. If this comparison passes, the BIC-IBAN combination is valid.
Validation
Valid /invalid repository: End status of the payments, in function of the validation result:
If either Valid Content or Valid Format is 'Invalid', the payment is moved to the invalid repository
The valid content indicator depends on account and BIC STP indicators.
If all set STP states of the objects in scope are Valid, Unknown, or blank, the valid content Indicator is set to 'Valid'
Else, the valid content indicator is set to 'Invalid'
In case the validate-BICplus or validate BIC-country fails, the validate content indicator will also be set to 'Invalid'. Those validations don't have a STP state.
() NCC Validation**
Prerequisites are that the SWIFTRef directory is uploaded, otherwise, this validation will always fail.
In case the National Clearing Code is used in and it is not available in SWIFTRef the validation must fail.
The following checks are executed:
In case National Clearing System (NCS) is filled in, the ISO country codes are derived from the National Clearing System table (USABA is used in several countries). SWIFTRef is queried with those ISO countries and the NCC code. If the NCC code is not found in the SWIFTRef table the validation fails.
In case NCS is not filled in, the bank address country can be used instead. SWIFTRef contains all ISO countries while the NCS table only contains a limited list of countries.
In case NCS and bank country are both not filled in, SWIFTRef is queried only using the NCC. NCS and country are optional in XML, because having a country might not always be needed in context of a domestic payment.
Validation
Valid /invalid repository: End status of the payments, in function of the validation result:
If either Valid Content or Valid Format is 'Invalid', the payment is moved to the invalid repository
The valid content indicator depends on account and BIC & NCC STP indicators.
If all set STP states of the objects in scope are Valid, Unknown, or blank, the valid content Indicator is set to 'Valid'
Else, the valid content indicator is set to 'Invalid'
In case the validate-NCC-swiftref or validate BIC-country fails, the validate content indicator will also be set to 'Invalid'. Those validations don't have a STP state.