gana

GNUnet Assigned Numbers Authority
Log | Files | Refs | README | LICENSE

commit b648a5614c7c24c766693b4be96493581402c199
parent 34557595648d4a663f5143f2234d940550ff8e10
Author: Sebastian <sebasjm@gmail.com>
Date:   Wed,  8 Jan 2025 12:14:17 -0300

kyc + aml -> forms

Diffstat:
Dgnu-taler-aml-attributes/Makefile | 72------------------------------------------------------------------------
Dgnu-taler-aml-attributes/registry.rec | 1088-------------------------------------------------------------------------------
Dgnu-taler-aml-attributes/ts.header | 36------------------------------------
Rgnu-taler-aml-attributes/.gitignore -> gnu-taler-form-attributes/.gitignore | 0
Agnu-taler-form-attributes/Makefile | 74++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rgnu-taler-aml-attributes/json.footer -> gnu-taler-form-attributes/json.footer | 0
Rgnu-taler-aml-attributes/json.form-footer -> gnu-taler-form-attributes/json.form-footer | 0
Rgnu-taler-aml-attributes/json.form-header -> gnu-taler-form-attributes/json.form-header | 0
Rgnu-taler-aml-attributes/json.header -> gnu-taler-form-attributes/json.header | 0
Rgnu-taler-aml-attributes/json.template -> gnu-taler-form-attributes/json.template | 0
Agnu-taler-form-attributes/registry.rec | 1297+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rgnu-taler-aml-attributes/rst.footer -> gnu-taler-form-attributes/rst.footer | 0
Rgnu-taler-aml-attributes/rst.header -> gnu-taler-form-attributes/rst.header | 0
Rgnu-taler-aml-attributes/rst.template -> gnu-taler-form-attributes/rst.template | 0
Rgnu-taler-aml-attributes/ts.footer -> gnu-taler-form-attributes/ts.footer | 0
Rgnu-taler-aml-attributes/ts.form-footer -> gnu-taler-form-attributes/ts.form-footer | 0
Rgnu-taler-aml-attributes/ts.form-header -> gnu-taler-form-attributes/ts.form-header | 0
Agnu-taler-form-attributes/ts.header | 38++++++++++++++++++++++++++++++++++++++
Rgnu-taler-aml-attributes/ts.template -> gnu-taler-form-attributes/ts.template | 0
Dgnu-taler-kyc-attributes/.gitignore | 7-------
Dgnu-taler-kyc-attributes/Makefile | 27---------------------------
Dgnu-taler-kyc-attributes/registry.rec | 204-------------------------------------------------------------------------------
Dgnu-taler-kyc-attributes/rst.footer | 0
Dgnu-taler-kyc-attributes/rst.header | 14--------------
Dgnu-taler-kyc-attributes/rst.template | 4----
Dgnu-taler-kyc-attributes/ts.footer | 3---
Dgnu-taler-kyc-attributes/ts.header | 24------------------------
Dgnu-taler-kyc-attributes/ts.template | 6------
28 files changed, 1409 insertions(+), 1485 deletions(-)

diff --git a/gnu-taler-aml-attributes/Makefile b/gnu-taler-aml-attributes/Makefile @@ -1,72 +0,0 @@ -FILES=taler_aml_attributes.ts \ - taler_aml_attributes.json \ - taler_aml_attributes.rst - -FORMS=VQF_902_1 \ - VQF_902_11 \ - VQF_902_12 \ - VQF_902_12_beneficiary \ - VQF_902_12_founder \ - VQF_902_12_pre \ - VQF_902_12_representative \ - VQF_902_13 \ - VQF_902_13_beneficiary \ - VQF_902_13_further \ - VQF_902_13_pre \ - VQF_902_13_protector \ - VQF_902_13_settlor \ - VQF_902_14 \ - VQF_902_15 \ - VQF_902_1_founder \ - VQF_902_4 \ - VQF_902_5 \ - VQF_902_9 \ - VQF_902_9_identity - - -all: check $(FILES) - -check: registry.rec - recfix --check registry.rec - -distclean: - rm -f *.tmp - -clean: - rm -f $(FILES) *.tmp - -taler_aml_attributes.ts.tmp: registry.rec ts.template ts.form-header ts.form-footer - /usr/bin/truncate --size 0 $@ - - for FORM in $(FORMS); do \ - echo Name: $$FORM | recfmt -f ts.form-header >> $@; \ - ../format.sh ts.template 'Form = "'$$FORM'"' < registry.rec >> $@; \ - cat ts.form-footer >> $@; \ - done - - -taler_aml_attributes.ts: ts.header taler_aml_attributes.ts.tmp ts.footer - cat $^ > $@ - - -taler_aml_attributes.json.tmp: registry.rec json.template json.form-header json.form-footer - /usr/bin/truncate --size 0 $@ - - for FORM in $(FORMS); do \ - echo Name: $$FORM | recfmt -f json.form-header >> $@; \ - ../format.sh json.template 'Form = "'$$FORM'"' < registry.rec >> $@; \ - cat json.form-footer >> $@; \ - done - - -taler_aml_attributes.json: json.header taler_aml_attributes.json.tmp json.footer - cat $^ > $@ - - -taler_aml_attributes.rst.tmp: registry.rec rst.template - ../format.sh rst.template < registry.rec > $@ - -taler_aml_attributes.rst: rst.header taler_aml_attributes.rst.tmp rst.footer - cat $^ > $@ - -.PHONY: check clean distclean diff --git a/gnu-taler-aml-attributes/registry.rec b/gnu-taler-aml-attributes/registry.rec @@ -1,1088 +0,0 @@ -# -*- mode: rec -*- -# -# Registry for GNU Taler attributes, as per Design document 31 -# -%rec: TalerAttributes -%unique: Identifier -%key: Identifier -%type: Identifier Identifier_t -%typedef: Identifier_t regexp /^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789:\.]*$/ -# Define the form's field ID -%mandatory: Identifier -# Use to specify the form's field type. Arrays and generics are allowed in typescript form. -# Literal values are enclosed by double quote `"` and enumerated type union by vertical bar `|` -%mandatory: Type -%type: Type Type_t -%typedef: Type_t regexp !^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_'][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789 \[\]|:\.,'-/]*$! -# Define for which form this form's field belongs -%mandatory: Form -# True if a form submission should always contain a value. -%allowed: Required -%type: Required Required_t -%typedef: Required_t regexp /^(true|false)*$/ -# Description of the usage of the field -%allowed: Description -%type: Description Description_t -%typedef: Description_t regexp |^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789 :\.,'-/?]*$| -%sort: Identifier Type Form Required - -# Label Help Enumeration Order Section -# FIXME: there is no need of the field to have the name of the form, remove it. So we can reuse the same field for multiple forms, reapeating the form name in the same fill.. for example for "FULL_NAME" - -########################## -## All VQF forms -########################## - -# Customer is the person with whom the member concludes the contract with regard to the financia service provided. - -Identifier: SANCTION_LIST_SUPPRESS -Help: Suppress flagging this account when it creates a hit on a sanctions list, this is a false-positive. -Section: header -Type: Boolean -Required: false -Label: Ignore sanction list -Order: 1 - -Identifier: FORM_FILLING_DATE -Description: When the form was completed. -Type: AbsoluteDateTime -Form: VQF_902_1 -Form: VQF_902_4 -Form: VQF_902_5 -Form: VQF_902_9 -Form: VQF_902_11 -Form: VQF_902_12 -Form: VQF_902_13 -Form: VQF_902_14 -Form: VQF_902_15 -Required: true - -Identifier: CUSTOMER_ID -Required: true -Type: String -Form: VQF_902_1 -Form: VQF_902_4 -Form: VQF_902_5 -Form: VQF_902_9 -Form: VQF_902_11 -Form: VQF_902_12 -Form: VQF_902_13 -Form: VQF_902_14 -Form: VQF_902_15 -Description: Customer system ID required to correlate different AML forms. - -Identifier: SIGN_DATE -Description: Contracing partner signature, -Type: AbsoluteDateTime -Form: VQF_902_9 -Form: VQF_902_11 -Form: VQF_902_12 -Form: VQF_902_13 -Form: VQF_902_15 -Required: true - -Identifier: SIGNATURE -Form: VQF_902_9 -Form: VQF_902_11 -Form: VQF_902_12 -Form: VQF_902_13 -Form: VQF_902_15 -Type: String -Required: true - -########################## -## Form VQF 902.1e -########################## - -# 1 -# Information of the customer - -Identifier: CUSTOMER_NATURAL_FULL_NAME -Required: true -Type: String -Form: VQF_902_1 - -Identifier: CUSTOMER_NATURAL_RESIDENTIAL -Required: true -Type: ResidentialAddress -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_PHONE -Type: Phone -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_EMAIL -Type: Email -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_BIRTHDATE -Required: true -Type: AbsoluteDate -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_NATIONALITY -Required: true -Type: CountryCode -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_NATIONAL_ID -Required: true -Type: String -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_NATIONAL_ID_COPY -Required: true -Type: File -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_COMPANY_NAME -Type: String -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_REGISTERED_OFFICE -Type: String -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_COMPANY_ID -Type: String -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_NATURAL_COMPANY_ID_COPY -Type: File -Form: VQF_902_1 -Description: If the customer is a natural person. - -Identifier: CUSTOMER_ENTITY_COMPANY_NAME -Required: true -Type: String -Form: VQF_902_1 -Description: If the customer is a legal entity. - -Identifier: CUSTOMER_ENTITY_ADDRESS -Required: true -Type: BusinessAddress -Form: VQF_902_1 -Description: If the customer is a legal entity. - -Identifier: CUSTOMER_ENTITY_CONTACT_PERSON_NAME -Type: String -Form: VQF_902_1 -Description: If the customer is a legal entity. - -Identifier: CUSTOMER_ENTITY_PHONE -Type: Phone -Form: VQF_902_1 -Description: If the customer is a legal entity. - -Identifier: CUSTOMER_ENTITY_EMAIL -Type: Email -Form: VQF_902_1 -Description: If the customer is a legal entity. - -Identifier: CUSTOMER_ENTITY_ID -Required: true -Type: String -Form: VQF_902_1 -Description: Not older than 12 month - -Identifier: CUSTOMER_ENTITY_ID_COPY -Required: true -Type: File -Form: VQF_902_1 - -# 2 -# Information of the founders -# Founders are natural persons who establish the business for legal entities and partnerships - -Identifier: FOUNDER_LIST -Type: Form<VQF_902_1_founder>[] -Form: VQF_902_1 -Description: List of founder with the fields below. -Required: true - -Identifier: FOUNDER_FULL_NAME -Type: String -Form: VQF_902_1_founder -Required: true - -Identifier: FOUNDER_RESIDENTIAL_ADDRESS -Type: ResidentialAddress -Form: VQF_902_1_founder -Required: true - -Identifier: FOUNDER_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_1_founder -Required: true - -Identifier: FOUNDER_NATIONALITY -Type: CountryCode -Form: VQF_902_1_founder -Required: true - -Identifier: FOUNDER_AUTHORIZATION_TYPE -Description: Signatory of representation -Type: String -Form: VQF_902_1_founder -Required: true - -Identifier: FOUNDER_NATIONAL_ID -Type: String -Form: VQF_902_1_founder -Required: true - -Identifier: FOUNDER_NATIONAL_COPY -Type: File -Form: VQF_902_1_founder -Required: true - -Identifier: FOUNDER_POWER_OF_ATTORNEY -Type: 'CR' | 'MANDATE' | 'OTHER' | String -Form: VQF_902_1_founder -Required: true - -# 3 -# Acceptance of business relationship - -Identifier: ACCEPTANCE_DATE -Description: Conclusion of the conract -Type: AbsoluteDate -Description: Conclusion of contract -Form: VQF_902_1 - -Identifier: ACCEPTANCE_METHOD -Type: 'FACE_TO_FACE' | 'AUTHENTICATED_COPY' | 'RESIDENTIAL_ADDRESS_VALIDATED' -Form: VQF_902_1 - -Identifier: ACCEPTANCE_CORRESPONDENCE_SERVICE_TYPE -Type: 'TO_THE_CUSTOMER' | 'HOLD_AT_BANK' | 'TO_THE_MEMBER' | 'TO_A_THIRD_PARTY' | String -Form: VQF_902_1 - -Identifier: ACCEPTANCE_LANGUAGE -Type: LangCode -Form: VQF_902_1 - -Identifier: ACCEPTANCE_FURTHER_INFO -Type: String -Form: VQF_902_1 - -# 4 -# Information on the beneficial owner of the assets and/or controlling person -# defines the customer type - -Identifier: CUSTOMER_TYPE -Type: 'NATURAL' | 'LEGAL_ENTITY' | 'FOUNDATION' | 'TRUST' | 'LIFE_INSURANCE' | 'OTHER' -Form: VQF_902_1 -Required: true -Description: Establishment of the beneficial owner of the assets and/or contrilling person - -# 5 -# Embargo procedures/terrorism list - -Identifier: EMBARGO_TERRORISM_INFO -Type: Paragraph -Form: VQF_902_1 -Description: Verification whether the customer, beneficial owners of the assets, controlling persons, authorised representatives or other involved persons are listed on an embargo-/terrorism list (date of verification/result) - -# 6 -# Type and purpose of business relationship - -# In case of occasional customer that no customer profile (VQF No 902.5) is created. - -Identifier: RELATIONSHIP_TYPE -Type: 'MONEY_EXCHANGE' | 'MONEY_ASSET_TRANSFER' | String -Form: VQF_902_1 - -Identifier: RELATIONSHIP_PURPOSE -Type: Paragraph -Form: VQF_902_1 -Description: Purpose of service requested - -# 7 -# Enclosures - -Identifier: ENCLOSURE_CUSTOMER_DOCUMENTS -Type: Boolean -Form: VQF_902_1 - -Identifier: ENCLOSURE_IDENTIFICATION_DOCUMENTS -Type: Boolean -Form: VQF_902_1 - -Identifier: ENCLOSURE_BENEFICIAL_OWNER -Type: Boolean -Form: VQF_902_1 - -Identifier: ENCLOSURE_CUSTOMER_PROFILE -Type: Boolean -Form: VQF_902_1 - -Identifier: ENCLOSURE_RISK_PROFILE -Type: Boolean -Form: VQF_902_1 - - -########################## -## Form VQF 902.4e -########################## - -# Art. 56 SRO Regulations - -# 1. Politically exposed person -# Art 7 - -Identifier: PEP_FOREIGN -Description: True if the person is a PEP defined by 'Art 7 lit. g numeral 1' -Type: Boolean -Form: VQF_902_4 -Required: true - -Identifier: PEP_DOMESTIC -Description: True if the person is a PEP defined by 'Art 7 lit. g numeral 2' -Type: Boolean -Form: VQF_902_4 -Required: true - -Identifier: PEP_INTERNATIONAL_ORGANIZATION -Description: True if the person is a PEP defined by 'Art 7 lit. g numeral 3' -Type: Boolean -Form: VQF_902_4 -Required: true - -Identifier: PEP_ACCEPTANCE_DATE -Description: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ -Type: AbsoluteDateTime -Form: VQF_902_4 - -# 2. High risk or non-cooperative country - -Identifier: HIGH_RISK_COUNTRY -Description: True if the person is in a country for which FATF requires incresed dilegence. -Type: Boolean -Form: VQF_902_4 -Required: true - -Identifier: HIGH_RISK_ACCEPTANCE_DATE -Description: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ -Type: AbsoluteDateTime -Form: VQF_902_4 - -# 3. Business relationship risk - -Identifier: COUNTRY_RISK_TYPE -Type: 'NATIONALITY_CUSTOMER' | 'NATIONALITY_OWNER' | 'DOMICILE_CUSTOMER' | 'DOMICILE_OWNER' | 'DOMICILE_CONTROLLING' | 'BUSINESS_ACTIVITY' | 'PAYMENTS' -Form: VQF_902_4 - -Identifier: COUNTRY_RISK_LEVEL -Description: Based on 902.4.1 country list -Type: 'LOW' | 'MEDIUM' | 'HIGH' -Form: VQF_902_4 - -Identifier: INDUSTRY_RISK_TYPE -Type: 'CUSTOMER' | 'OWNER' -Form: VQF_902_4 - -Identifier: INDUSTRY_RISK_LEVEL -Type: 'TRANSPARENT' | 'HIGH_CASH_TRANSACTION' | 'NOT_WELL_KNOWN' | 'HIGH_RISK_TRADE' | 'UNKNOWN_INDUSTRY' -Form: VQF_902_4 - -Identifier: CONTACT_RISK_LEVEL -Description: Based on 902.4.1 country list -Type: 'LOW' | 'MEDIUM' | 'HIGH' -Form: VQF_902_4 - -Identifier: PRODUCT_RISK_LEVEL -Type: 'EASY' | 'SOPHISTICATED' | 'OFFSHORE' | 'COMPLEX_STRUCTURE' | 'LARGE_NUMBER_OF_ACCOUNTS' | 'COMPLEX_SERVICE' | 'FREQ_TRANS_WITH_HIGH_RISK' -Form: VQF_902_4 - -Identifier: EXTRA_CRITERA_1_RISK_DEFINITION -Description: Criteria description -Type: String -Form: VQF_902_4 - -Identifier: EXTRA_CRITERA_1_RISK_LEVEL -Description: Based on 902.4.1 country list -Type: 'LOW' | 'MEDIUM' | 'HIGH' -Form: VQF_902_4 - -Identifier: EXTRA_CRITERA_2_RISK_DEFINITION -Description: Criteria description -Type: String -Form: VQF_902_4 - -Identifier: EXTRA_CRITERA_2_RISK_LEVEL -Description: Based on 902.4.1 country list -Type: 'LOW' | 'MEDIUM' | 'HIGH' -Form: VQF_902_4 - -Identifier: RISK_CLASIFICATION_LEVEL -Type: 'WITH' | 'WITHOUT' -Form: VQF_902_4 - -Identifier: RISK_CLASIFICATION_ACCEPTANCE_DATE -Description: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ -Type: AbsoluteDateTime -Form: VQF_902_4 - -# 4. Transaction monitoring - -## This fields seems to be related to the AML legitimization rules - - -########################## -## Form VQF 902.5e -########################## - -# 1. Business activity - -Identifier: BIZREL_PROFESSION -Description: Profession, business activities, etc. (former, current, potentially planned) -Type: String -Form: VQF_902_5 - -# 2. Financial circumstances - -Identifier: BIZREL_INCOME -Description: Income and assets, liabilities (estimated) -Type: String -Form: VQF_902_5 - -# 3. Origin of the deposited assets involved - -Identifier: BIZREL_ORIGIN_AMOUNT -Description: Nature, amount and currency of the involved assets. -Type: Amount -Form: VQF_902_5 -Required: true - -Identifier: BIZREL_ORIGIN_CATEGORY -Type: 'SAVINGS' | 'OWN_BUSINESS' | 'INHERITANCE' | 'OTHER' -Form: VQF_902_5 -Required: true - -Identifier: BIZREL_ORIGIN_CATEGORY_OTHER -Type: String -Form: VQF_902_5 - -Identifier: BIZREL_ORIGIN_DETAIL -Description: Define the category if 'other'. -Type: Paragraph -Form: VQF_902_5 - -# 4. Nature and purpose - -Identifier: BIZREL_PURPOSE -Description: Purpose of the business relationship. -Type: String -Form: VQF_902_5 - -Identifier: BIZREL_DEVELOPMENT -Description: Information on the planned development of the business relationship and the assets. -Type: String -Form: VQF_902_5 - -Identifier: BIZREL_FINANCIAL_VOLUME -Description: In the case of cash or money and asset transfer transacction with regular customer -Type: String -Form: VQF_902_5 - -Identifier: BIZREL_FINANCIAL_BENEFICIARIES_FULL_NAME -Description: In the case of cash or money and asset transfer transacction with regular customer -Type: String -Form: VQF_902_5 - -Identifier: BIZREL_FINANCIAL_BENEFICIARIES_ADDRESS -Description: In the case of cash or money and asset transfer transacction with regular customer -Type: BusinessAddress -Form: VQF_902_5 - -Identifier: BIZREL_FINANCIAL_BENEFICIARIES_BANK_ACCOUNT -Description: In the case of cash or money and asset transfer transacction with regular customer -Type: String -Form: VQF_902_5 - -# 5. Third parties - -Identifier: BIZREL_THIRDPARTY_RELATIONSHIP -Description: Relation of the customer to the beneficial owner, controlling persons, authorised signatories and other persons involved in the business relationship. -Type: String -Form: VQF_902_5 - -Identifier: BIZREL_THIRDPARTY_AMLA_FILES -Description: Relation to other AMLA-files. -Type: String -Form: VQF_902_5 - -Identifier: BIZREL_THIRDPARTY_REFERENCES -Description: Introducer / agents / references. -Type: String -Form: VQF_902_5 - -# 6. Further information - -Identifier: BIZREL_FURTHER_INFO -Description: Other relevant information. -Type: String -Form: VQF_902_5 - -########################## -## Form VQF 902.8ew -########################## -########################## -## Form VQF 902.9e -########################## - -# Identity of beneficial owner - -Identifier: IDENTITY_CONTRACTING_PARTNER -Type: Paragraph -Form: VQF_902_9 -Required: true - -Identifier: IDENTITY_LIST -Description: The beneficial owners of the assets involved in the business relationship. -Type: Form<VQF_902_9_identity>[] -Form: VQF_902_9 - -Identifier: IDENTITY_FULL_NAME -Type: String -Form: VQF_902_9_identity -Required: true - -Identifier: IDENTITY_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_9_identity -Required: true - -Identifier: IDENTITY_NATIONALITY -Type: CountryCode -Form: VQF_902_9_identity -Required: true - -Identifier: IDENTITY_DOMICILE -Type: ResidentialAddress -Form: VQF_902_9_identity -Required: true - -########################## -## Form VQF 902.11e -########################## - -# controlling person of the operation legal entity and partnerships - -Identifier: CONTROLLING_ENTITY_CONTRACTING_PARTNER -Type: Paragraph -Form: VQF_902_11 -Required: true - -Identifier: CONTROLLING_ENTITY_LEVEL -Type: '25_MORE_RIGHTS' | 'OTHER_WAY' | 'DIRECTOR' -Form: VQF_902_11 -Required: true - -Identifier: CONTROLLING_ENTITY_FULL_NAME -Type: String -Form: VQF_902_11 -Required: true - -Identifier: CONTROLLING_ENTITY_DOMICILE -Type: ResidentialAddress -Form: VQF_902_11 -Required: true - -Identifier: CONTROLLING_ENTITY_THIRD_PERSON -Type: Boolean -Form: VQF_902_11 -Description: Is a third person the beneficial owner of the assets? -Required: true - -########################## -## Form VQF 902.12e -########################## - -# foundations - -Identifier: FOUNDATION_CONTRACTING_PARTNER -Type: Paragraph -Form: VQF_902_12 -Required: true - -Identifier: FOUNDATION_KNOWN_AS -Type: String -Form: VQF_902_12 -Required: true - -# 1. About the foundation - -Identifier: FOUNDATION_NAME -Type: String -Form: VQF_902_12 -Required: true - -Identifier: FOUNDATION_DISCRETIONARY -Type: Boolean -Form: VQF_902_12 -Required: true - -Identifier: FOUNDATION_REVOCABLE -Type: Boolean -Form: VQF_902_12 -Required: true - -# 2. About the founder - -Identifier: FOUNDATION_FOUNDER_LIST -Type: Form<VQF_902_12_founder>[] -Form: VQF_902_12 -Required: true - -Identifier: FOUNDATION_FOUNDER_FULL_NAME -Type: String -Form: VQF_902_12_founder -Required: true - -Identifier: FOUNDATION_FOUNDER_DOMICILE -Type: ResidentialAddress -Form: VQF_902_12_founder -Required: true - -Identifier: FOUNDATION_FOUNDER_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_12_founder -Required: true - -Identifier: FOUNDATION_FOUNDER_NATIONALITY -Type: CountryCode -Form: VQF_902_12_founder -Required: true - -Identifier: FOUNDATION_FOUNDER_DEATHDATE -Type: AbsoluteDate -Form: VQF_902_12_founder -Required: true - -Identifier: FOUNDATION_FOUNDER_RIGHT_TO_REVOKE -Type: Boolean -Form: VQF_902_12_founder -Required: true - -# 3. About the pre-existing foundation - -Identifier: FOUNDATION_PRE_LIST -Type: Form<VQF_902_12_pre>[] -Form: VQF_902_12 -Required: true - -Identifier: FOUNDATION_PRE_FULL_NAME -Type: String -Form: VQF_902_12_pre -Required: true - -Identifier: FOUNDATION_PRE_DOMICILE -Type: ResidentialAddress -Form: VQF_902_12_pre -Required: true - -Identifier: FOUNDATION_PRE_COUNTRY -Type: CountryCode -Form: VQF_902_12_pre -Required: true - -Identifier: FOUNDATION_PRE_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_12_pre -Required: true - -Identifier: FOUNDATION_PRE_NATIONALITY -Type: CountryCode -Form: VQF_902_12_pre -Required: true - -Identifier: FOUNDATION_PRE_DEATHDATE -Type: AbsoluteDate -Form: VQF_902_12_pre -Required: true - -# 4. Beneficiaries information - -Identifier: FOUNDATION_BENEFICIARY_LIST -Type: Form<VQF_902_12_beneficiary>[] -Form: VQF_902_12 -Required: true - -Identifier: FOUNDATION_BENEFICIARY_FULL_NAME -Type: String -Form: VQF_902_12_beneficiary - -Identifier: FOUNDATION_BENEFICIARY_DOMICILE -Type: ResidentialAddress -Form: VQF_902_12_beneficiary - -Identifier: FOUNDATION_BENEFICIARY_COUNTRY -Type: CountryCode -Form: VQF_902_12_beneficiary - -Identifier: FOUNDATION_BENEFICIARY_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_12_beneficiary - -Identifier: FOUNDATION_BENEFICIARY_NATIONALITY -Type: CountryCode -Form: VQF_902_12_beneficiary - -Identifier: FOUNDATION_BENEFICIARY_RIGHT_TO_CLAIM -Type: Boolean -Form: VQF_902_12_beneficiary - -Identifier: FOUNDATION_BENEFICIARY_ADDITION -Type: Paragraph -Form: VQF_902_12 - -# 5. Further person with right to nominate representatives - -Identifier: FOUNDATION_REPRESENTATIVE_LIST -Type: Form<VQF_902_12_representative>[] -Form: VQF_902_12 -Required: true - -Identifier: FOUNDATION_REPRESENTATIVE_FULL_NAME -Type: String -Form: VQF_902_12_representative -Required: true - -Identifier: FOUNDATION_REPRESENTATIVE_DOMICILE -Type: ResidentialAddress -Form: VQF_902_12_representative -Required: true - -Identifier: FOUNDATION_REPRESENTATIVE_COUNTRY -Type: CountryCode -Form: VQF_902_12_representative -Required: true - -Identifier: FOUNDATION_REPRESENTATIVE_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_12_representative -Required: true - -Identifier: FOUNDATION_REPRESENTATIVE_NATIONALITY -Type: CountryCode -Form: VQF_902_12_representative -Required: true - -Identifier: FOUNDATION_REPRESENTATIVE_RIGHT_TO_REVOKE -Type: Boolean -Form: VQF_902_12_representative -Required: true - -########################## -## Form VQF 902.13e -########################## - -# trusts - -Identifier: TRUST_CONTRACTING_PARTNER -Type: Paragraph -Form: VQF_902_13 -Required: true - -Identifier: TRUST_KNOWN_AS -Type: String -Form: VQF_902_13 -Required: true - -# 1. About the trust - -Identifier: TRUST_NAME -Type: String -Form: VQF_902_13 -Required: true - -Identifier: TRUST_DISCRETIONARY -Type: Boolean -Form: VQF_902_13 -Required: true - -Identifier: TRUST_REVOCABLE -Type: Boolean -Form: VQF_902_13 -Required: true - -# 2. About the settlor of the trust - -Identifier: TRUST_SETTLOR_LIST -Type: Form<VQF_902_13_settlor>[] -Form: VQF_902_13 -Required: true - -Identifier: TRUST_SETTLOR_FULL_NAME -Type: String -Form: VQF_902_13_settlor -Required: true - -Identifier: TRUST_SETTLOR_DOMICILE -Type: ResidentialAddress -Form: VQF_902_13_settlor -Required: true - -Identifier: TRUST_SETTLOR_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_13_settlor -Required: true - -Identifier: TRUST_SETTLOR_NATIONALITY -Type: CountryCode -Form: VQF_902_13_settlor -Required: true - -Identifier: TRUST_SETTLOR_DEATHDATE -Type: AbsoluteDate -Form: VQF_902_13_settlor -Required: true - -Identifier: TRUST_SETTLOR_RIGHT_TO_REVOKE -Type: Boolean -Form: VQF_902_13_settlor -Required: true - -# 3. About the pre-existing trust` - -Identifier: TRUST_PRE_LIST -Type: Form<VQF_902_13_pre>[] -Form: VQF_902_13 -Required: true - -Identifier: TRUST_PRE_FULL_NAME -Type: String -Form: VQF_902_13_pre - -Identifier: TRUST_PRE_DOMICILE -Type: ResidentialAddress -Form: VQF_902_13_pre - -Identifier: TRUST_PRE_COUNTRY -Type: CountryCode -Form: VQF_902_13_pre - -Identifier: TRUST_PRE_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_13_pre - -Identifier: TRUST_PRE_NATIONALITY -Type: CountryCode -Form: VQF_902_13_pre - -Identifier: TRUST_PRE_DEATHDATE -Type: AbsoluteDate -Form: VQF_902_13_pre - -# 4. Beneficiaries information - -Identifier: TRUST_BENEFICIARY_LIST -Type: Form<VQF_902_13_beneficiary>[] -Form: VQF_902_13 -Required: true - -Identifier: TRUST_BENEFICIARY_FULL_NAME -Type: String -Form: VQF_902_13_beneficiary - -Identifier: TRUST_BENEFICIARY_DOMICILE -Type: ResidentialAddress -Form: VQF_902_13_beneficiary - -Identifier: TRUST_BENEFICIARY_COUNTRY -Type: CountryCode -Form: VQF_902_13_beneficiary - -Identifier: TRUST_BENEFICIARY_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_13_beneficiary - -Identifier: TRUST_BENEFICIARY_NATIONALITY -Type: CountryCode -Form: VQF_902_13_beneficiary - -Identifier: TRUST_BENEFICIARY_RIGHT_TO_CLAIM -Type: Boolean -Form: VQF_902_13_beneficiary - -Identifier: TRUST_BENEFICIARY_ADDITION -Type: Paragraph -Form: VQF_902_13_beneficiary - - -# 5. Further person with right to nominate representatives - -Identifier: TRUST_PROTECTOR_LIST -Type: Form<VQF_902_13_protector>[] -Form: VQF_902_13 -Required: true - -Identifier: TRUST_PROTECTOR_FULL_NAME -Type: String -Form: VQF_902_13_protector - -Identifier: TRUST_PROTECTOR_DOMICILE -Type: ResidentialAddress -Form: VQF_902_13_protector - -Identifier: TRUST_PROTECTOR_COUNTRY -Type: CountryCode -Form: VQF_902_13_protector - -Identifier: TRUST_PROTECTOR_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_13_protector - -Identifier: TRUST_PROTECTOR_NATIONALITY -Type: CountryCode -Form: VQF_902_13_protector - -Identifier: TRUST_PROTECTOR_RIGHT_TO_REVOKE -Type: Boolean -Form: VQF_902_13_protector - -Identifier: TRUST_FURTHER_LIST -Type: Form<VQF_902_13_further>[] -Form: VQF_902_13_further -Required: true - -Identifier: TRUST_FURTHER_FULL_NAME -Type: String -Form: VQF_902_13_further - -Identifier: TRUST_FURTHER_DOMICILE -Type: ResidentialAddress -Form: VQF_902_13_further - -Identifier: TRUST_FURTHER_COUNTRY -Type: CountryCode -Form: VQF_902_13_further - -Identifier: TRUST_FURTHER_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_13_further - -Identifier: TRUST_FURTHER_NATIONALITY -Type: CountryCode -Form: VQF_902_13_further - -Identifier: TRUST_FURTHER_RIGHT_TO_REVOKE -Type: Boolean -Form: VQF_902_13_further - - -########################## -## Form VQF 902.14e -########################## - -# Increased risk - -# 1. Reason for special clarifications - -Identifier: INCRISK_REASON -Description: Description of the circumstances/transactions, which triggered the special clarifications -Type: String -Form: VQF_902_14 -Required: true - -# 2. Used means of clarification - -Identifier: INCRISK_MEANS -Type: 'GATHERING' | 'CONSULTATION' | 'ENQUIRIES' | String -Form: VQF_902_14 -Required: true - -# 3. Summary - -Identifier: INCRISK_SUMMARY -Type: Paragraph -Form: VQF_902_14 -Required: true - -Identifier: INCRISK_DOCUMENTS -Description: Gathered or consulted documents -Type: File[] -Form: VQF_902_14 -Required: true - -# 4. Result of the special clarification - -Identifier: INCRISK_RESULT -Type: 'NO_SUSPICION' | 'REASONABLE_SUSPICION' | 'SIMPLE_SUSPICION' -Form: VQF_902_14 -Required: true - - -########################## -## Form VQF 902.15e -########################## - -# Insurance policy - -Identifier: INSURANCE_CONTRACTING_PARTNER -Type: Paragraph -Form: VQF_902_15 -Required: true - -Identifier: INSURANCE_RELATIONSHIP_NAME -Type: String -Form: VQF_902_15 -Required: true -Description: Name or number of the contractual relationship between the contracting party and the financial intermediary - -Identifier: INSURANCE_RELATIONSHIP_POLICY -Type: String -Required: true -Form: VQF_902_15 - -Identifier: INSURANCE_HOLDER_FULL_NAME -Description: The beneficial owners of the assets involved in the business relationship. -Type: String -Form: VQF_902_15 - -Identifier: INSURANCE_HOLDER_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_15 -Required: true - -Identifier: INSURANCE_HOLDER_NATIONALITY -Type: CountryCode -Form: VQF_902_15 -Required: true - -Identifier: INSURANCE_HOLDER_DOMICILE -Type: ResidentialAddress -Form: VQF_902_15 -Required: true - -Identifier: INSURANCE_PAYER_FULL_NAME -Description: The beneficial owners of the assets involved in the business relationship. -Type: String -Form: VQF_902_15 - -Identifier: INSURANCE_PAYER_BIRTHDATE -Type: AbsoluteDate -Form: VQF_902_15 -Required: true - -Identifier: INSURANCE_PAYER_NATIONALITY -Type: CountryCode -Form: VQF_902_15 -Required: true - -Identifier: INSURANCE_PAYER_DOMICILE -Type: ResidentialAddress -Form: VQF_902_15 -Required: true diff --git a/gnu-taler-aml-attributes/ts.header b/gnu-taler-aml-attributes/ts.header @@ -1,36 +0,0 @@ -/* - This file is part of GNU Taler - Copyright (C) 2012-2025 Taler Systems SA - - GNU Taler is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation, either version 3 of the License, - or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - - SPDX-License-Identifier: LGPL3.0-or-later - - Note: the LGPL does not apply to all components of GNU Taler, - but it does apply to this file. - */ - -type AbsoluteDateTime = string; -type AbsoluteDate = string; -type CountryCode = string; -type Amount = string; -type ResidentialAddress = string; -type BusinessAddress = string; -type Paragraph = string; -type LangCode = string; -type Email = string; -type Phone = string; -type Form<T> = T; - -export namespace TalerAmlAttributes { diff --git a/gnu-taler-aml-attributes/.gitignore b/gnu-taler-form-attributes/.gitignore diff --git a/gnu-taler-form-attributes/Makefile b/gnu-taler-form-attributes/Makefile @@ -0,0 +1,74 @@ +FILES=taler_form_attributes.ts \ + taler_form_attributes.json \ + taler_form_attributes.rst + +FORMS=VQF_902_1 \ + VQF_902_11 \ + VQF_902_12 \ + VQF_902_12_beneficiary \ + VQF_902_12_founder \ + VQF_902_12_pre \ + VQF_902_12_representative \ + VQF_902_13 \ + VQF_902_13_beneficiary \ + VQF_902_13_further \ + VQF_902_13_pre \ + VQF_902_13_protector \ + VQF_902_13_settlor \ + VQF_902_14 \ + VQF_902_15 \ + VQF_902_1_founder \ + VQF_902_4 \ + VQF_902_5 \ + VQF_902_9 \ + VQF_902_9_identity \ + GLS_Onboarding \ + GLS_BusinessRepresentative + + +all: check $(FILES) + +check: registry.rec + recfix --check registry.rec + +distclean: + rm -f *.tmp + +clean: + rm -f $(FILES) *.tmp + +taler_form_attributes.ts.tmp: registry.rec ts.template ts.form-header ts.form-footer + /usr/bin/truncate --size 0 $@ + + for FORM in $(FORMS); do \ + echo Name: $$FORM | recfmt -f ts.form-header >> $@; \ + ../format.sh ts.template 'Form = "'$$FORM'"' < registry.rec >> $@; \ + cat ts.form-footer >> $@; \ + done + + +taler_form_attributes.ts: ts.header taler_form_attributes.ts.tmp ts.footer + cat $^ > $@ + + +taler_form_attributes.json.tmp: registry.rec json.template json.form-header json.form-footer + /usr/bin/truncate --size 0 $@ + + for FORM in $(FORMS); do \ + echo Name: $$FORM | recfmt -f json.form-header >> $@; \ + ../format.sh json.template 'Form = "'$$FORM'"' < registry.rec >> $@; \ + cat json.form-footer >> $@; \ + done + + +taler_form_attributes.json: json.header taler_form_attributes.json.tmp json.footer + cat $^ > $@ + + +taler_form_attributes.rst.tmp: registry.rec rst.template + ../format.sh rst.template < registry.rec > $@ + +taler_form_attributes.rst: rst.header taler_form_attributes.rst.tmp rst.footer + cat $^ > $@ + +.PHONY: check clean distclean diff --git a/gnu-taler-aml-attributes/json.footer b/gnu-taler-form-attributes/json.footer diff --git a/gnu-taler-aml-attributes/json.form-footer b/gnu-taler-form-attributes/json.form-footer diff --git a/gnu-taler-aml-attributes/json.form-header b/gnu-taler-form-attributes/json.form-header diff --git a/gnu-taler-aml-attributes/json.header b/gnu-taler-form-attributes/json.header diff --git a/gnu-taler-aml-attributes/json.template b/gnu-taler-form-attributes/json.template diff --git a/gnu-taler-form-attributes/registry.rec b/gnu-taler-form-attributes/registry.rec @@ -0,0 +1,1297 @@ +# -*- mode: rec -*- +# +# Registry for GNU Taler attributes, as per Design document 31 +# +%rec: TalerAttributes +%unique: Identifier +%key: Identifier +%type: Identifier Identifier_t +%typedef: Identifier_t regexp /^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789:\.]*$/ +# Define the form's field ID +%mandatory: Identifier +# Use to specify the form's field type. Arrays and generics are allowed in typescript form. +# Literal values are enclosed by double quote `"` and enumerated type union by vertical bar `|` +%mandatory: Type +%type: Type Type_t +%typedef: Type_t regexp !^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_'][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789 \[\]|:\.,'-/]*$! +# Define for which form this form's field belongs +%mandatory: Form +# True if a form submission should always contain a value. +%allowed: Required +%type: Required Required_t +%typedef: Required_t regexp /^(true|false)*$/ +# Description of the usage of the field +%allowed: Description +%type: Description Description_t +%typedef: Description_t regexp |^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789 :\.,'-/?]*$| +%sort: Identifier Type Form Required + +# Label Help Enumeration Order Section +# FIXME: there is no need of the field to have the name of the form, remove it. So we can reuse the same field for multiple forms, reapeating the form name in the same fill.. for example for "FULL_NAME" + +########################## +## All VQF forms +########################## + +# Customer is the person with whom the member concludes the contract with regard to the financia service provided. + +Identifier: SANCTION_LIST_SUPPRESS +Type: Boolean +# FIXME: add the form +Form: unknown +Required: false +Description: Suppress flagging this account when it creates a hit on a sanctions list, this is a false-positive. + +Identifier: FORM_FILLING_DATE +Description: When the form was completed. +Type: AbsoluteDateTime +Form: VQF_902_1 +Form: VQF_902_4 +Form: VQF_902_5 +Form: VQF_902_9 +Form: VQF_902_11 +Form: VQF_902_12 +Form: VQF_902_13 +Form: VQF_902_14 +Form: VQF_902_15 +Required: true + +Identifier: CUSTOMER_ID +Required: true +Type: String +Form: VQF_902_1 +Form: VQF_902_4 +Form: VQF_902_5 +Form: VQF_902_9 +Form: VQF_902_11 +Form: VQF_902_12 +Form: VQF_902_13 +Form: VQF_902_14 +Form: VQF_902_15 +Description: Customer system ID required to correlate different AML forms. + +Identifier: SIGN_DATE +Description: Contracing partner signature, +Type: AbsoluteDateTime +Form: VQF_902_9 +Form: VQF_902_11 +Form: VQF_902_12 +Form: VQF_902_13 +Form: VQF_902_15 +Required: true + +Identifier: SIGNATURE +Form: VQF_902_9 +Form: VQF_902_11 +Form: VQF_902_12 +Form: VQF_902_13 +Form: VQF_902_15 +Type: String +Required: true + +########################## +## Form VQF 902.1e +########################## + +# 1 +# Information of the customer + +Identifier: CUSTOMER_NATURAL_FULL_NAME +Required: true +Type: String +Form: VQF_902_1 + +Identifier: CUSTOMER_NATURAL_RESIDENTIAL +Required: true +Type: ResidentialAddress +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_PHONE +Type: Phone +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_EMAIL +Type: Email +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_BIRTHDATE +Required: true +Type: AbsoluteDate +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_NATIONALITY +Required: true +Type: CountryCode +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_NATIONAL_ID +Required: true +Type: String +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_NATIONAL_ID_COPY +Required: true +Type: File +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_COMPANY_NAME +Type: String +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_REGISTERED_OFFICE +Type: String +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_COMPANY_ID +Type: String +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_NATURAL_COMPANY_ID_COPY +Type: File +Form: VQF_902_1 +Description: If the customer is a natural person. + +Identifier: CUSTOMER_ENTITY_COMPANY_NAME +Required: true +Type: String +Form: VQF_902_1 +Description: If the customer is a legal entity. + +Identifier: CUSTOMER_ENTITY_ADDRESS +Required: true +Type: BusinessAddress +Form: VQF_902_1 +Description: If the customer is a legal entity. + +Identifier: CUSTOMER_ENTITY_CONTACT_PERSON_NAME +Type: String +Form: VQF_902_1 +Description: If the customer is a legal entity. + +Identifier: CUSTOMER_ENTITY_PHONE +Type: Phone +Form: VQF_902_1 +Description: If the customer is a legal entity. + +Identifier: CUSTOMER_ENTITY_EMAIL +Type: Email +Form: VQF_902_1 +Description: If the customer is a legal entity. + +Identifier: CUSTOMER_ENTITY_ID +Required: true +Type: String +Form: VQF_902_1 +Description: Not older than 12 month + +Identifier: CUSTOMER_ENTITY_ID_COPY +Required: true +Type: File +Form: VQF_902_1 + +# 2 +# Information of the founders +# Founders are natural persons who establish the business for legal entities and partnerships + +Identifier: FOUNDER_LIST +Type: Form<VQF_902_1_founder>[] +Form: VQF_902_1 +Description: List of founder with the fields below. +Required: true + +Identifier: FOUNDER_FULL_NAME +Type: String +Form: VQF_902_1_founder +Required: true + +Identifier: FOUNDER_RESIDENTIAL_ADDRESS +Type: ResidentialAddress +Form: VQF_902_1_founder +Required: true + +Identifier: FOUNDER_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_1_founder +Required: true + +Identifier: FOUNDER_NATIONALITY +Type: CountryCode +Form: VQF_902_1_founder +Required: true + +Identifier: FOUNDER_AUTHORIZATION_TYPE +Description: Signatory of representation +Type: String +Form: VQF_902_1_founder +Required: true + +Identifier: FOUNDER_NATIONAL_ID +Type: String +Form: VQF_902_1_founder +Required: true + +Identifier: FOUNDER_NATIONAL_COPY +Type: File +Form: VQF_902_1_founder +Required: true + +Identifier: FOUNDER_POWER_OF_ATTORNEY +Type: 'CR' | 'MANDATE' | 'OTHER' | String +Form: VQF_902_1_founder +Required: true + +# 3 +# Acceptance of business relationship + +Identifier: ACCEPTANCE_DATE +Description: Conclusion of the conract +Type: AbsoluteDate +Description: Conclusion of contract +Form: VQF_902_1 + +Identifier: ACCEPTANCE_METHOD +Type: 'FACE_TO_FACE' | 'AUTHENTICATED_COPY' | 'RESIDENTIAL_ADDRESS_VALIDATED' +Form: VQF_902_1 + +Identifier: ACCEPTANCE_CORRESPONDENCE_SERVICE_TYPE +Type: 'TO_THE_CUSTOMER' | 'HOLD_AT_BANK' | 'TO_THE_MEMBER' | 'TO_A_THIRD_PARTY' | String +Form: VQF_902_1 + +Identifier: ACCEPTANCE_LANGUAGE +Type: LangCode +Form: VQF_902_1 + +Identifier: ACCEPTANCE_FURTHER_INFO +Type: String +Form: VQF_902_1 + +# 4 +# Information on the beneficial owner of the assets and/or controlling person +# defines the customer type + +Identifier: CUSTOMER_TYPE +Type: 'NATURAL' | 'LEGAL_ENTITY' | 'FOUNDATION' | 'TRUST' | 'LIFE_INSURANCE' | 'OTHER' +Form: VQF_902_1 +Required: true +Description: Establishment of the beneficial owner of the assets and/or contrilling person + +# 5 +# Embargo procedures/terrorism list + +Identifier: EMBARGO_TERRORISM_INFO +Type: Paragraph +Form: VQF_902_1 +Description: Verification whether the customer, beneficial owners of the assets, controlling persons, authorised representatives or other involved persons are listed on an embargo-/terrorism list (date of verification/result) + +# 6 +# Type and purpose of business relationship + +# In case of occasional customer that no customer profile (VQF No 902.5) is created. + +Identifier: RELATIONSHIP_TYPE +Type: 'MONEY_EXCHANGE' | 'MONEY_ASSET_TRANSFER' | String +Form: VQF_902_1 + +Identifier: RELATIONSHIP_PURPOSE +Type: Paragraph +Form: VQF_902_1 +Description: Purpose of service requested + +# 7 +# Enclosures + +Identifier: ENCLOSURE_CUSTOMER_DOCUMENTS +Type: Boolean +Form: VQF_902_1 + +Identifier: ENCLOSURE_IDENTIFICATION_DOCUMENTS +Type: Boolean +Form: VQF_902_1 + +Identifier: ENCLOSURE_BENEFICIAL_OWNER +Type: Boolean +Form: VQF_902_1 + +Identifier: ENCLOSURE_CUSTOMER_PROFILE +Type: Boolean +Form: VQF_902_1 + +Identifier: ENCLOSURE_RISK_PROFILE +Type: Boolean +Form: VQF_902_1 + + +########################## +## Form VQF 902.4e +########################## + +# Art. 56 SRO Regulations + +# 1. Politically exposed person +# Art 7 + +Identifier: PEP_FOREIGN +Description: True if the person is a PEP defined by 'Art 7 lit. g numeral 1' +Type: Boolean +Form: VQF_902_4 +Required: true + +Identifier: PEP_DOMESTIC +Description: True if the person is a PEP defined by 'Art 7 lit. g numeral 2' +Type: Boolean +Form: VQF_902_4 +Required: true + +Identifier: PEP_INTERNATIONAL_ORGANIZATION +Description: True if the person is a PEP defined by 'Art 7 lit. g numeral 3' +Type: Boolean +Form: VQF_902_4 +Required: true + +Identifier: PEP_ACCEPTANCE_DATE +Description: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ +Type: AbsoluteDateTime +Form: VQF_902_4 + +# 2. High risk or non-cooperative country + +Identifier: HIGH_RISK_COUNTRY +Description: True if the person is in a country for which FATF requires incresed dilegence. +Type: Boolean +Form: VQF_902_4 +Required: true + +Identifier: HIGH_RISK_ACCEPTANCE_DATE +Description: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ +Type: AbsoluteDateTime +Form: VQF_902_4 + +# 3. Business relationship risk + +Identifier: COUNTRY_RISK_TYPE +Type: 'NATIONALITY_CUSTOMER' | 'NATIONALITY_OWNER' | 'DOMICILE_CUSTOMER' | 'DOMICILE_OWNER' | 'DOMICILE_CONTROLLING' | 'BUSINESS_ACTIVITY' | 'PAYMENTS' +Form: VQF_902_4 + +Identifier: COUNTRY_RISK_LEVEL +Description: Based on 902.4.1 country list +Type: 'LOW' | 'MEDIUM' | 'HIGH' +Form: VQF_902_4 + +Identifier: INDUSTRY_RISK_TYPE +Type: 'CUSTOMER' | 'OWNER' +Form: VQF_902_4 + +Identifier: INDUSTRY_RISK_LEVEL +Type: 'TRANSPARENT' | 'HIGH_CASH_TRANSACTION' | 'NOT_WELL_KNOWN' | 'HIGH_RISK_TRADE' | 'UNKNOWN_INDUSTRY' +Form: VQF_902_4 + +Identifier: CONTACT_RISK_LEVEL +Description: Based on 902.4.1 country list +Type: 'LOW' | 'MEDIUM' | 'HIGH' +Form: VQF_902_4 + +Identifier: PRODUCT_RISK_LEVEL +Type: 'EASY' | 'SOPHISTICATED' | 'OFFSHORE' | 'COMPLEX_STRUCTURE' | 'LARGE_NUMBER_OF_ACCOUNTS' | 'COMPLEX_SERVICE' | 'FREQ_TRANS_WITH_HIGH_RISK' +Form: VQF_902_4 + +Identifier: EXTRA_CRITERA_1_RISK_DEFINITION +Description: Criteria description +Type: String +Form: VQF_902_4 + +Identifier: EXTRA_CRITERA_1_RISK_LEVEL +Description: Based on 902.4.1 country list +Type: 'LOW' | 'MEDIUM' | 'HIGH' +Form: VQF_902_4 + +Identifier: EXTRA_CRITERA_2_RISK_DEFINITION +Description: Criteria description +Type: String +Form: VQF_902_4 + +Identifier: EXTRA_CRITERA_2_RISK_LEVEL +Description: Based on 902.4.1 country list +Type: 'LOW' | 'MEDIUM' | 'HIGH' +Form: VQF_902_4 + +Identifier: RISK_CLASIFICATION_LEVEL +Type: 'WITH' | 'WITHOUT' +Form: VQF_902_4 + +Identifier: RISK_CLASIFICATION_ACCEPTANCE_DATE +Description: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ +Type: AbsoluteDateTime +Form: VQF_902_4 + +# 4. Transaction monitoring + +## This fields seems to be related to the AML legitimization rules + + +########################## +## Form VQF 902.5e +########################## + +# 1. Business activity + +Identifier: BIZREL_PROFESSION +Description: Profession, business activities, etc. (former, current, potentially planned) +Type: String +Form: VQF_902_5 + +# 2. Financial circumstances + +Identifier: BIZREL_INCOME +Description: Income and assets, liabilities (estimated) +Type: String +Form: VQF_902_5 + +# 3. Origin of the deposited assets involved + +Identifier: BIZREL_ORIGIN_AMOUNT +Description: Nature, amount and currency of the involved assets. +Type: Amount +Form: VQF_902_5 +Required: true + +Identifier: BIZREL_ORIGIN_CATEGORY +Type: 'SAVINGS' | 'OWN_BUSINESS' | 'INHERITANCE' | 'OTHER' +Form: VQF_902_5 +Required: true + +Identifier: BIZREL_ORIGIN_CATEGORY_OTHER +Type: String +Form: VQF_902_5 + +Identifier: BIZREL_ORIGIN_DETAIL +Description: Define the category if 'other'. +Type: Paragraph +Form: VQF_902_5 + +# 4. Nature and purpose + +Identifier: BIZREL_PURPOSE +Description: Purpose of the business relationship. +Type: String +Form: VQF_902_5 + +Identifier: BIZREL_DEVELOPMENT +Description: Information on the planned development of the business relationship and the assets. +Type: String +Form: VQF_902_5 + +Identifier: BIZREL_FINANCIAL_VOLUME +Description: In the case of cash or money and asset transfer transacction with regular customer +Type: String +Form: VQF_902_5 + +Identifier: BIZREL_FINANCIAL_BENEFICIARIES_FULL_NAME +Description: In the case of cash or money and asset transfer transacction with regular customer +Type: String +Form: VQF_902_5 + +Identifier: BIZREL_FINANCIAL_BENEFICIARIES_ADDRESS +Description: In the case of cash or money and asset transfer transacction with regular customer +Type: BusinessAddress +Form: VQF_902_5 + +Identifier: BIZREL_FINANCIAL_BENEFICIARIES_BANK_ACCOUNT +Description: In the case of cash or money and asset transfer transacction with regular customer +Type: String +Form: VQF_902_5 + +# 5. Third parties + +Identifier: BIZREL_THIRDPARTY_RELATIONSHIP +Description: Relation of the customer to the beneficial owner, controlling persons, authorised signatories and other persons involved in the business relationship. +Type: String +Form: VQF_902_5 + +Identifier: BIZREL_THIRDPARTY_AMLA_FILES +Description: Relation to other AMLA-files. +Type: String +Form: VQF_902_5 + +Identifier: BIZREL_THIRDPARTY_REFERENCES +Description: Introducer / agents / references. +Type: String +Form: VQF_902_5 + +# 6. Further information + +Identifier: BIZREL_FURTHER_INFO +Description: Other relevant information. +Type: String +Form: VQF_902_5 + +########################## +## Form VQF 902.8ew +########################## +########################## +## Form VQF 902.9e +########################## + +# Identity of beneficial owner + +Identifier: IDENTITY_CONTRACTING_PARTNER +Type: Paragraph +Form: VQF_902_9 +Required: true + +Identifier: IDENTITY_LIST +Description: The beneficial owners of the assets involved in the business relationship. +Type: Form<VQF_902_9_identity>[] +Form: VQF_902_9 + +Identifier: IDENTITY_FULL_NAME +Type: String +Form: VQF_902_9_identity +Required: true + +Identifier: IDENTITY_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_9_identity +Required: true + +Identifier: IDENTITY_NATIONALITY +Type: CountryCode +Form: VQF_902_9_identity +Required: true + +Identifier: IDENTITY_DOMICILE +Type: ResidentialAddress +Form: VQF_902_9_identity +Required: true + +########################## +## Form VQF 902.11e +########################## + +# controlling person of the operation legal entity and partnerships + +Identifier: CONTROLLING_ENTITY_CONTRACTING_PARTNER +Type: Paragraph +Form: VQF_902_11 +Required: true + +Identifier: CONTROLLING_ENTITY_LEVEL +Type: '25_MORE_RIGHTS' | 'OTHER_WAY' | 'DIRECTOR' +Form: VQF_902_11 +Required: true + +Identifier: CONTROLLING_ENTITY_FULL_NAME +Type: String +Form: VQF_902_11 +Required: true + +Identifier: CONTROLLING_ENTITY_DOMICILE +Type: ResidentialAddress +Form: VQF_902_11 +Required: true + +Identifier: CONTROLLING_ENTITY_THIRD_PERSON +Type: Boolean +Form: VQF_902_11 +Description: Is a third person the beneficial owner of the assets? +Required: true + +########################## +## Form VQF 902.12e +########################## + +# foundations + +Identifier: FOUNDATION_CONTRACTING_PARTNER +Type: Paragraph +Form: VQF_902_12 +Required: true + +Identifier: FOUNDATION_KNOWN_AS +Type: String +Form: VQF_902_12 +Required: true + +# 1. About the foundation + +Identifier: FOUNDATION_NAME +Type: String +Form: VQF_902_12 +Required: true + +Identifier: FOUNDATION_DISCRETIONARY +Type: Boolean +Form: VQF_902_12 +Required: true + +Identifier: FOUNDATION_REVOCABLE +Type: Boolean +Form: VQF_902_12 +Required: true + +# 2. About the founder + +Identifier: FOUNDATION_FOUNDER_LIST +Type: Form<VQF_902_12_founder>[] +Form: VQF_902_12 +Required: true + +Identifier: FOUNDATION_FOUNDER_FULL_NAME +Type: String +Form: VQF_902_12_founder +Required: true + +Identifier: FOUNDATION_FOUNDER_DOMICILE +Type: ResidentialAddress +Form: VQF_902_12_founder +Required: true + +Identifier: FOUNDATION_FOUNDER_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_12_founder +Required: true + +Identifier: FOUNDATION_FOUNDER_NATIONALITY +Type: CountryCode +Form: VQF_902_12_founder +Required: true + +Identifier: FOUNDATION_FOUNDER_DEATHDATE +Type: AbsoluteDate +Form: VQF_902_12_founder +Required: true + +Identifier: FOUNDATION_FOUNDER_RIGHT_TO_REVOKE +Type: Boolean +Form: VQF_902_12_founder +Required: true + +# 3. About the pre-existing foundation + +Identifier: FOUNDATION_PRE_LIST +Type: Form<VQF_902_12_pre>[] +Form: VQF_902_12 +Required: true + +Identifier: FOUNDATION_PRE_FULL_NAME +Type: String +Form: VQF_902_12_pre +Required: true + +Identifier: FOUNDATION_PRE_DOMICILE +Type: ResidentialAddress +Form: VQF_902_12_pre +Required: true + +Identifier: FOUNDATION_PRE_COUNTRY +Type: CountryCode +Form: VQF_902_12_pre +Required: true + +Identifier: FOUNDATION_PRE_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_12_pre +Required: true + +Identifier: FOUNDATION_PRE_NATIONALITY +Type: CountryCode +Form: VQF_902_12_pre +Required: true + +Identifier: FOUNDATION_PRE_DEATHDATE +Type: AbsoluteDate +Form: VQF_902_12_pre +Required: true + +# 4. Beneficiaries information + +Identifier: FOUNDATION_BENEFICIARY_LIST +Type: Form<VQF_902_12_beneficiary>[] +Form: VQF_902_12 +Required: true + +Identifier: FOUNDATION_BENEFICIARY_FULL_NAME +Type: String +Form: VQF_902_12_beneficiary + +Identifier: FOUNDATION_BENEFICIARY_DOMICILE +Type: ResidentialAddress +Form: VQF_902_12_beneficiary + +Identifier: FOUNDATION_BENEFICIARY_COUNTRY +Type: CountryCode +Form: VQF_902_12_beneficiary + +Identifier: FOUNDATION_BENEFICIARY_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_12_beneficiary + +Identifier: FOUNDATION_BENEFICIARY_NATIONALITY +Type: CountryCode +Form: VQF_902_12_beneficiary + +Identifier: FOUNDATION_BENEFICIARY_RIGHT_TO_CLAIM +Type: Boolean +Form: VQF_902_12_beneficiary + +Identifier: FOUNDATION_BENEFICIARY_ADDITION +Type: Paragraph +Form: VQF_902_12 + +# 5. Further person with right to nominate representatives + +Identifier: FOUNDATION_REPRESENTATIVE_LIST +Type: Form<VQF_902_12_representative>[] +Form: VQF_902_12 +Required: true + +Identifier: FOUNDATION_REPRESENTATIVE_FULL_NAME +Type: String +Form: VQF_902_12_representative +Required: true + +Identifier: FOUNDATION_REPRESENTATIVE_DOMICILE +Type: ResidentialAddress +Form: VQF_902_12_representative +Required: true + +Identifier: FOUNDATION_REPRESENTATIVE_COUNTRY +Type: CountryCode +Form: VQF_902_12_representative +Required: true + +Identifier: FOUNDATION_REPRESENTATIVE_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_12_representative +Required: true + +Identifier: FOUNDATION_REPRESENTATIVE_NATIONALITY +Type: CountryCode +Form: VQF_902_12_representative +Required: true + +Identifier: FOUNDATION_REPRESENTATIVE_RIGHT_TO_REVOKE +Type: Boolean +Form: VQF_902_12_representative +Required: true + +########################## +## Form VQF 902.13e +########################## + +# trusts + +Identifier: TRUST_CONTRACTING_PARTNER +Type: Paragraph +Form: VQF_902_13 +Required: true + +Identifier: TRUST_KNOWN_AS +Type: String +Form: VQF_902_13 +Required: true + +# 1. About the trust + +Identifier: TRUST_NAME +Type: String +Form: VQF_902_13 +Required: true + +Identifier: TRUST_DISCRETIONARY +Type: Boolean +Form: VQF_902_13 +Required: true + +Identifier: TRUST_REVOCABLE +Type: Boolean +Form: VQF_902_13 +Required: true + +# 2. About the settlor of the trust + +Identifier: TRUST_SETTLOR_LIST +Type: Form<VQF_902_13_settlor>[] +Form: VQF_902_13 +Required: true + +Identifier: TRUST_SETTLOR_FULL_NAME +Type: String +Form: VQF_902_13_settlor +Required: true + +Identifier: TRUST_SETTLOR_DOMICILE +Type: ResidentialAddress +Form: VQF_902_13_settlor +Required: true + +Identifier: TRUST_SETTLOR_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_13_settlor +Required: true + +Identifier: TRUST_SETTLOR_NATIONALITY +Type: CountryCode +Form: VQF_902_13_settlor +Required: true + +Identifier: TRUST_SETTLOR_DEATHDATE +Type: AbsoluteDate +Form: VQF_902_13_settlor +Required: true + +Identifier: TRUST_SETTLOR_RIGHT_TO_REVOKE +Type: Boolean +Form: VQF_902_13_settlor +Required: true + +# 3. About the pre-existing trust` + +Identifier: TRUST_PRE_LIST +Type: Form<VQF_902_13_pre>[] +Form: VQF_902_13 +Required: true + +Identifier: TRUST_PRE_FULL_NAME +Type: String +Form: VQF_902_13_pre + +Identifier: TRUST_PRE_DOMICILE +Type: ResidentialAddress +Form: VQF_902_13_pre + +Identifier: TRUST_PRE_COUNTRY +Type: CountryCode +Form: VQF_902_13_pre + +Identifier: TRUST_PRE_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_13_pre + +Identifier: TRUST_PRE_NATIONALITY +Type: CountryCode +Form: VQF_902_13_pre + +Identifier: TRUST_PRE_DEATHDATE +Type: AbsoluteDate +Form: VQF_902_13_pre + +# 4. Beneficiaries information + +Identifier: TRUST_BENEFICIARY_LIST +Type: Form<VQF_902_13_beneficiary>[] +Form: VQF_902_13 +Required: true + +Identifier: TRUST_BENEFICIARY_FULL_NAME +Type: String +Form: VQF_902_13_beneficiary + +Identifier: TRUST_BENEFICIARY_DOMICILE +Type: ResidentialAddress +Form: VQF_902_13_beneficiary + +Identifier: TRUST_BENEFICIARY_COUNTRY +Type: CountryCode +Form: VQF_902_13_beneficiary + +Identifier: TRUST_BENEFICIARY_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_13_beneficiary + +Identifier: TRUST_BENEFICIARY_NATIONALITY +Type: CountryCode +Form: VQF_902_13_beneficiary + +Identifier: TRUST_BENEFICIARY_RIGHT_TO_CLAIM +Type: Boolean +Form: VQF_902_13_beneficiary + +Identifier: TRUST_BENEFICIARY_ADDITION +Type: Paragraph +Form: VQF_902_13_beneficiary + + +# 5. Further person with right to nominate representatives + +Identifier: TRUST_PROTECTOR_LIST +Type: Form<VQF_902_13_protector>[] +Form: VQF_902_13 +Required: true + +Identifier: TRUST_PROTECTOR_FULL_NAME +Type: String +Form: VQF_902_13_protector + +Identifier: TRUST_PROTECTOR_DOMICILE +Type: ResidentialAddress +Form: VQF_902_13_protector + +Identifier: TRUST_PROTECTOR_COUNTRY +Type: CountryCode +Form: VQF_902_13_protector + +Identifier: TRUST_PROTECTOR_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_13_protector + +Identifier: TRUST_PROTECTOR_NATIONALITY +Type: CountryCode +Form: VQF_902_13_protector + +Identifier: TRUST_PROTECTOR_RIGHT_TO_REVOKE +Type: Boolean +Form: VQF_902_13_protector + +Identifier: TRUST_FURTHER_LIST +Type: Form<VQF_902_13_further>[] +Form: VQF_902_13_further +Required: true + +Identifier: TRUST_FURTHER_FULL_NAME +Type: String +Form: VQF_902_13_further + +Identifier: TRUST_FURTHER_DOMICILE +Type: ResidentialAddress +Form: VQF_902_13_further + +Identifier: TRUST_FURTHER_COUNTRY +Type: CountryCode +Form: VQF_902_13_further + +Identifier: TRUST_FURTHER_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_13_further + +Identifier: TRUST_FURTHER_NATIONALITY +Type: CountryCode +Form: VQF_902_13_further + +Identifier: TRUST_FURTHER_RIGHT_TO_REVOKE +Type: Boolean +Form: VQF_902_13_further + + +########################## +## Form VQF 902.14e +########################## + +# Increased risk + +# 1. Reason for special clarifications + +Identifier: INCRISK_REASON +Description: Description of the circumstances/transactions, which triggered the special clarifications +Type: String +Form: VQF_902_14 +Required: true + +# 2. Used means of clarification + +Identifier: INCRISK_MEANS +Type: 'GATHERING' | 'CONSULTATION' | 'ENQUIRIES' | String +Form: VQF_902_14 +Required: true + +# 3. Summary + +Identifier: INCRISK_SUMMARY +Type: Paragraph +Form: VQF_902_14 +Required: true + +Identifier: INCRISK_DOCUMENTS +Description: Gathered or consulted documents +Type: File[] +Form: VQF_902_14 +Required: true + +# 4. Result of the special clarification + +Identifier: INCRISK_RESULT +Type: 'NO_SUSPICION' | 'REASONABLE_SUSPICION' | 'SIMPLE_SUSPICION' +Form: VQF_902_14 +Required: true + + +########################## +## Form VQF 902.15e +########################## + +# Insurance policy + +Identifier: INSURANCE_CONTRACTING_PARTNER +Type: Paragraph +Form: VQF_902_15 +Required: true + +Identifier: INSURANCE_RELATIONSHIP_NAME +Type: String +Form: VQF_902_15 +Required: true +Description: Name or number of the contractual relationship between the contracting party and the financial intermediary + +Identifier: INSURANCE_RELATIONSHIP_POLICY +Type: String +Required: true +Form: VQF_902_15 + +Identifier: INSURANCE_HOLDER_FULL_NAME +Description: The beneficial owners of the assets involved in the business relationship. +Type: String +Form: VQF_902_15 + +Identifier: INSURANCE_HOLDER_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_15 +Required: true + +Identifier: INSURANCE_HOLDER_NATIONALITY +Type: CountryCode +Form: VQF_902_15 +Required: true + +Identifier: INSURANCE_HOLDER_DOMICILE +Type: ResidentialAddress +Form: VQF_902_15 +Required: true + +Identifier: INSURANCE_PAYER_FULL_NAME +Description: The beneficial owners of the assets involved in the business relationship. +Type: String +Form: VQF_902_15 + +Identifier: INSURANCE_PAYER_BIRTHDATE +Type: AbsoluteDate +Form: VQF_902_15 +Required: true + +Identifier: INSURANCE_PAYER_NATIONALITY +Type: CountryCode +Form: VQF_902_15 +Required: true + +Identifier: INSURANCE_PAYER_DOMICILE +Type: ResidentialAddress +Form: VQF_902_15 +Required: true + +## Personal individual information + +Identifier: PERSON_FULL_NAME +Description: Full legal name of an individual as in the national identity card. +Form: GLS_Onboarding +Type: String + +Identifier: PERSON_LAST_NAME +Description: Last name of an individual as in the national identity card. +Form: GLS_Onboarding +Type: String + +Identifier: PERSON_NATIONAL_ID +Description: Identification number or string of national identity card. +Form: GLS_Onboarding +Type: String + +Identifier: PERSON_DATE_OF_BIRTH +Description: Date of birth of an individual. Format is YYYY-MM-DD. +Form: GLS_Onboarding +Type: AbsoluteDate + +Identifier: PERSON_NATIONAL_ID_SCAN +Description: Scan of a recognized national identity card of an individual. +Form: GLS_Onboarding +Type: File + +Identifier: PERSON_NATIONALITY +Description: Nationality of an individual. Format is 2-letter ISO country-code. +Form: GLS_Onboarding +Type: CountryCode + +# CHECK: bitte ergänzen sie alle gesetzlichen vertreter, gesellschafter und bevollmächtigte +Identifier: PERSON_BUSINESS_REPRESENTATIVE_TYPE +Description: List of natural persons that are legal representatives or shareholders. +Form: GLS_Onboarding +Type: GLS_BusinessRepresentative[] + +# vertretungsberechtigung -> authorized to represent +# einzeln -> individual +# mehrheitlich -> majority +# zu zweit -> in pair +# anders -> Others + +## Business company information + +# CHECK: vollständiger name des unternehmens +Identifier: BUSINESS_DISPLAY_NAME +Description: Name of the company or business. +Form: GLS_Onboarding +Type: String + +# CHECK: rechtsform +Identifier: BUSINESS_TYPE +Description: Type of company form or business (limited liability company, general partnership, limited partnership, corporations, etc... ). +Form: GLS_Onboarding +# FIXME: can we enumerate this field? +Type: String + +# CHECK: registermummer +Identifier: BUSINESS_REGISTRATION_ID +Description: Registration id on legal entity of the company or business. +Form: GLS_Onboarding +Type: String + +# CHECK: ort des registergerichts +Identifier: BUSINESS_LEGAL_JURISDICTION +Description: City or location where the company or business is registered. +Form: GLS_Onboarding +Type: String + +# CHECK: gründungsdatum +Identifier: BUSINESS_REGISTRATION_DATE +Description: Registration founding date of the company or business. +Form: GLS_Onboarding +Type: AbsoluteDate + +# CHECK: liegt eine gemeinnützigkeit vor? +Identifier: BUSINESS_IS_NON_PROFIT +Description: True if the company or business is a non-profit. +Form: GLS_Onboarding +Type: Boolean + +# CHECK: Branche +Identifier: BUSINESS_INDUSTRY +Description: Industry in which the company or business mainly operate. +Form: GLS_Onboarding +# FIXME: what is industry? +Type: String + +# CHECK: bitte ergänzen sie alle gesetzlichen vertreter, gesellschafter und bevollmächtigte +Identifier: BUSINESS_LEGAL_REPRESENTATIVES +Description: List of natural persons that are legal representatives or shareholders. +Form: GLS_Onboarding +Type: GLS_BusinessRepresentative[] + +## Contact information + +Identifier: CONTACT_DNS_DOMAIN +Description: DNS domain name owned by the individual or business. +Form: GLS_Onboarding +Type: Hostname +Description: Can be validated by having the owner set an appropriate DNS TXT record. + +Identifier: CONTACT_WEB_DOMAIN +Description: Web site owned by the individual or business. +Type: HttpHostnamePath +Form: GLS_Onboarding +Description: Can be validated by having the owner serve an appropriate well-known page. + +Identifier: CONTACT_EMAIL +Description: E-mail address to contact the individual or business. Can be validated via E-mail with TAN. +Form: GLS_Onboarding +Type: Email + +Identifier: CONTACT_PHONE +Description: Phone number to contact the individual or business. Can be validated via SMS-TAN or phone call. +Form: GLS_Onboarding +Type: Phone + +## Location information + +Identifier: ADDRESS_COUNTRY +Description: Country where the individual or business resides. Format is 2-letter ISO country-code. +Form: GLS_Onboarding +Type: CountryCode + +Identifier: ADDRESS_STREET_NAME +Description: Street address name of the individual or business. +Form: GLS_Onboarding +Type: String + +Identifier: ADDRESS_STREET_NUMBER +Description: Street address number of the individual or business. +Form: GLS_Onboarding +Type: String + +Identifier: ADDRESS_LINES +Description: Additional address information of the individual or business. +Form: GLS_Onboarding +Type: String + +Identifier: ADDRESS_BUILDING_NAME +Description: Building name of the of the individual or business. +Form: GLS_Onboarding +Type: String + +Identifier: ADDRESS_BUILDING_NUMBER +Description: Building number of the individual or business. +Form: GLS_Onboarding +Type: String + +Identifier: ADDRESS_ZIPCODE +Description: Postal code of the city where the individual or business resides. +Form: GLS_Onboarding +Type: String + +Identifier: ADDRESS_TOWN_LOCATION +Description: Town location of the individual or business. +Form: GLS_Onboarding +Type: String + +Identifier: ADDRESS_TOWN_DISTRICT +Description: Town district of the individual or business. +Form: GLS_Onboarding +Type: String + +Identifier: ADDRESS_COUNTRY_SUBDIVISION +Description: Country subdivision of the individual or business. +Form: GLS_Onboarding +Type: String + +## Tax information + +Identifier: TAX_COUNTRY +Description: Country name of of the individual or business. +Form: GLS_Onboarding +Type: CountryCode + +# CHECK: wirtschaftsidentifikationsnummer oder steuernummer +Identifier: TAX_ID +Description: Tax identifier of the individual or business. +Form: GLS_Onboarding +Type: String + +# CHECK wurde die gesellschaft in den USA oder nach US-Recht gergrudent +Identifier: TAX_IS_USA_LAW +Description: Is business founded or under USA law. +Form: GLS_Onboarding +Type: Boolean + +# CHECK: wirtschaftlich aktiv oder passiv +Identifier: TAX_IS_ACTIVE +Description: Is the individual or business economically active or passive. +Form: GLS_Onboarding +Type: Boolean + +# CHECK: sind sie vorsteuerabzugsberechtigt +Identifier: TAX_IS_DEDUCTED +Description: Is the business entitled to deduct input tax. +Form: GLS_Onboarding +Type: Boolean + +## Others + +Identifier: ACCEPTED_TERMS_OF_SERVICE +Form: TermOfService +Type: Boolean +Description: Name of the version of the terms of service accepted by the customer. diff --git a/gnu-taler-aml-attributes/rst.footer b/gnu-taler-form-attributes/rst.footer diff --git a/gnu-taler-aml-attributes/rst.header b/gnu-taler-form-attributes/rst.header diff --git a/gnu-taler-aml-attributes/rst.template b/gnu-taler-form-attributes/rst.template diff --git a/gnu-taler-aml-attributes/ts.footer b/gnu-taler-form-attributes/ts.footer diff --git a/gnu-taler-aml-attributes/ts.form-footer b/gnu-taler-form-attributes/ts.form-footer diff --git a/gnu-taler-aml-attributes/ts.form-header b/gnu-taler-form-attributes/ts.form-header diff --git a/gnu-taler-form-attributes/ts.header b/gnu-taler-form-attributes/ts.header @@ -0,0 +1,38 @@ +/* + This file is part of GNU Taler + Copyright (C) 2012-2025 Taler Systems SA + + GNU Taler is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + SPDX-License-Identifier: LGPL3.0-or-later + + Note: the LGPL does not apply to all components of GNU Taler, + but it does apply to this file. + */ + +type AbsoluteDateTime = string; +type AbsoluteDate = string; +type CountryCode = string; +type Amount = string; +type ResidentialAddress = string; +type BusinessAddress = string; +type Paragraph = string; +type LangCode = string; +type Email = string; +type Phone = string; +type Hostname = string; +type HttpHostnamePath = string; +type Form<T> = T; + +export namespace TalerAmlAttributes { diff --git a/gnu-taler-aml-attributes/ts.template b/gnu-taler-form-attributes/ts.template diff --git a/gnu-taler-kyc-attributes/.gitignore b/gnu-taler-kyc-attributes/.gitignore @@ -1,7 +0,0 @@ -*.c -*.kt -*.h -*.tmp -*.ts -*.go -*.rs diff --git a/gnu-taler-kyc-attributes/Makefile b/gnu-taler-kyc-attributes/Makefile @@ -1,27 +0,0 @@ -FILES=taler_kyc_attributes.ts \ - taler_kyc_attributes.rst - -all: check $(FILES) - -check: registry.rec - recfix --check registry.rec - -distclean: - rm -f *.tmp - -clean: - rm -f $(FILES) *.tmp - -taler_kyc_attributes.ts.tmp: registry.rec ts.template - ../format.sh ts.template < registry.rec > $@ - -taler_kyc_attributes.ts: ts.header taler_kyc_attributes.ts.tmp ts.footer - cat $^ > $@ - -taler_kyc_attributes.rst.tmp: registry.rec rst.template - ../format.sh rst.template < registry.rec > $@ - -taler_kyc_attributes.rst: rst.header taler_kyc_attributes.rst.tmp rst.footer - cat $^ > $@ - -.PHONY: check clean distclean diff --git a/gnu-taler-kyc-attributes/registry.rec b/gnu-taler-kyc-attributes/registry.rec @@ -1,204 +0,0 @@ -# -*- mode: rec -*- -# -# Registry for GNU Taler attributes, as per Design document 31 -# -%rec: TalerAttributes -%key: Identifier -%typedef: Identifier_t regexp /^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789:\.]*$/ -%type: Identifier Identifier_t -%unique: Identifier -%mandatory: Identifier -%typedef: Description_t regexp |^[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_\(\)\.,;!"':#\/ -]*$| -%type: Description Description_t -%mandatory: Description -%mandatory: Format -%allowed: Contact -%allowed: References -%allowed: Comment -%sort: Identifier Description Contact References - -Identifier: SWISS_VQF_LEGAL_ENTITY_TYPE -Description: The type of legal entity this is, according to the classification scheme of the Swiss VQF. Allowed values are: NATURAL, OPERATIONAL, FOUNDATION, TRUST, LIFEINSURANCE, OTHER. -# New values must be added to taler-exchange-helper-measure-tops-kyx-check! -Format: text/plain - -## Personal individual information - -Identifier: PERSON_FULL_NAME -Description: Full legal name of an individual as in the national identity card. -Format: text/plain - -Identifier: PERSON_LAST_NAME -Description: Last name of an individual as in the national identity card. -Format: text/plain - -Identifier: PERSON_NATIONAL_ID -Description: Identification number or string of national identity card. -Format: text/plain - -Identifier: PERSON_DATE_OF_BIRTH -Description: Date of birth of an individual. Format is YYYY-MM-DD. -Format: text/plain - -Identifier: PERSON_NATIONAL_ID_SCAN -Description: Scan of a recognized national identity card of an individual. -Format: text/pdf - -Identifier: PERSON_NATIONALITY_CC -Description: Nationality of an individual. Format is 2-letter ISO country-code. -Format: text/plain - -# CHECK: bitte ergänzen sie alle gesetzlichen vertreter, gesellschafter und bevollmächtigte -Identifier: PERSON_BUSINESS_REPRESENTATIVE_TYPE -Description: List of natural persons that are legal representatives or shareholders. -Format: text/plain - -# vertretungsberechtigung -> authorized to represent -# einzeln -> individual -# mehrheitlich -> majority -# zu zweit -> in pair -# anders -> Others - -## Business company information - -# CHECK: vollständiger name des unternehmens -Identifier: BUSINESS_DISPLAY_NAME -Description: Name of the company or business. -Format: text/plain - -# CHECK: rechtsform -Identifier: BUSINESS_TYPE -Description: Type of company form or business (limited liability company, general partnership, limited partnership, corporations, etc... ). -Format: text/plain - -# CHECK: registermummer -Identifier: BUSINESS_REGISTRATION_ID -Description: Registration id on legal entity of the company or business. -Format: text/plain - -# CHECK: ort des registergerichts -Identifier: BUSINESS_LEGAL_JURISDICTION -Description: City or location where the company or business is registered. -Format: text/plain - -# CHECK: gründungsdatum -Identifier: BUSINESS_REGISTRATION_DATE -Description: Registration founding date of the company or business. -Format: text/plain - -# CHECK: liegt eine gemeinnützigkeit vor? -Identifier: BUSINESS_IS_NON_PROFIT -Description: True if the company or business is a non-profit. -# CHECK: change to 'true or false' type -Format: text/plain -Comment: the value should be 'true' or 'false' - -# CHECK: Branche -Identifier: BUSINESS_INDUSTRY -Description: Industry in which the company or business mainly operate. -Format: text/plain - -# CHECK: bitte ergänzen sie alle gesetzlichen vertreter, gesellschafter und bevollmächtigte -Identifier: BUSINESS_LEGAL_REPRESENTATIVES -Description: List of natural persons that are legal representatives or shareholders. -Format: text/plain - -## Contact information - -Identifier: CONTACT_DNS_DOMAIN -Description: DNS domain name owned by the individual or business. -Format: text/plain -Comment: Can be validated by having the owner set an appropriate DNS TXT record. - -Identifier: CONTACT_WEB_DOMAIN -Description: Web site owned by the individual or business. -Format: text/plain -Comment: Can be validated by having the owner serve an appropriate well-known page. - -Identifier: CONTACT_EMAIL -Description: E-mail address to contact the individual or business. -Format: text/plain -Comment: Can be validated via E-mail with TAN. - -Identifier: CONTACT_PHONE -Description: Phone number to contact the individual or business. -Format: text/plain -Comment: Can be validated via SMS-TAN or phone call. - -## Location information - -Identifier: ADDRESS_COUNTRY_CC -Description: Country where the individual or business resides. Format is 2-letter ISO country-code. -Format: text/plain - -Identifier: ADDRESS_STREET_NAME -Description: Street address name of the individual or business. -Format: text/plain - -Identifier: ADDRESS_STREET_NUMBER -Description: Street address number of the individual or business. -Format: text/plain - -Identifier: ADDRESS_LINES -Description: Additional address information of the individual or business. -Format: text/plain - -Identifier: ADDRESS_BUILDING_NAME -Description: Building name of the of the individual or business. -Format: text/plain - -Identifier: ADDRESS_BUILDING_NUMBER -Description: Building number of the individual or business. -Format: text/plain - -Identifier: ADDRESS_ZIPCODE -Description: Postal code of the city where the individual or business resides. -Format: text/plain - -Identifier: ADDRESS_TOWN_LOCATION -Description: Town location of the individual or business. -Format: text/plain - -Identifier: ADDRESS_TOWN_DISTRICT -Description: Town district of the individual or business. -Format: text/plain - -Identifier: ADDRESS_COUNTRY_SUBDIVISION -Description: Country subdivision of the individual or business. -Format: text/plain - -## Tax information - -Identifier: TAX_COUNTRY_CC -Description: Country name of of the individual or business. -Format: text/plain - -# CHECK: wirtschaftsidentifikationsnummer oder steuernummer -Identifier: TAX_ID -Description: Tax identifier of the individual or business. -Format: text/plain -Comment: Format may depend on the country of residence of the business. - -# CHECK wurde die gesellschaft in den USA oder nach US-Recht gergrudent -Identifier: TAX_IS_USA_LAW -Description: Is business founded or under USA law. -Format: text/plain -Comment: the value should be 'true' or 'false' - -# CHECK: wirtschaftlich aktiv oder passiv -Identifier: TAX_IS_ACTIVE -Description: Is the individual or business economically active or passive. -Format: text/plain -Comment: the value should be 'true' or 'false' - -# CHECK: sind sie vorsteuerabzugsberechtigt -Identifier: TAX_IS_DEDUCTED -Description: Is the business entitled to deduct input tax. -Format: text/plain -Comment: the value should be 'true' or 'false' - -## Others - -Identifier: ACCEPTED_TERMS_OF_SERVICE -Description: Name of the version of the terms of service accepted by the customer. -Format: text/plain diff --git a/gnu-taler-kyc-attributes/rst.footer b/gnu-taler-kyc-attributes/rst.footer diff --git a/gnu-taler-kyc-attributes/rst.header b/gnu-taler-kyc-attributes/rst.header @@ -1,14 +0,0 @@ -GNU Taler Kyc Attributes ---------------------- - -Entries -^^^^^^^ - -.. list-table:: GNU Taler Kyc Attributes - :widths: auto - :header-rows: 1 - - * - Name - - Value - - HTTP Status - - Description diff --git a/gnu-taler-kyc-attributes/rst.template b/gnu-taler-kyc-attributes/rst.template @@ -1,4 +0,0 @@ - * - {{Identifier}} - - {{Format}} - - {{Description}} - - {{Comment}} diff --git a/gnu-taler-kyc-attributes/ts.footer b/gnu-taler-kyc-attributes/ts.footer @@ -1,3 +0,0 @@ - - -} diff --git a/gnu-taler-kyc-attributes/ts.header b/gnu-taler-kyc-attributes/ts.header @@ -1,24 +0,0 @@ -/* - This file is part of GNU Taler - Copyright (C) 2012-2020 Taler Systems SA - - GNU Taler is free software: you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation, either version 3 of the License, - or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - - SPDX-License-Identifier: LGPL3.0-or-later - - Note: the LGPL does not apply to all components of GNU Taler, - but it does apply to this file. - */ - -export enum TalerKycAttributes { diff --git a/gnu-taler-kyc-attributes/ts.template b/gnu-taler-kyc-attributes/ts.template @@ -1,6 +0,0 @@ - - - /** - * {{Description}} - */ - {{Name}} = {{Value}},