Skip to main content
Version: 🚧 Next

Field definitions template

Guidelines​

  • Field definitions are coded on module/card level. Therefore there is a table per module/card.
  • The HCUSTOM-team follows the order of the fields as provided in the tables.
  • Always select data fields available within the Harmoney data model over metadata (custom fields).
    • different from Harmoney data fields, a format needs to be defined for metadata fields.
  • Provide information in the respective columns:
    • Field/enum:
      • the identifier
      • the identifier for metadata start with metadata. followed by camel case (You start by making the first word lowercase. Then, you capitalize the first letter of each word that follows.).
    • Format: string, list, autocomplete, number (decimal/integer), multiselect autocomplete, boolean, rich text,…
    • Present in the flow:
      • should the field be present in the flow?
    • Conditional visibility
      • is the visibility of the field dependent on another field?
      • should the field only be visible to certain (associated) party types? See Field definitions per associated party type.
      • Leave empty in case of no dependencies.
    • Read Only:
      • should the field be read only?
      • Why would the field be read only? In special case where input is coming from a provider, automation or API gateway, the client does not allow the information to be adapted.
    • Conditional field validation:
      • should the field be mandatory or not?
    • Values:
      • the name of the list the field should point to.
  • Remove tables and rows which are not required.
  • When requesting a change to the field definitions, always create a new page and update the version in the title.
    • Highlight the changes with a red background. Highlight the entire row in case of a new field, highlight specific cells if a dedicated change is requested.
    • Highlight the changes with a yellow background if the order of the fields should be switched.
    • Make sure every page is representative of that version, updating changes that have been performed in the previous version.

The fields in the table below are added because of common request. Add and remove fields that are (not) necessary.

warning

Migration needed when switching between TEXT_AREA and RICH_TEXT!

Rich text editor values are saved with html formatting in the database. This means it is not straightforward to switch between a text-area and the rich text editor. The migration below can be used if you want to switch some_table.some_field from text-area to the editor. The migration encodes <, > and & and replaces new-lines by a proper html <br/>. Remember to migrate the _archive table if relevant.

The final not like '<p>%' is to avoid migrating rows that already contain html. This query can only be executed once! Double execution would lead to a double encoding of & to &amp; to &amp;amp;.

UPDATE some_table
SET some_field = REPLACE(REPLACE(REPLACE(REPLACE(some_field, '&', '&amp;'),'<', '&lt;'),'>', '&gt;'), '\n', '<br/>')
WHERE
some_field IS NOT NULL
AND
(some_field LIKE '%&%' OR some_field LIKE '%<%' OR some_field LIKE '%>%' OR some_field LIKE '%\n%')
AND
some_field NOT LIKE '<p>%';

Field definitions per associated party type​

Field definitions can be made dependent on a party's associated party type within a dossier — that is, the party's role in the dossier (client, owner, dossier related party, signatory, …) — and not only on its base PartyType (individual, company, …). This makes it possible to apply different visibility, requirement or read-only rules to parties that share the same base type depending on the role they fulfil. For example: industrySector required for the client party but optional for a dossier related party, or certain fields read-only for owners with a specific uboType.

To request this, describe the desired per-role behaviour in the Conditional visibility / Read only / Mandatory columns of the tables below.

Selecting the applicable parties​

The selection of which parties a field definition applies to uses the same granularity as the Associated Party Data Filter. A field definition can therefore be scoped by:

  • association type — e.g. client, clientOwners, clientRelatedParties, dossierRelatedParties, clientSignatories, selectedSignatory, …;
  • association-specific attributes — e.g. a related party's relationType, an owner's uboType, a signatory's signatoryType;
  • party type — restrict to INDIVIDUAL, COMPANY, …;
  • party data points — any party-related data point (e.g. party nationality), via a party filter.

Scope and merging​

  • Flow context only. Associated party type is only meaningful within the context of a specific dossier, so these field definitions are evaluated in the flow only. On the FSP side a party can be linked to many dossiers of different types, so the filter does not apply there.
  • Multiple roles are merged. When a party holds more than one associated party type in the dossier (for example, it is both the client and a dossier related party), every matching field definition is applied.

Fields on Dossier​

| Field/ENUM | Format | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
dossierStatusNA![(tick)]NANANA
lifecycleautocompleteNA![(tick)]NANANAfspname_lifecycle
assigneeNA![(error)]NA![(error)]NA
dossierNameNA![(error)]NA![(tick)]NA
numberNA![(error)]NA![(tick)]NA
dossierTypeNA![(tick)]NA![(tick)]NA
serviceNA![(tick)]NA![(tick)]NA
descriptionNA![(error)]NA![(error)]NA
metadata.xxxstringNA![(error)]NA![(error)]NA

Documents on dossier​

| Field/ENUM | Mandatory | Values |

FSPFLOW
dossier documentsNANAfspname_dossier_document_types
validUntil![(error)]NA
manualAssessmentNANADEFAULT_MANUAL_DOC_ASSESSMENT

| Field/ENUM | Format | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
dossier related party typesautocompleteNA![(error)]NA![(error)]![(tick)]fspname_dossier_related_party_types
metadata.xxxintegerNA![(error)]NA![(error)]![(tick)]fspname_lifecycle

Fields on RBA​

Field/ENUMMandatoryValues
rbaScoreNA
escalationNA
systemAssessmentNA
manualAssessment![(error)]DEFAULT_MANUAL_RBA_ASSESSMENT
comments![(error)]

Fields on Party​

INDIVIDUAL​

| Field/ENUM | Format | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
firstName![(tick)]![(error)]![(error)]![(tick)]![(tick)]
lastName![(tick)]![(error)]![(error)]![(tick)]![(tick)]
phone![(tick)]![(error)]![(error)]![(error)]![(tick)]
email![(tick)]![(error)]![(error)]![(error)]![(tick)]
address![(tick)]![(error)]![(error)]![(error)]![(tick)]
dateOfBirth![(tick)]![(error)]![(error)]![(error)]![(tick)]
countryOfBirth![(tick)]![(error)]![(error)]![(error)]![(tick)]
nationality![(tick)]![(error)]![(error)]![(error)]![(tick)]
additionalNationalities![(tick)]![(error)]![(error)]![(error)]![(error)]
occupation![(tick)]![(error)]![(error)]![(error)]![(tick)]
industrySectorautocomplete![(tick)]![(error)]![(error)]![(error)]![(tick)]DEFAULT_INDUSTRY_SECTOR
language![(error)]![(error)]NA![(error)]![(tick)]
internalInfo![(error)]![(error)]NA![(error)]![(tick)]
metadata.xxxstring![(tick)]![(error)]![(error)]![(error)]![(tick)]

Documents on individual​

| Field/ENUM | Mandatory | Values |

FSPFLOW
individual documentsNANAfspname_individual_document_types
validUntil![(error)]NA
manualAssessmentNANADEFAULT_MANUAL_DOC_ASSESSMENT

| Field/ENUM | Format | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
individual related party typesautocompleteNA![(error)]NA![(error)]![(tick)]fspname_individual_related_party_types
metadata.xxxintegerNA![(error)]NA![(error)]![(tick)]

COMPANY​

| Field/ENUM | Format | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
name![(tick)]![(error)]![(error)]![(tick)]![(tick)]
companyNumber![(tick)]![(error)]![(error)]![(error)]![(tick)]
companyType![(tick)]![(error)]![(error)]![(error)]![(tick)]
legalForm![(tick)]![(error)]![(error)]![(error)]![(tick)]
vatLiable![(tick)]![(error)]![(error)]![(error)]![(tick)]
vatNumber![(tick)]visible if vatLiable= true![(error)]![(error)]![(error)]![(tick)]
address![(tick)]![(error)]![(error)]![(error)]![(tick)]
industrySectorautocomplete![(tick)]![(error)]![(error)]![(error)]![(tick)]DEFAULT_INDUSTRY_SECTOR
email![(tick)]![(error)]![(error)]![(error)]![(tick)]
internalInfo![(error)]![(error)]NA![(error)]NA
metadata.xxxstring![(tick)]![(error)]![(error)]![(error)]![(tick)]

Documents on company​

| Field/ENUM | Mandatory | Values |

FSPFLOW
company documentsNANAfspname_company_document_types
validUntil![(error)]NA
manualAssessmentNANADEFAULT_MANUAL_DOC_ASSESSMENT

| Field/ENUM | Format | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
individual related party typesautocompleteNA![(error)]NA![(error)]![(tick)]fspname_individual_related_party_types
metadata.xxxintegerNA![(error)]NA![(error)]![(tick)]

Fields on IDENTITY​

| Field/ENUM | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
identityCardNumber![(tick)]![(error)]![(error)]![(error)]![(tick)]
nationalIdentificationNumber![(tick)]![(error)]![(error)]![(error)]![(error)]
doesCardExpire![(tick)]![(error)]![(error)]![(error)]![(tick)]
identityCardValidTo![(tick)]Visible if doesCardExpire= true![(error)]![(error)]![(error)]![(tick)]

Documents on identity​

| Field/ENUM | Mandatory | Values |

FSPFLOW
company documentsNANAfspname_identity_document_types
manualAssessmentNANADEFAULT_MANUAL_DOC_ASSESSMENT

Fields on FISCALITY​

| Field/ENUM | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
tin![(tick)]![(error)]![(error)]![(error)]![(tick)]
since![(tick)]![(error)]![(error)]![(error)]![(tick)]

Fields on UBO​

| Field/ENUM | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
uboType![(tick)]![(error)]![(error)]![(error)]![(tick)]
share![(tick)]![(error)]![(error)]![(error)]![(tick)]

Fields on SIGNATORIES​

| Field/ENUM | Present in the flow | Conditional visibility | Read only | Mandatory | Values |

FSPFLOWFSPFLOW
metadata.xxx![(tick)]![(error)]![(error)]![(error)]![(tick)]

Harmoney fields​

Always select data fields available within the Harmoney data model over metadata (custom fields). Here's an overview of all fields within the Harmoney data model.

Dossier​

  • dossierName
  • number
  • dossierType
  • service
  • dossierStatus
  • lifecycle
  • owner
  • description

Party - Individual​

  • firstName
  • lastName
  • gender
  • mobilePhone
  • email
  • address
    • fullStreet
    • postalCode
    • city
    • subdivision
    • country
  • postalAddress
    • fullStreet
    • postalCode
    • city
    • subdivision
    • country
  • dateOfBirth
  • placeOfBirth
  • nationality
  • additionalNationalities
  • countryOfBirth
  • dependentChildren
  • education
  • occupation
  • occupationSince
  • employerName
  • employerAddress
  • externalDescription
  • industrySector
  • legalCapacity
  • socialState
  • socialStateSince
  • maritalStatus
  • maritalStatusSince
  • partnerName
  • naceCode
  • state
  • owner
  • assignee
  • expiryDate

Identity​

  • identityCardNumber
  • nationalIdentificationNumber
  • doesCardExpire
  • identityCardValidTo

Party - company​

  • name
  • companyNumber
  • companyType
  • legalForm
  • vatLiable
  • vatNumber
  • leiLiable
  • leiNumber
  • address
    • fullStreet
    • postalCode
    • city
    • subdivision
    • country
  • postalAddress
    • fullStreet
    • postalCode
    • city
    • subdivision
    • country
  • establishmentCountryCode
  • industrySector
  • naceCode
  • commonCompanyStructure
  • establishmentDate
  • companyPhone
  • website
  • state
  • owner

Party - indivision​

  • name
  • state
  • owner

Party - partnership​

  • name
  • state
  • registrationNumber
  • address
  • owner

Relation type - UBO​

  • uboType
  • share
  • relationType
  • comment

Documents​

  • systemAssessment
  • systemInfo
  • manualAssessment
  • validUntil

RBA​

  • rbaScore
  • systemAssessment
  • manualAssessment
  • escalation

Bank account​

  • account_name
  • account_holder_name
  • bank_account_number_type
  • bank_account_number
  • BIC_SWIFT
  • bank_account_type
  • bank_name
  • account_balance
  • account_balance_date