Skip to main content
Version: 17

Perpetual KYC

What does perpetual KYC do?​

You can find more information here. It is also often referred to as daily or monthly rescreening.

In case you need to configure the SAS AML rescreening provider, please refer to the provider page instead.

Preconditions​

  • system & manual assessment are enabled in the field definitions. Lifecycle field optionally.
  • system assessment list is different from the manual assessment list

Instructions​

Provider settings​

We will be creating a provider who will filter out all dossiers that answer to a specific dossier filter, eg. we want all dossiers who are APPROVED and in DONE.

  1. Configure the Basic rescreening provider

Example

{
"identifier": "Client - daily rescreening",
"state": "ACTIVE",
"healthCheckLevel": 4,
"implementationClass": "eu.myharmoney.app.providers.dossier.BasicRescreeningProvider",
"settings": {
"AUTOMATION_IDENTIFIER": "DAILY_RESCREENING",
"CRON_SCHEDULE": "0 5 * * *",
"DOSSIER_FILTER": {
"rbaAssessments": [
"APPROVED"
],
"status": [
"DONE"
]
},
"SUPPORTED_FSP": "$vault{<client>_SUPPORTED_FSP}",
"SYSTEM_USER": "$vault{<client>_SYSTEM_USER}"
}
}

Action settings​

The following actions need to be ordered in the way they are presented in this documentation to assure a successful configuration, as the ordering of the actions is followed by the system when executing.

  1. Perform status transition to the dossier status you want the dossier to end up in when a review by an advisor is required eg SUBMITTED.
{
"type": "EVENT",
"value": "DAILY_RESCREENING",
"className": "eu.myharmoney.app.bll.executors.events.PerformStatusTransition",
"synchronous": false,
"enabled": true,
"remove": false,
"settings": {
"reportFailure": true,
"skipActions": true,
"skipValidations": true,
"targetStatus": "SUBMITTED"
}
}
  1. Clear dossier reviews (Required in case a four eyes principle is configured)
{
"type": "EVENT",
"value": "DAILY_RESCREENING",
"className": "eu.myharmoney.app.bll.executors.dossierstatustransition.ClearDossierReviews",
"synchronous": false,
"enabled": true,
"remove": false
}
  1. Perform an EDD check if applicable
{
"type": "EVENT",
"value": "DAILY_RESCREENING",
"className": "eu.myharmoney.app.bll.executors.dossierstatustransition.FrontOfficeInternalDossierEddCheck",
"synchronous": false,
"enabled": true,
"remove": false
}
  1. Perform a CDD check
{
"type": "EVENT",
"value": "DAILY_RESCREENING",
"className": "eu.myharmoney.app.bll.executors.dossierstatustransition.FrontOfficeAssociatedPartiesCddCheck",
"synchronous": false,
"enabled": true,
"remove": false
}
  1. Perform RBA calculation
{
"type": "EVENT",
"value": "DAILY_RESCREENING",
"className": "eu.myharmoney.app.bll.executors.dossierstatustransition.FrontOfficeRbaCalculation",
"synchronous": false,
"enabled": true,
"remove": false,
"settings": {
"skipValidations": true
}
}
  1. Perform every state transition until the final dossier status.
  • This allows the dossiers that do not have an updated RBA to move back to status DONE.
  • The dossier filter needs to be equal to the dossier filter in the BasicRescreeningProvider (excluding status`).
{
"type": "EVENT",
"value": "DAILY_RESCREENING",
"className": "eu.myharmoney.app.bll.executors.events.PerformStatusTransition",
"synchronous": false,
"enabled": true,
"remove": false,
"settings": {
"dossierFilter": {
"rbaAssessments": [
"APPROVED"
]
},
"reportFailure": true,
"skipActions": true,
"skipValidations": true,
"targetStatus": "READY_FOR_REVIEW"
}
}
  1. Set the lifecycle (optional)
{
"type": "EVENT",
"value": "DAILY_RESCREENING",
"className": "eu.myharmoney.app.bll.executors.events.DossierSetLifecycle",
"synchronous": false,
"enabled": true,
"remove": false,
"settings": {
"lifecycle": "DAILY_RESCREENING"
}
}

✅ To test​

  1. Make sure there are dossiers that comply to your dossier filter settings eg. in DONE and APPROVED.
  2. Adjust the name of a party in one of those dossiers, to a name for a party you would expect a HIT for.
  3. Trigger the basic rescreening provider
  4. The dossiers who complied to your dossier filter are in SUBMITTED and have a lifecycle DAILY_RESCREENING.

⚠️ Be aware that due diligence providers have a default limit of one data fetch per day. To bypass this default setting, add DUE_DILIGENCE_RESULT_EXPIRATION in the due diligence provider.