Validations

Validation API

SEPA DD STEP2 CSM Service provides a Validation API to enable the Client Implementation flows or SDK clients to submit the bulks for validation purposes only. The request to the API does not lead to the bulks being submitted for Collecting and Settlement.

The response from the Direct Debit Validation API is Direct Debit Validation API which can comprise a message level OrgnlGrpInfAndSts block, transaction level TxInfAndSts block(s) and (if requested) a schemeFormatMessage block.

Validate Direct Debit Scheme Rules

The Direct Debit Scheme Rules API rule carries out the validations on the submitted bulks and included transactions and provides a validation response. Below validations are performed:

  • Message Level Validation (Bulk level validations)

    • Validation of Group Header totals such as Count of transactions and Interbank Settlement Amounts.

    • Scheme Rules Validations against the Header fields

  • Mapping from the IPF Canonical format message to the Scheme format message

  • Individual Transaction Validations and Scheme Rule Validations

  • Schema Check of the final validations

The Validations API can return the Scheme format message in the response if requested in the request if the 'returnSchemeMessage' flag is set to True. The transactions that fail the validations will be removed from the format message so the output scheme format message will always be acceptable by the scheme. When removing the failed transactions, the CSM service will adjust the group header totals (count of transactions and amounts), so they match the transactions that have passed validations. The SEPA DD CSM Service does not alter the contents of individual transactions in any shape or form so the transactions transparency is always maintained.

Please note that below validations are not performed when the bulks are submitted to the Validation API.

  1. Duplicate check on the submitted bulks

  2. Duplicate check at transaction level

  3. Validations against the settlement dates submitted on the bulks

Duplicate checks are not performed on Validation API calls, to ensure the same bulk can be submitted multiple times for validation without being rejected as duplicate in later attempts or when it is eventually submitted for clearing and settlement.

Interbank Settlement Date Validations are not performed on Validation API calls as these dates may be updated when submitting to the Direct Debit API for clearing.

See the validation specification here Direct Debit Validation API

Request Processing API

SEPA DD STEP2 CSM Service supports below validations on bulks submitted from Client implementation flows. It is important to note that some validations may not be applicable based on the source of request. (Refer to individual features to understand applicable validations).

The scheme rules are identified and referenced from scheme documentation (STEP2 SDD Interface Specifications, STEP2 SDD Functional Description).

All message types will have a schema check performed using the current version of the scheme xsd. This action will perform all the necessary technical checks on the message such as data types, cardinality and size of data elements. As well as these Technical checks, the SEPA CSM performs Business-level checks, to ensure the data input to each field conforms to any rules over and above the basic Technical checks (e.g. settlement date is no more than 14 working days in advance, any ISO codes are valid for the particular use or calculated totals are equal to the counts they relate to).

Inbound Messages

Messages arriving from the scheme will receive a technical check against their XSD. This applies to all supported message types which arrive into Debulker from SEPA STEP2 in the following files:

  • DVF

  • RSF

The business level validations are documented in the inbound message tables below.

Inbound messages from the scheme that fail validation will still be passed to the client, however they will be added to a dedicated Kafka topic that should be routed to an exception processing implementation. The SEPA DD scheme pack does not have a mechanism for the automated rejection of an inbound message.

Validation Rules

Collect and Settle (Pacs.003)

Message Level Rules

Rule Request Processing API Validation API Description

Canonical Model Validation

green checkmark icon

green checkmark icon

Validation against the canonical model before mapping (FF01)

Message Duplicate Check

green checkmark icon

red x icon

The following fields are referenced as part of the duplicate check:

  • GrpHdr.MsgId

  • GrpHdr.InstgAgt.FinInstnId.BICFI

(B14)

Interbank Settlement Date

green checkmark icon

red x icon

  • GrpHdr.IntrBkSttlmDt is not a Target Business Day (B15)

  • GrpHdr.IntrBkSttlmDt is greater than 14 days in the future (B15)

  • GrpHdr+IntrBkSttlmDt is before or equal to the Current Interbank Settlement Date (B15)

  • GrpHdr+IntrBkSttlmDt is the day after Current Interbank Settlement Date, but the current time (CET) is later than Core Validation Cutoff has been missed (B15)

Scheme XSD Validation

green checkmark icon

green checkmark icon

Schema validation against the scheme XSD after mapping (FF01)

Group Header Totals Validation

green checkmark icon

green checkmark icon

  • GrpHdr.NbOfTxs is not equal to the number of transactions in the bulk (B03)

  • GrpHdr.TtlIntrBkSttlmAmt is zero (B13)

  • GrpHdr.TtlIntrBkSttlmAmt is not equal to the sum of the IntrBkSttlmAmt for the transactions in the bulk (B05)

Group Header Clearing System and Instructing Agent Validation

green checkmark icon

green checkmark icon

  • GrpHdr.SttlmInf.ClrSys.Prtry is not equal to ST2 (B16)

  • GrpHdr.InstgAgt.FinInstnId.BICFI length is bigger than 8 (B10)

Transactions Level Rules

Rule Request Processing API Validation API Description

Transaction Duplicate Check

green checkmark icon

red x icon

The following fields are checked for duplicate:

  • DrctDbtTxInf.PmtId.TxId

  • DrctDbtTxInf.CdtrAgt.FinInstnId.BICFI

  • GrpHdr.IntrBkSttlmDt

(AM05)

Service Level Checks

green checkmark icon

green checkmark icon

DrctDbtTxInf.PmtTpInf.SvcLvl.Cd should contain 'SEPA' (XT33)

Local Instrument Checks

green checkmark icon

green checkmark icon

DrctDbtTxInf.PmtTpInf.LclInstrm.Cd should contain 'CORE' (XT33)

Debtor/Creditor Agent SEPA COM Pacifique Check

green checkmark icon

green checkmark icon

  • If char 5 & 6 of DrctDbtTxInf.CdtrAgt.FinInstnId.BICFI contain 'PF', 'NC' or 'WF'
    Then char 5 & 6 of DrctDbtTxInf.DbtrAgt.FinInstnId.BICFI should contain 'FR', 'GP', 'RE', 'MQ', 'GF', 'PM', 'PF', 'NC', 'WF', 'BL', 'MF', 'YT' (XT91)

  • If char 5 & 6 of DrctDbtTxInf.DbtrAgt.FinInstnId.BICFI contain 'PF', 'NC' or 'WF'
    Then char 5 & 6 of DrctDbtTxInf.CdtrAgt.FinInstnId.BICFI should contain 'FR', 'GP', 'RE', 'MQ', 'GF', 'PM', 'PF', 'NC', 'WF', 'BL', 'MF', 'YT' (XT91)

Instructing Agent Check

green checkmark icon

green checkmark icon

DrctDbtTxInf.InstgAgt.FinInstnId.BICFI should not be populated (XT13)

Requested Collection Date Check

green checkmark icon

red x icon

  • If ReqdColltnDt is a Target Business Day, then it must be equal to IntrBkSttlmDt (DT01).

  • If ReqdColltnDt is not the business day following IntrBkSttlmDt (DT01).

  • If ReqdColltnDt is more than 14 days in the future from IntrBkSttlmDt (DT01).

  • If ReqdColltnDt is the day after IntrBkSttlmDt and the current time is after the cutoff time (DT01).

  • If ReqdColltnDt is before or equal to Current Core DD Interbank Settlement Date (DT01).

Postal Address Country Code Check

green checkmark icon

green checkmark icon

  • DrctDbtTxInf.Cdtr.PstlAdr.Ctry should be a valid ISO3166 country code (XT73)

  • DrctDbtTxInf.Dbtr.PstlAdr.Ctry should be a valid ISO3166 country code (XT73)

EEA Country Codes Check

green checkmark icon

green checkmark icon

Debtor Postal Address Country is mandatory if Debtor Agent and/or Creditor Agent are not in the EEA. Note - this validation is disabled by default - see configurations page

  • DrctDbtTxInf.Dbtr.PstlAdr.Ctry is mandatory if payment involves a non-EEA country or territory (BE07)

Postal Address Structural Check

green checkmark icon

green checkmark icon

Addresses are classified according to the address fields populated as per Appendix A: Postal Address Structural Validations

  • DrctDbtTxInf.Dbtr.PstlAdr - address must be either structured, hybrid or unstructured (BE07)

  • DrctDbtTxInf.Cdtr.PstlAdr - address must be either structured, hybrid or unstructured (BE04)

Note - these validations are disabled by default - see configurations page.

Creditor Scheme Id and Name Check

green checkmark icon

green checkmark icon

  • The first 7 characters (after ignoring leading spaces) of DrctDbtTxInf.DrctDbtTx.CdtrSchmeId.Id.PrvtId.Othr.Id should not contain spaces (XT33)

  • DrctDbtTxInf.DrctDbtTx.CdtrSchmeId.Id.PrvtId.Othr.SchmeNm.Prtry should be "SEPA" (XT33)

Mandate Amendments

green checkmark icon

green checkmark icon

  • If amendment indicator is set to "true" then at least one of the following must be populated (XT13)

    • DrctDbtTxInf.DrctDbtTx.MndtRltdInf.AmdmntInfDtls.OrgnlMndtId

    • DrctDbtTxInf.DrctDbtTx.MndtRltdInf.AmdmntInfDtls.OrgnlCdtrSchmeId.Nm

    • DrctDbtTxInf.DrctDbtTx.MndtRltdInf.AmdmntInfDtls.OrgnlCdtrSchmeId.Id.PrvtId.Othr.Id

    • DrctDbtTxInf.DrctDbtTx.MndtRltdInf.AmdmntInfDtls.OrgnlCdtrSchmeId.Id.PrvtId.Othr.SchmeNm.Prtry

    • DrctDbtTxInf.DrctDbtTx.MndtRltdInf.AmdmntInfDtls.OrgnlDbtrAcct.Id.IBAN account

    • DrctDbtTxInf.DrctDbtTx.MndtRltdInf.AmdmntInfDtls.OrgnlDbtrAcct.Id.Othr.Id

    • DrctDbtTxInf.DrctDbtTx.MndtRltdInf.AmdmntInfDtls.OrgnlDbtrAgt.FinInstnId.BICFI

  • If amendment indicator is set to “false” then none of the above can be populated (XT13)

  • If populated, original Creditor Scheme Name must equal 'SEPA' (XT33)

  • If populated, original Debtor’s account identifier must equal 'SMNDA' (XT33)

  • If Original Debtor Account’s identifier is populated with 'SMNDA' then original Debtor Agent’s BIC should not be populated (XT33)

Party Name Length Check

green checkmark icon

green checkmark icon

  • DrctDbtTxInf.Cdtr.Nm must not exceed 70 characters (XT33)

  • DrctDbtTxInf.UltmtCdtr.Nm must not exceed 70 characters (XT33)

  • DrctDbtTxInf.Dbtr.Nm must not exceed 70 characters (XT33)

  • DrctDbtTxInf.UltmtDbtr.Nm must not exceed 70 characters (XT33)

Structured Remittance Information Length Check

green checkmark icon

green checkmark icon

DrctDbtTxInf.RmtInf.Strd must not exceed 140 characters (where the number of characters is counted between the Structured tags, not inclusive) (XT33)

Only one occurrence of DrctDbtTxInf.RmtInf is allowed

green checkmark icon

green checkmark icon

DrctDbtTxInf.RmtInf must not contain more than 1 occurrence of structured remittance information and must not contain more than 1 occurrence of unstructured remittance information. The STEP2 SDD data model allows up to 10 occurrences, but an additional usage rule specifies that only 1 occurrence of each type is allowed (XT13)

Cancellation (Camt.056)

Message Level Rules

Rule Request Processing API Validation API Description

Canonical Model Validation

green checkmark icon

green checkmark icon

Validation against the canonical model before mapping (FF01)

Scheme XSD Validation

green checkmark icon

green checkmark icon

Schema validation against the scheme XSD after mapping (FF01)

Message Duplicate Check

green checkmark icon

red x icon

The following fields are referenced as part of the duplicate check:

  • Assgnmt.Id

  • Assgnmt.Assgnr.Agt.FinInstnId.BICFI

(B14)

Assigner Agent Validation

green checkmark icon

green checkmark icon

Assgnmt.Assgnr.Agt.FinInstnId.BICFI length is bigger than 8 (B12)

Total Number Of Transactions Validation

green checkmark icon

green checkmark icon

CtrlData.NbOfTxs is not equal to the number of transactions in the bulk (B03)

Transaction Level Rules

Rule Request Processing API Validation API Description

Transaction Duplicate Check

green checkmark icon

red x icon

The following fields are checked for duplicate:

  • Underlyg.TxInf.CxlId

  • Underlyg.TxInf.OrgnlTxRef.CdtrAgt.FinInstnId.BICFI

  • Processing date

(AM05)

Original Message Name ID Validation

green checkmark icon

green checkmark icon

If Undrlyg.TxInf.OrgnlGrpInf.OrgnlMsgNmId does not start with pacs.003 (XT33)

Original UETR Validation

green checkmark icon

green checkmark icon

If Undrlyg.TxInf.OrgnlUETR is present (XT81)

Assigner Agent Validation

green checkmark icon

green checkmark icon

If Undrlyg.TxInf.Assgnr.FinInstnId.BICFI is present (XT13)

Original Interbank Settlement Date

green checkmark icon

red x icon

  • If the current interbank settlement date is after Underlyg.TxInf.OrgnlIntrBkSttlmDt (DT01)

  • If the current interbank settlement date is equal to Underlyg.TxInf.OrgnlIntrBkSttlmDt, but the cutoff time has passed (DT01)

Reversal (Pacs.007)

Message Level Rules

Rule Request Processing API Validation API Description

Canonical Model Validation

green checkmark icon

green checkmark icon

Validation against the canonical model before mapping (FF01)

Interbank Settlement Date

green checkmark icon

red x icon

GrpHdr.IntrBkSttlmDt is not the Current Interbank Settlement Date (B15)

Scheme XSD Validation

green checkmark icon

green checkmark icon

Schema validation against the scheme XSD after mapping (FF01)

Message Duplicate Check

green checkmark icon

red x icon

The following fields are referenced as part of the duplicate check:

  • GrpHdr.MsgId

  • GrpHdr.InstgAgt.FinInstnId.BICFI

(B14)

Group Header Totals Validation

green checkmark icon

green checkmark icon

  • GrpHdr.NbOfTxs is not equal to the number of transactions in the bulk (B03)

  • GrpHdr.TtlRvsdIntrBkSttlmAmt is zero (B13)

  • GrpHdr.TtlRvsdIntrBkSttlmAmt is not equal to the sum of the RvsdIntrBkSttlmAmt for the transactions in the bulk (B05)

Group Header Clearing System and Instructing Agent Validation

green checkmark icon

green checkmark icon

  • GrpHdr.SttlmInf.ClrSys.Prtry is not equal to ST2 (B16)

  • GrpHdr.InstgAgt.FinInstnId.BICFI length is bigger than 8 (B10)

Original Message Name ID Validation

green checkmark icon

green checkmark icon

If OrgnlGrpInf.orgnlMsgNmId does not start with pacs.003 (XT33)

Transaction Level Rules

Rule Request Processing API Validation API Description

Transaction Duplicate Check

green checkmark icon

red x icon

The following fields are checked for duplicate:

  • TxInf.RvslId

  • TxInf.OrgnlTxRef.CdtrAgt.FinInstnId.BICFI

  • GrpHdr.IntrBkSttlmDt

(AM05)

Reversal Reason Code Check

green checkmark icon

green checkmark icon

If TxInf.RvslRsnInf.Rsn.Cd is not one of AM05, MS02 or MS03 (XT33)

Original Interbank Settlement Date

green checkmark icon

red x icon

  • If the current interbank settlement date is more than 5 TARGET days after the TxInf.OrgnlTxRef.IntrBkSttlmDt (DT01)

  • If the current interbank settlement date is exactly 5 TARGET days after the TxInf.OrgnlTxRef.IntrBkSttlmDt and the cutoff time has passed (DT01)

Transaction Instructing Agent Check

green checkmark icon

green checkmark icon

If TxInf.InstgAgt.finInstnId.bicfi is present (XT13)

Transaction Reversed Instructed Amount Check

green checkmark icon

green checkmark icon

  • If TxInf.ChrgsInf is present, TxInf.RvsdInstdAmt must be present (XT13)

  • If TxInf.RvsdInstdAmt is present, TxInf.ChrgsInf.Amt must be present (XT33)

Transaction Reversed Interbank Settlement Amount Check

green checkmark icon

green checkmark icon

If TxInf.RvsdIntrBkSttlmAmt is not equal to TxInf.OrgnlIntrBkSttlmAmt plus TxInf.ChrgsInf.Amt (XT78)

Inbound pacs.002

The following validations are performed on an inbound pacs.002 from the scheme.

Message Level Rules

Rule Description

Instructed Agent Validation

Checks if the following BICs match and are valid direct participants:

  • GrpHdr.InstdAgt.FinInstnId.BICFI

Transaction Level Rules

Rule Description

Original Transaction’s Creditor Agent Validation

Checks if the following BICs match and are valid direct or indirect participants:

  • TxInfAndSts.OrgnlTxRef.CdtrAgt.FinInstnId.BICFI

Inbound pacs.004

The following validations are performed on an inbound pacs.004 from the scheme.

Message Level Rules

Rule Description

Instructed Agent Validation

Checks if the following BICs match and are valid direct participants:

  • GrpHdr.InstdAgt.FinInstnId.BICFI

Transaction Level Rules

Rule Description

Original Transaction’s Creditor Agent Validation

Checks if the following BICs match and are valid direct or indirect participants:

  • TxInf.OrgnlTxRef.CdtrAgt.FinInstnId.BICFI

Appendix A: Postal Address Structural Validations

Address Line Populated Town Name Populated Country Populated Any Other Address Fields Populated Classification

No

Yes

Yes

Structured

Yes

No

Yes

No

Unstructured

Yes

No

No

No

Unstructured

Yes

Yes

Yes

Hybrid

If configured, transactions that cannot be classified as one of the above address types will result in a validation failure