Documentation for a newer release is available. View Latest
Esta página no está disponible actualmente en Español. Si lo necesita, póngase en contacto con el servicio de asistencia de Icon (correo electrónico)

Validations

This page details the validations that apply BEFORE the 2025 rulebook changes, implemented to comply with the annual TIPS scheme upgrade. This upgrade is scheduled to go live in the market on October 5th, 2025. (For validations after that please refer to Validations - Rulebook 2025)

The purpose of this page is to summarise the additional usage validations performed by the TIPS scheme pack when processing a message.

All messages undergo an XSD schema check to make sure that the fields are technically correct, but only certain fields have additional usage validations performed on them. If an additional usage validation is not listed below then it is not validated by the scheme pack.

This is in line with Icon’s rationale and prioritisation of making sure client constructed messages conform to all scheme rules and are not likely to be rejected. Messages from the scheme have, however, already been validated, so the priority for those is swift, safe processing through to the customer’s account.

Validation on all inbound messages only can be disabled using ipf.csm.validation.inbound.enabled = false. Outbound validation cannot be disabled.

Inbound pacs.008

The following validations are performed on an Inbound pacs.008, failures will result in a pacs.002 sent back to the scheme with the Return Code quoted below, and a Inbound Message Failed system event to inform the Client.

Field

Validation Details

Return Code

All Fields

Checks if the message is valid against the TIPS pacs.008 xsd

FF01

GrpHdr+TtlIntrBkSttlmAmt

Must be equal to the value of the underlying transactions

FF01

CdtTrfTxInf+PmtId++TxId

Technical Duplicate Check (same DbtrAgt and TxId) within timeframe configured by tips.processing-entity.pacs008-duplicate-message-check-period

AM05

CdtTrfTxInf+AccptncDtTm

If receive timeout is enabled tips.receive.timeout.enabled, checks that the payment was processed within the timeout configured tips.receive.timeout.duration

AB05

CdtTrfTxInf+UltmtDbtr++Id+++OrgId

Either 'AnyBIC', 'LEI' or one occurrence of 'Other' is allowed

FF01

CdtTrfTxInf+UltmtDbtr++Id+++PrvtId

Either 'Date and Place of Birth' or one occurrence of 'Other' is allowed

FF01

CdtTrfTxInf+Dbtr++PstlAdr

Debtor Postal address is mandatory if Debtor Agent and/or Creditor Agent are not in the EEA. Note - this validation can be disabled - see configurations page.

RR02

CdtTrfTxInf+Dbtr++PstlAdr

If 'Address Line' is used, then 'Postal Address' sub-elements other than 'Country' are forbidden. A combination of 'Address Line' and 'Country' is allowed. If 'Address Line' is not used, then at least 'Town Name' and 'Country' must be used

FF01

CdtTrfTxInf+Dbtr++PstlAdr+++AdrLine

If 'Address Line' is used, then 'Postal Address' sub-elements other than 'Country' are forbidden. A combination of 'Address Line' and 'Country' is allowed. If 'Address Line' is not used, then at least 'Town Name' and 'Country' must be used

FF01

CdtTrfTxInf+Dbtr++Id+++OrgId

Either 'AnyBIC', 'LEI' or one occurrence of 'Other' is allowed

FF01

CdtTrfTxInf+Dbtr++Id+++PrvtId

Either 'Date and Place of Birth' or one occurrence of 'Other' is allowed

FF01

CdtTrfTxInf+CdtrAgt++FinInstnId+++BICFI

Validated against IPF configuration to ensure that this BIC corresponds to a BIC that this instance of IPF has responsibility for tips.rule.allowed-bics.cdtragt

RC01

CdtTrfTxInf+Cdtr++PstlAdr

If 'Address Line' is used, then 'Postal Address' sub-elements other than 'Country' are forbidden. A combination of 'Address Line' and 'Country' is allowed. If 'Address Line' is not used, then at least 'Town Name' and 'Country' must be used.

FF01

CdtTrfTxInf+Cdtr++PstlAdr+++AdrLine

If 'Address Line' is used, then 'Postal Address' sub-elements other than 'Country' are forbidden. A combination of 'Address Line' and 'Country' is allowed. If 'Address Line' is not used, then at least 'Town Name' and 'Country' must be used

FF01

CdtTrfTxInf+Cdtr++Id+++OrgId

Either 'AnyBIC', 'LEI' or one occurrence of 'Other' is allowed

FF01

CdtTrfTxInf+Cdtr++Id+++PrvtId

Either 'Date and Place of Birth' or one occurrence of 'Other' is allowed

FF01

CdtTrfTxInf+UltmtCdtr++Id+++OrgId

Either 'AnyBIC', 'LEI' or one occurrence of 'Other' is allowed.

FF01

CdtTrfTxInf+UltmtCdtr++Id+++PrvtId

Either 'Date and Place of Birth' or one occurrence of 'Other' is allowed.

FF01

CdtTrfTxInf+RmtInf

Either Unstructured or Structured may be present. If both components are included, the message will be rejected during the validation process.

FF01

Outbound pacs.008

If any of the below validations fail then a Response is sent back to the client and an ERROR level SchemeRuleValidationFailed system event is raised.

Field

Validation Details

Result of Failure

All Fields

Checks if the message is valid against the TIPS pacs.008 xsd

System event raised with a description of the error

GrpHdr+TtlIntrBkSttlmAmt

Must be equal to the value of the underlying transactions

System event is raised with description: Interbank Settlement Amount between group header and transaction do not match

CdtTrfTxInf+UltmtDbtr++Id+++OrgId

Either 'AnyBIC', 'LEI' or one occurrence of 'Other' is allowed

System event is raised with description: Mutually exclusive fields populated in CdtTrfTxInf.UltmtDbtr.Id.OrgId

CdtTrfTxInf+UltmtDbtr++Id+++PrvtId

Either 'Date and Place of Birth' or one occurrence of 'Other' is allowed

System event is raised with description: Mutually exclusive fields populated in CdtTrfTxInf.UltmtDbtr.Id.PrvtId

CdtTrfTxInf+Dbtr++PstlAdr

Debtor Postal address is mandatory if Debtor Agent and/or Creditor Agent are not in the EEA. Note - this validation can be disabled - see configurations page.

System event is raised with description: CdtTrfTxinf.Dbtr.PstlAdr is mandatory if payment involves a non-EEA country or territory

CdtTrfTxInf+Dbtr++PstlAdr

If 'Address Line' is used, then 'Postal Address' sub-elements other than 'Country' are forbidden. A combination of 'Address Line' and 'Country' is allowed. If 'Address Line' is not used, then at least 'Town Name' and 'Country' must be used

System event is raised with description: CdtTrfTxInf.Dbtr.PstlAdr - Structured Address must include a minimum of Town Name and Country Code

CdtTrfTxInf+Dbtr++PstlAdr+++AdrLine

If 'Address Line' is used, then 'Postal Address' sub-elements other than 'Country' are forbidden. A combination of 'Address Line' and 'Country' is allowed. If 'Address Line' is not used, then at least 'Town Name' and 'Country' must be used

System event is raised with description: CdtTrfTxInf.Dbtr.PstlAdr.AdrLine - Unstructured address can only be combined with country code - no other structured address fields can be used

CdtTrfTxInf+Dbtr++Id+++OrgId

Either 'AnyBIC', 'LEI' or one occurrence of 'Other' is allowed

System event is raised with description: Mutually exclusive fields populated in CdtTrfTxInf.Dbtr.Id.OrgId

CdtTrfTxInf+Dbtr++Id+++PrvtId

Either 'Date and Place of Birth' or one occurrence of 'Other' is allowed

System event is raised with description: Mutually exclusive fields populated in CdtTrfTxInf.Dbtr.Id.PrvtId

CdtTrfTxInf+Cdtr++PstlAdr

If 'Address Line' is used, then 'Postal Address' sub-elements other than 'Country' are forbidden. A combination of 'Address Line' and 'Country' is allowed. If 'Address Line' is not used, then at least 'Town Name' and 'Country' must be used.

ERROR level system event raised with name 'SchemeRuleValidationFailed' and description "CdtTrfTxInf.Cdtr.PstlAdr - Structured Address must include a minimum of Town Name and Country Code"

CdtTrfTxInf+Cdtr++PstlAdr+++AdrLine

If 'Address Line' is used, then 'Postal Address' sub-elements other than 'Country' are forbidden. A combination of 'Address Line' and 'Country' is allowed. If 'Address Line' is not used, then at least 'Town Name' and 'Country' must be used

ERROR level system event raised with name 'SchemeRuleValidationFailed' and description "CdtTrfTxInf.Cdtr.PstlAdr.AdrLine - Unstructured address can only be combined with country code - no other structured address fields can be used"

CdtTrfTxInf+Cdtr++Id+++OrgId

Either 'AnyBIC', 'LEI' or one occurrence of 'Other' is allowed

System event is raised with description: Mutually exclusive fields populated in CdtTrfTxInf.Cdtr.Id.OrgId

CdtTrfTxInf+Cdtr++Id+++PrvtId

Either 'Date and Place of Birth' or one occurrence of 'Other' is allowed

System event is raised with description: Mutually exclusive fields populated in CdtTrfTxInf.Cdtr.Id.PrvtId

CdtTrfTxInf+UltmtCdtr++Id+++OrgId

Either 'AnyBIC', 'LEI' or one occurrence of 'Other' is allowed.

System event is raised with description: Mutually exclusive fields populated in CdtTrfTxInf.UltmtCdtr.Id.OrgId

CdtTrfTxInf+UltmtCdtr++Id+++PrvtId

Either 'Date and Place of Birth' or one occurrence of 'Other' is allowed.

System event is raised with description: Mutually exclusive fields populated in CdtTrfTxInf.UltmtCdtr.Id.PrvtId

CdtTrfTxInf+IntrBkSttlmAmt

Amount should be less than the amount configured by property tips.rule.amount-limit-eur

System event is raised with description: Amount exceeds scheme limit

CdtTrfTxInf+DbtrAgt++FinInstnId+++BICFI

Validated against IPF configuration to ensure that this BIC corresponds to a BIC that this instance of IPF has responsibility for tips.rule.allowed-bics.dbtragt

System event is raised with description: BIC value not allowed

Inbound pacs.004

The following validations are performed on an Inbound pacs.004, failures will result in a pacs.002 sent back to the scheme with the Return Code quoted below, and a Inbound Message Failed system event to inform the Client.

Field

Validation Details

Return Code

All Fields

Checked to make sure the message is valid against the TIPS pacs.004 xsd

FF01

GrpHdr+NbOfTxs

TIPS supports only one transaction per message. If this field is not 1, the message will be rejected.

FF01

GrpHdr+TtlRtrdIntrBkSttlmAmt

Must be equal to the value of the underlying transactions

FF01

OrgnlGrpInf

'Original Group Information' must exist as a child underneath PmtRtr or TxInf, but not both or the message will be rejected.

FF01

TxInf+OrgnlGrpInf

'Original Group Information' must exist as a child underneath PmtRtr or TxInf, but not both or the message will be rejected.

FF01

TxInf

TIPS supports only one transaction per message. If more than one Transaction Information block is included, message will be rejected.

FF01

TxInf+RtrId

Technical Duplicate Check (same DbtrAgt and TxId)

AM05

Outbound pacs.004

If any of the below validations fail then a Response is sent back to the client and an ERROR level SchemeRuleValidationFailed system event is raised.

Field

Validation Details

Result of Failure

All Fields

Checks if the message is valid against the TIPS pacs.004 xsd

System event raised with a description of the error

GrpHdr+NbOfTxs

TIPS supports only one transaction per message. If this field is not 1, the message will be rejected.

System event is raised with description: Number of transactions in group header and underlying transactions do not match

or

Only one instance of PmtRtr.TxInf is permitted

GrpHdr+TtlRtrdIntrBkSttlmAmt

Must be equal to the value of the underlying transactions

System event is raised with description: Interbank Returned Settlement Amount between Group Header and transaction do not match

OrgnlGrpInf

'Original Group Information' must exist as a child underneath PmtRtr or TxInf, but not both or the message will be rejected.

System event is raised with description: Either PmtRtr.GrpHdr.OrgnlGrpInf or PmtRtr.TxInf.OrgnlGrpInf must be populated

or

Both PmtRtr.GrpHdr.OrgnlGrpInf and PmtRtr.TxInf.OrgnlGrpInf cannot be populated

TxInf+OrgnlGrpInf

'Original Group Information' must exist as a child underneath PmtRtr or TxInf, but not both or the message will be rejected.

System event is raised with description: Either PmtRtr.GrpHdr.OrgnlGrpInf or PmtRtr.TxInf.OrgnlGrpInf must be populated

or

Both PmtRtr.GrpHdr.OrgnlGrpInf and PmtRtr.TxInf.OrgnlGrpInf cannot be populated

TxInf

TIPS supports only one transaction per message. If more than one Transaction Information block is included, message will be rejected.

System event is raised with description: Only one instance of PmtRtr.TxInf is permitted

Inbound pacs.002

A pacs.002 cannot be sent to scheme as the result of failed pacs.002 validation. In this situation a Inbound Message Failed system event to inform the Client.

Field

Validation Details

Result of Failure

All Fields

Checked to make sure the message is valid against the TIPS pacs.002 xsd

System event raised with a description of the error

OrgnlGrpInfAndSts+GrpSts

GrpSts must exist as a child underneath OrgnlGrpInfAndSts or alternatively TxSts must exist as a child underneath TxInfAndSts, but both should not be present

System event is raised with description: Either FIToFIPmtStsRpt.OrgnlGrpInfAndSts.GrpSts or FIToFIPmtStsRpt.TxInfAndSts.TxSts must be populated

or

Both FIToFIPmtStsRpt.OrgnlGrpInfAndSts.GrpSts and FIToFIPmtStsRpt.TxInfAndSts.TxSts cannot be populated

OrgnlGrpInfAndSts+GrpSts

If GrpSts = ACCP then OrgnlGrpInfAndSts.StsRsnInf should NOT be populated

System event is raised with description: Status reason Information can only be populated if GrpSts is Rejected

OrgnlGrpInfAndSts+GrpSts

If GrpSts = RJCT then OrgnlGrpInfAndSts.StsRsnInf should be populated

System event is raised with description: Original Group Information and Status reason Information must be populated if GrpSts is Rejected

TxInfAndSts+TxSts

If TxSts = RJCT then TxInfAndSts.StsRsnInf should be populated

System event is raised with description: Transaction Information and Status reason Information must be populated if TxSts is Rejected

When processing an incoming (from scheme) pacs.002 message which is in response to an outgoing (to scheme) pacs.008 message the only additional validation check performed is to check that the pacs.002 received correlates with an outbound pacs.008. If the pacs.008 cannot be located then a system event is raised to payment service stating an invalid pacs.002 was received.

Outbound pacs.002

If any of the below validations fail then a Response is sent back to the client and an ERROR level SchemeRuleValidationFailed system event is raised.

Field

Validation Details

Result of Failure

All Fields

Checks if the message is valid against the TIPS pacs.002 xsd

System event raised with a description of the error

OrgnlGrpInfAndSts+GrpSts

GrpSts must exist as a child underneath OrgnlGrpInfAndSts or alternatively TxSts must exist as a child underneath TxInfAndSts, but both should not be present

System event is raised with description: Either FIToFIPmtStsRpt.OrgnlGrpInfAndSts.GrpSts or FIToFIPmtStsRpt.TxInfAndSts.TxSts must be populated

or

Both FIToFIPmtStsRpt.OrgnlGrpInfAndSts.GrpSts and FIToFIPmtStsRpt.TxInfAndSts.TxSts cannot be populated

OrgnlGrpInfAndSts+GrpSts

If GrpSts = ACCP then OrgnlGrpInfAndSts.StsRsnInf should NOT be populated

System event is raised with description: Status reason Information can only be populated if GrpSts is Rejected

OrgnlGrpInfAndSts+GrpSts

If GrpSts = RJCT then OrgnlGrpInfAndSts.StsRsnInf should be populated

System event is raised with description: Original Group Information and Status reason Information must be populated if GrpSts is Rejected

TxInfAndSts+TxSts

If TxSts = RJCT then TxInfAndSts.StsRsnInf should be populated

System event is raised with description: Transaction Information and Status reason Information must be populated if TxSts is Rejected

Outbound pacs.028

If any of the below validations fail then a Response is sent back to the client and an ERROR level SchemeRuleValidationFailed system event is raised.

Field

Validation Details

Result of Failure

All Fields

Checked to make sure the message is valid against the TIPS pacs.028 xsd

System event raised with a description of the error

TxInf+AccptncDtTm

MUST be populated

System event is raised with description: FIToFIPmtStsReq.TxInf.AccptncDtTm is mandatory on a payment status request

Inbound pacs.028

The following validations are performed on an Inbound pacs.028, failures will result in a Inbound Message Failed system event to inform the Client.

Field

Validation Details

Result of Failure

All Fields

Checked to make sure the message is valid against the TIPS pacs.028 xsd

System event raised with a description of the error

OrgnlGrpInf+OrgnlMsgNmId

Field must contain either pacs.008 or camt.056

System event is raised with detail: Not able to handle received payment status request for orgnlMsgNmId