Skip to main content
Version: 19

Everial Associated Parties Document Assessment Provider

🎯 Functional documentation​

This provider is used to assess documents using the external service from Everial. It is not (yet) supported for party documents. The provider first analyzes the content of a document (serialization) and can then validate the extracted data against known data in the system (consolidation).

The process is in two steps:

  1. Serialize: The document is sent to Everial for analysis.
  2. Consolidate: This is an optional second step that is triggered if consolidateConfiguration.enabled is set to true. In this step, the data extracted from the document by Everial is compared with the data already known in the system (via the fieldMapping). If the data does not match to any of the associated parties coming through the filter, the assessment is marked as failed (NOK).

🎯 Validation against associated parties​

  • The provider will perform the consolidation on every associated party that matches the filter if a filter is provided.
  • The provider iterates through the list of associated parties and performs a consolidation check for each one.
  • The assessment is considered successful (OK) as soon as there is one valid match with any of the associated parties.
  • If there are no associated parties, or if none of them result in a match, the assessment will fail (NOK).

⚙️ Configuration​

  • Implementation class: eu.myharmoney.app.providers.documents.assessment.everial.EverialAssociatedPartiesDocumentAssessmentProvider
  • associatedPartyDataFilter: This object defines how the data of associated parties is filtered:
    • partyTypes: An array of party types that should be considered for the assessment. For example, ["INDIVIDUAL", "COMPANY"].
    • associatedPartyTypes: An object that defines which associated party types should be included in the assessment. Purely adding the objects is sufficient, no additional configuration is needed. More information on the associatedPartyDataFilter is here.
      • dossierRelatedParties: An object that if added, will include the related parties of the dossier as associated party types. Optionally a filter can be added to narrow down the related parties:
        • filter: An object that defines the filter for the related parties:
          • condition: An object named after one of the operators defined in ConditionDTO e.g. equals, isNotNull:
            • fieldPath: The field to apply the condition to, e.g. relationType.
            • value: The value to match against, e.g. PARTNER.
  • everialConfigurations: A list of configurations for specific document types.
    • documentTypes: An array of document types that this configuration applies to.
    • validationSchema: An optional string that identifies the validation schema Everial should use for the assessment.
    • serializeInput: This object's properties directly control the form data sent to Everial's /serialize endpoint.
      • withCrops: A boolean that, if true, requests cropped images of individual fields from the document. The default is false.
      • withImage: A boolean that, if true, requests a full image of each processed page. The default is false.
      • withThumbnail: A boolean that, if true, requests a thumbnail image of each processed page. The default is false.
      • pageIndexes: A string that specifies which pages of the document to analyze. It can be a single number, a range (e.g., "1-5"), or a combination (e.g., "1,3,5-7"). The default is "1-10".
    • consolidateConfiguration: This object configures the validation of data extracted from the document.
      • enabled: Enables or disables the consolidation step.
      • fieldMapping: Defines how fields from the system should be mapped to the fields expected by Everial:
        • everialFieldName: The name of the field as expected by Everial.
        • inputFieldPath: The path to the field in the system's data structure.
        • alphaNumeric: A boolean that indicates whether the field should be treated as alphanumeric.
        • inputFieldType: The type of the field in the system (e.g., "STRING", "DATE").
  • ignoreDateErrors: A boolean that, if true, ignores errors in date formats during the analysis.

Example​

This example shows a configuration used in the provider for the document assessment.

{
"AUTHENTICATION_PROVIDER": "$vault{EVERIAL_<client>_AUTHENTICATION_PROVIDER}",
"associatedPartyDataFilter": {
"associatedPartyTypes": {
"//": "This object defines the relationship of the associated party with respect to the dossier.",
"dossierRelatedParties": { }
},
"//": "This object defines the filter for the associated parties.",
"partyTypes": [
"INDIVIDUAL"
]
},
"everialConfigurations": [
{
"consolidateConfiguration": {
"enabled": true,
"fieldMapping": [
{
"alphaNumeric": true,
"everialFieldName": "numero",
"inputFieldPath": "individual.identity.cardNumber"
},
{
"everialFieldName": "DateExpiration",
"inputFieldPath": "individual.identity.cardValidTo",
"inputFieldType": "DATE"
}
]
},
"documentTypes": [
"ID_CARD"
],
"validationSchema": "validation_schema"
}
],
"fallbackAssessment": "REJECTED",
"resultMapping": {
"NOK": "REJECTED",
"OK": "APPROVED"
}
}