gana

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

commit 624708533ee0dae96b868a2b404222e04fa08e3b
parent dd1693e55280a62df798219da6cce3ceee772c0a
Author: Sebastian <sebasjm@gmail.com>
Date:   Mon, 30 Dec 2024 16:19:14 -0300

generate aml forms and subforms

Diffstat:
Mgnu-taler-aml-attributes/Makefile | 42+++++++++++++++++++++++++++++++++++-------
Mgnu-taler-aml-attributes/registry.rec | 296+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------
Agnu-taler-aml-attributes/ts.form-footer | 1+
Agnu-taler-aml-attributes/ts.form-header | 1+
Mgnu-taler-aml-attributes/ts.header | 7++++---
Mgnu-taler-aml-attributes/ts.template | 12+++++-------
6 files changed, 290 insertions(+), 69 deletions(-)

diff --git a/gnu-taler-aml-attributes/Makefile b/gnu-taler-aml-attributes/Makefile @@ -1,5 +1,26 @@ -FILES=taler_kyc_attributes.ts \ - taler_kyc_attributes.rst +FILES=taler_aml_attributes.ts \ + 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_1_founder \ + VQF_902_4 \ + VQF_902_5 \ + VQF_902_9 \ + VQF_902_9_identity + all: check $(FILES) @@ -12,16 +33,23 @@ distclean: clean: rm -f $(FILES) *.tmp -taler_kyc_attributes.ts.tmp: registry.rec ts.template - ../format.sh ts.template < registry.rec > $@ +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_kyc_attributes.ts: ts.header taler_kyc_attributes.ts.tmp ts.footer +taler_aml_attributes.ts: ts.header taler_aml_attributes.ts.tmp ts.footer cat $^ > $@ -taler_kyc_attributes.rst.tmp: registry.rec rst.template +taler_aml_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 +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 @@ -6,14 +6,15 @@ %key: Identifier %typedef: Identifier_t regexp /^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789:\.]*$/ %type: Identifier Identifier_t +%type: Required Required_t +%typedef: Required_t regexp /^(true|false)*$/ %unique: Identifier %mandatory: Identifier -#%typedef: Description_t regexp |^[\.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_\(\)\.,;!"':#\/ -]*$| -#%type: Description Description_t -%mandatory: Required -%allowed: Comment %mandatory: Type -%sort: Identifier Type Comment Required +%mandatory: Form +%allowed: Comment +%mandatory: Required +%sort: Identifier Type Form Comment Required ########################## ## All VQF forms @@ -24,28 +25,59 @@ Identifier: OFFICER_FULL_NAME Comment: Full legal name of the officer filling the form. 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 Required: true Identifier: FORM_FILLING_DATE Comment: When the form was completed. Type: AbsoluteTime +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 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 Comment: Customer system ID required to correlate different AML forms. Identifier: SIGN_DATE -Comment: . +Comment: Contracing partner signature, Type: AbsoluteTime -Required: false +Form: VQF_902_9 +Form: VQF_902_11 +Form: VQF_902_12 +Form: VQF_902_13 +Required: true Identifier: SIGNATURE Comment: . +Form: VQF_902_9 +Form: VQF_902_11 +Form: VQF_902_12 +Form: VQF_902_13 Type: String -Required: false - +Required: true ########################## ## Form VQF 902.1e @@ -57,96 +89,115 @@ Required: false Identifier: CUSTOMER_NATURAL_FULL_NAME Required: true Type: String +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_RESIDENTIAL Required: true -Type: Location +Type: ResidentialAddress +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_PHONE Required: false Type: String +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_EMAIL Required: false Type: String +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_BIRTHDATE Required: true Type: AbsoluteTime +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_NATIONALITY Required: true Type: CountryCode +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_NATIONAL_ID Required: true Type: String +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_NATIONAL_ID_COPY Required: true Type: File +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_COMPANY_NAME Required: false Type: String +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_REGISTERED_OFFICE Required: false Type: String +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_COMPANY_ID Required: false Type: String +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_NATURAL_COMPANY_ID_COPY Required: false Type: File +Form: VQF_902_1 Comment: If the customer is a natural person. Identifier: CUSTOMER_ENTITY_COMPANY_NAME Required: true Type: String +Form: VQF_902_1 Comment: If the customer is a legal entity. Identifier: CUSTOMER_ENTITY_ADDRESS Required: true -Type: Location +Type: BusinessAddress +Form: VQF_902_1 Comment: If the customer is a legal entity. Identifier: CUSTOMER_ENTITY_CONTACT_PERSON_NAME Required: false Type: String +Form: VQF_902_1 Comment: If the customer is a legal entity. Identifier: CUSTOMER_ENTITY_PHONE Required: false Type: String +Form: VQF_902_1 Comment: If the customer is a legal entity. Identifier: CUSTOMER_ENTITY_EMAIL Required: false Type: String +Form: VQF_902_1 Comment: If the customer is a legal entity. Identifier: CUSTOMER_ENTITY_ID Required: true Type: String +Form: VQF_902_1 Comment: If the customer is a legal entity. Not older than 12 month Identifier: CUSTOMER_ENTITY_ID_COPY Required: true Type: File +Form: VQF_902_1 Comment: If the customer is a legal entity. Not older than 12 month # 2 @@ -154,38 +205,46 @@ Comment: If the customer is a legal entity. Not older than 12 month # Founders are natural persons who establish the business for legal entities and partnerships Identifier: FOUNDER_LIST -Type: List +Type: Form<VQF_902_1_founder>[] +Form: VQF_902_1 Comment: 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: Location +Type: ResidentialAddress +Form: VQF_902_1_founder Required: true Identifier: FOUNDER_BIRTHDATE Type: AbsoluteTime +Form: VQF_902_1_founder Required: true Identifier: FOUNDER_NATIONALITY Type: CountryCode +Form: VQF_902_1_founder Required: true Identifier: FOUNDER_AUTHORIZATION_TYPE Comment: 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_POWER_OF_ATTORNEY Comment: Could be "cr extract", "mandate" or "other" Type: String +Form: VQF_902_1_founder Required: true # 3 @@ -194,26 +253,31 @@ Required: true Identifier: ACCEPTANCE_DATE Comment: Conclusion of the conract Type: AbsoluteTime +Form: VQF_902_1 Required: false Identifier: ACCEPTANCE_METHOD Comment: Accepted by face to face or correspondence Type: String +Form: VQF_902_1 Required: false Identifier: ACCEPTANCE_CORRESPONDENCE_SERVICE_TYPE Comment: to the customer, hold at bank, to the member or to a third party Type: String +Form: VQF_902_1 Required: false Identifier: ACCEPTANCE_LANGUAGE Comment: Type: String +Form: VQF_902_1 Required: false Identifier: ACCEPTANCE_ADDITIONAL_INFO Comment: Type: String +Form: VQF_902_1 Required: false # 4 @@ -223,6 +287,7 @@ Required: false Identifier: CUSTOMER_TYPE Comment: Value could be natural person and sole beneficial, legal entity, a foundation, a trust, a life insurance or all other cases. Type: String +Form: VQF_902_1 Required: true # 5 @@ -231,6 +296,7 @@ Required: true Identifier: EMBARGO_TERRORISM_INFO Comment: Verification whether the customer or any involved persons are listed on an embargo-/terrorism list Type: String +Form: VQF_902_1 Required: false # 6 @@ -241,11 +307,13 @@ Required: false Identifier: RELATIONSHIP_TYPE Comment: Could be "money exchange", "money and asset transfer" or "other" Type: String +Form: VQF_902_1 Required: false Identifier: RELATIONSHIP_PURPOSE Comment: Type: String +Form: VQF_902_1 Required: false ########################## @@ -260,21 +328,25 @@ Required: false Identifier: PEP_FOREIGN Comment: 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 Comment: 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 Comment: 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 Comment: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ Type: AbsoluteTime +Form: VQF_902_4 Required: false # 2. High risk or non-cooperative country @@ -282,11 +354,13 @@ Required: false Identifier: HIGH_RISK_COUNTRY Comment: 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 Comment: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ Type: String +Form: VQF_902_4 Required: false # 3. Business relationship risk @@ -294,61 +368,73 @@ Required: false Identifier: COUNTRY_RISK_TYPE Comment: Can be "nationality customer", "nationality owner", "domicile customer", "domicile owner", "domicile controlling", "business activity", or "payments" Type: String +Form: VQF_902_4 Required: false Identifier: COUNTRY_RISK_LEVEL Comment: Can be "low", "medium" or "high" based on 902.4.1 country list Type: String +Form: VQF_902_4 Required: false Identifier: INDUSTRY_RISK_TYPE Comment: Can be "customer" or "owner" Type: String +Form: VQF_902_4 Required: false Identifier: INDUSTRY_RISK_LEVEL Comment: Can be "transparent", "high level of cash transaction", "not well known", "high risk trade" or "unkown industry" Type: String +Form: VQF_902_4 Required: false Identifier: CONTACT_RISK_LEVEL Comment: Can be "low", "med" or "high" Type: String +Form: VQF_902_4 Required: false Identifier: PRODUCT_RISK_LEVEL Comment: Can be "easy", "sophisticated", "offshore", "complex structure", "large number of accounts", "complex service" or "frequent transaction with increased risk" Type: String +Form: VQF_902_4 Required: false Identifier: EXTRA_CRITERA_1_RISK_DEFINITION Comment: Criteria description Type: String +Form: VQF_902_4 Required: false Identifier: EXTRA_CRITERA_1_RISK_LEVEL Comment: Can be "low", "med" or "high" Type: String +Form: VQF_902_4 Required: false Identifier: EXTRA_CRITERA_2_RISK_DEFINITION Comment: Criteria description Type: String +Form: VQF_902_4 Required: false Identifier: EXTRA_CRITERA_2_RISK_LEVEL Comment: Can be "low", "med" or "high" Type: String +Form: VQF_902_4 Required: false Identifier: RISK_CLASIFICATION_LEVEL Comment: Can be "with" or "without" increased risk. Type: String +Form: VQF_902_4 Required: false Identifier: RISK_CLASIFICATION_ACCEPTANCE_DATE Comment: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___ Type: String +Form: VQF_902_4 Required: false # 4. Transaction monitoring @@ -365,6 +451,7 @@ Required: false Identifier: BIZREL_PROFESSION Comment: Profession, business activities, etc. (former, current, potentially planned) Type: String +Form: VQF_902_5 Required: false # 2. Financial circumstances @@ -372,6 +459,7 @@ Required: false Identifier: BIZREL_INCOME Comment: Income and assets, liabilities (estimated) Type: String +Form: VQF_902_5 Required: false # 3. Origin of the deposited assets involved @@ -379,16 +467,19 @@ Required: false Identifier: BIZREL_ORIGIN_AMOUNT Comment: Nature, amount and currency of the involved assets. Type: Amount +Form: VQF_902_5 Required: true Identifier: BIZREL_ORIGIN_CATEGORY Comment: Could be "savings", "own business", "inheritance" or "other". Type: String +Form: VQF_902_5 Required: true Identifier: BIZREL_ORIGIN_DETAIL Comment: Define the category if "other". Type: String +Form: VQF_902_5 Required: false # 4. Nature and purpose @@ -396,31 +487,37 @@ Required: false Identifier: BIZREL_PURPOSE Comment: Purpose of the business relationship. Type: String +Form: VQF_902_5 Required: false Identifier: BIZREL_DEVELOPMENT Comment: Information on the planned development of the business relationship and the assets. Type: String +Form: VQF_902_5 Required: false Identifier: BIZREL_FINANCIAL_VOLUME Comment: In the case of cash or money and asset transfer transacction with regular customer Type: String +Form: VQF_902_5 Required: false Identifier: BIZREL_FINANCIAL_BENEFICIARIES_FULL_NAME Comment: In the case of cash or money and asset transfer transacction with regular customer Type: String +Form: VQF_902_5 Required: false Identifier: BIZREL_FINANCIAL_BENEFICIARIES_ADDRESS Comment: In the case of cash or money and asset transfer transacction with regular customer -Type: Location +Type: BusinessAddress +Form: VQF_902_5 Required: false Identifier: BIZREL_FINANCIAL_BENEFICIARIES_BANK_ACCOUNT Comment: In the case of cash or money and asset transfer transacction with regular customer Type: String +Form: VQF_902_5 Required: false # 5. Third parties @@ -428,16 +525,19 @@ Required: false Identifier: BIZREL_THIRDPARTY_RELATIONSHIP Comment: 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 Required: false Identifier: BIZREL_THIRDPARTY_AMLA_FILES Comment: Relation to other AMLA-files. Type: String +Form: VQF_902_5 Required: false Identifier: BIZREL_THIRDPARTY_REFERENCES Comment: Introducer / agents / references. Type: String +Form: VQF_902_5 Required: false # 6. Further information @@ -445,6 +545,7 @@ Required: false Identifier: BIZREL_FURTHER_INFO Comment: Other relevant information. Type: String +Form: VQF_902_5 Required: false ########################## @@ -459,32 +560,38 @@ Required: false Identifier: IDENTITY_CONTRACTING_PARTNER Comment: . Type: String +Form: VQF_902_9 Required: true Identifier: IDENTITY_LIST Comment: The beneficial owners of the assets involved in the business relationship. -Type: String +Type: Form<VQF_902_9_identity>[] +Form: VQF_902_9 Required: false Identifier: IDENTITY_FULL_NAME Comment: . Type: String -Required: false +Form: VQF_902_9_identity +Required: true Identifier: IDENTITY_BIRTHDATE Comment: . Type: AbsoluteTime -Required: false +Form: VQF_902_9_identity +Required: true Identifier: IDENTITY_NATIONALITY Comment: . Type: CountryCode -Required: false +Form: VQF_902_9_identity +Required: true Identifier: IDENTITY_DOMICILE Comment: . -Type: Location -Required: false +Type: ResidentialAddress +Form: VQF_902_9_identity +Required: true ########################## ## Form VQF 902.11e @@ -495,25 +602,30 @@ Required: false Identifier: CONTROLLING_ENTITY_CONTRACTING_PARTNER Comment: . Type: String +Form: VQF_902_11 Required: true Identifier: CONTROLLING_ENTITY_LEVEL Comment: Could be "more than 25% voting rights", "other ways" or "director" Type: String +Form: VQF_902_11 Required: true Identifier: CONTROLLING_ENTITY_FULL_NAME Comment: . Type: String +Form: VQF_902_11 Required: true Identifier: CONTROLLING_ENTITY_DOMICILE Comment: . -Type: Location +Type: ResidentialAddress +Form: VQF_902_11 Required: true Identifier: CONTROLLING_ENTITY_THIRD_PERSON Type: Boolean +Form: VQF_902_11 Comment: Is a third person the beneficial owner of the assets? Required: true @@ -526,11 +638,13 @@ Required: true Identifier: FOUNDATION_CONTRACTING_PARTNER Comment: . Type: String +Form: VQF_902_12 Required: true Identifier: FOUNDATION_KNOWN_AS Comment: . Type: String +Form: VQF_902_12 Required: true # 1. About the foundation @@ -538,170 +652,202 @@ Required: true Identifier: FOUNDATION_NAME Comment: . Type: String +Form: VQF_902_12 Required: true Identifier: FOUNDATION_DISCRETIONARY Comment: . Type: Boolean +Form: VQF_902_12 Required: true Identifier: FOUNDATION_REVOCABLE Comment: . Type: Boolean +Form: VQF_902_12 Required: true # 2. About the founder Identifier: FOUNDATION_FOUNDER_LIST Comment: . -Type: List +Type: Form<VQF_902_12_founder>[] +Form: VQF_902_12 Required: true Identifier: FOUNDATION_FOUNDER_FULL_NAME Comment: . Type: String +Form: VQF_902_12_founder Required: true Identifier: FOUNDATION_FOUNDER_DOMICILE Comment: . -Type: Location +Type: ResidentialAddress +Form: VQF_902_12_founder Required: true Identifier: FOUNDATION_FOUNDER_BIRTHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_12_founder Required: true Identifier: FOUNDATION_FOUNDER_NATIONALITY Comment: . Type: CountryCode +Form: VQF_902_12_founder Required: true Identifier: FOUNDATION_FOUNDER_DEATHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_12_founder Required: true Identifier: FOUNDATION_FOUNDER_RIGHT_TO_REVOKE Comment: . Type: Boolean +Form: VQF_902_12_founder Required: true # 3. About the pre-existing foundation Identifier: FOUNDATION_PRE_LIST Comment: . -Type: List +Type: Form<VQF_902_12_pre>[] +Form: VQF_902_12 Required: true Identifier: FOUNDATION_PRE_FULL_NAME Comment: . Type: String -Required: false +Form: VQF_902_12_pre +Required: true Identifier: FOUNDATION_PRE_DOMICILE Comment: . -Type: Location -Required: false +Type: ResidentialAddress +Form: VQF_902_12_pre +Required: true Identifier: FOUNDATION_PRE_COUNTRY Comment: . Type: CountryCode -Required: false +Form: VQF_902_12_pre +Required: true Identifier: FOUNDATION_PRE_BIRTHDATE Comment: . Type: AbsoluteTime -Required: false +Form: VQF_902_12_pre +Required: true Identifier: FOUNDATION_PRE_NATIONALITY Comment: . Type: CountryCode -Required: false +Form: VQF_902_12_pre +Required: true Identifier: FOUNDATION_PRE_DEATHDATE Comment: . Type: AbsoluteTime -Required: false +Form: VQF_902_12_pre +Required: true # 4. Beneficiaries information Identifier: FOUNDATION_BENEFICIARY_LIST Comment: . -Type: List +Type: Form<VQF_902_12_beneficiary>[] +Form: VQF_902_12 Required: true Identifier: FOUNDATION_BENEFICIARY_FULL_NAME Comment: . Type: String +Form: VQF_902_12_beneficiary Required: false Identifier: FOUNDATION_BENEFICIARY_DOMICILE Comment: . -Type: Location +Type: ResidentialAddress +Form: VQF_902_12_beneficiary Required: false Identifier: FOUNDATION_BENEFICIARY_COUNTRY Comment: . Type: CountryCode +Form: VQF_902_12_beneficiary Required: false Identifier: FOUNDATION_BENEFICIARY_BIRTHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_12_beneficiary Required: false Identifier: FOUNDATION_BENEFICIARY_NATIONALITY Comment: . Type: CountryCode +Form: VQF_902_12_beneficiary Required: false Identifier: FOUNDATION_BENEFICIARY_RIGHT_TO_CLAIM Comment: . Type: Boolean +Form: VQF_902_12_beneficiary Required: false Identifier: FOUNDATION_BENEFICIARY_ADDITION Comment: . Type: String +Form: VQF_902_12_beneficiary Required: false # 5. Further person with right to nominate representatives Identifier: FOUNDATION_REPRESENTATIVE_LIST Comment: . -Type: List +Type: Form<VQF_902_12_representative>[] +Form: VQF_902_12 Required: true Identifier: FOUNDATION_REPRESENTATIVE_FULL_NAME Comment: . Type: String -Required: false +Form: VQF_902_12_representative +Required: true Identifier: FOUNDATION_REPRESENTATIVE_DOMICILE Comment: . -Type: Location -Required: false +Type: ResidentialAddress +Form: VQF_902_12_representative +Required: true Identifier: FOUNDATION_REPRESENTATIVE_COUNTRY Comment: . Type: CountryCode -Required: false +Form: VQF_902_12_representative +Required: true Identifier: FOUNDATION_REPRESENTATIVE_BIRTHDATE Comment: . Type: AbsoluteTime -Required: false +Form: VQF_902_12_representative +Required: true Identifier: FOUNDATION_REPRESENTATIVE_NATIONALITY Comment: . Type: CountryCode -Required: false +Form: VQF_902_12_representative +Required: true Identifier: FOUNDATION_REPRESENTATIVE_RIGHT_TO_REVOKE Comment: . Type: Boolean -Required: false +Form: VQF_902_12_representative +Required: true ########################## ## Form VQF 902.13e @@ -712,11 +858,13 @@ Required: false Identifier: TRUST_CONTRACTING_PARTNER Comment: . Type: String +Form: VQF_902_13 Required: true Identifier: TRUST_KNOWN_AS Comment: . Type: String +Form: VQF_902_13 Required: true # 1. About the trust @@ -724,132 +872,157 @@ Required: true Identifier: TRUST_NAME Comment: . Type: String +Form: VQF_902_13 Required: true Identifier: TRUST_DISCRETIONARY Comment: . Type: Boolean +Form: VQF_902_13 Required: true Identifier: TRUST_REVOCABLE Comment: . Type: Boolean +Form: VQF_902_13 Required: true # 2. About the settlor of the trust Identifier: TRUST_SETTLOR_LIST Comment: . -Type: List +Type: Form<VQF_902_13_settlor>[] +Form: VQF_902_13 Required: true Identifier: TRUST_SETTLOR_FULL_NAME Comment: . Type: String +Form: VQF_902_13_settlor Required: true Identifier: TRUST_SETTLOR_DOMICILE Comment: . -Type: Location +Type: ResidentialAddress +Form: VQF_902_13 Required: true Identifier: TRUST_SETTLOR_BIRTHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_13 Required: true Identifier: TRUST_SETTLOR_NATIONALITY Comment: . Type: CountryCode +Form: VQF_902_13 Required: true Identifier: TRUST_SETTLOR_DEATHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_13 Required: true Identifier: TRUST_SETTLOR_RIGHT_TO_REVOKE Comment: . Type: Boolean +Form: VQF_902_13 Required: true # 3. About the pre-existing trust` Identifier: TRUST_PRE_LIST Comment: . -Type: List +Type: Form<VQF_902_13_pre>[] +Form: VQF_902_13 Required: true Identifier: TRUST_PRE_FULL_NAME Comment: . Type: String +Form: VQF_902_13_pre Required: false Identifier: TRUST_PRE_DOMICILE Comment: . -Type: Location +Type: ResidentialAddress +Form: VQF_902_13 Required: false Identifier: TRUST_PRE_COUNTRY Comment: . Type: CountryCode +Form: VQF_902_13 Required: false Identifier: TRUST_PRE_BIRTHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_13 Required: false Identifier: TRUST_PRE_NATIONALITY Comment: . Type: CountryCode +Form: VQF_902_13 Required: false Identifier: TRUST_PRE_DEATHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_13 Required: false # 4. Beneficiaries information Identifier: TRUST_BENEFICIARY_LIST Comment: . -Type: List +Type: Form<VQF_902_13_beneficiary>[] +Form: VQF_902_13 Required: true Identifier: TRUST_BENEFICIARY_FULL_NAME Comment: . Type: String +Form: VQF_902_13_beneficiary Required: false Identifier: TRUST_BENEFICIARY_DOMICILE Comment: . -Type: Location +Type: ResidentialAddress +Form: VQF_902_13 Required: false Identifier: TRUST_BENEFICIARY_COUNTRY Comment: . Type: CountryCode +Form: VQF_902_13 Required: false Identifier: TRUST_BENEFICIARY_BIRTHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_13 Required: false Identifier: TRUST_BENEFICIARY_NATIONALITY Comment: . Type: CountryCode +Form: VQF_902_13 Required: false Identifier: TRUST_BENEFICIARY_RIGHT_TO_CLAIM Comment: . Type: Boolean +Form: VQF_902_13 Required: false Identifier: TRUST_BENEFICIARY_ADDITION Comment: . Type: String +Form: VQF_902_13 Required: false @@ -857,72 +1030,86 @@ Required: false Identifier: TRUST_PROTECTOR_LIST Comment: . -Type: List +Type: Form<VQF_902_13_protector>[] +Form: VQF_902_13 Required: true Identifier: TRUST_PROTECTOR_FULL_NAME Comment: . Type: String +Form: VQF_902_13_protector Required: false Identifier: TRUST_PROTECTOR_DOMICILE Comment: . -Type: Location +Type: ResidentialAddress +Form: VQF_902_13 Required: false Identifier: TRUST_PROTECTOR_COUNTRY Comment: . Type: CountryCode +Form: VQF_902_13 Required: false Identifier: TRUST_PROTECTOR_BIRTHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_13 Required: false Identifier: TRUST_PROTECTOR_NATIONALITY Comment: . Type: CountryCode +Form: VQF_902_13 Required: false Identifier: TRUST_PROTECTOR_RIGHT_TO_REVOKE Comment: . Type: Boolean +Form: VQF_902_13 Required: false Identifier: TRUST_FURTHER_LIST Comment: . -Type: List +Type: Form<VQF_902_13_further>[] +Form: VQF_902_13 Required: true Identifier: TRUST_FURTHER_FULL_NAME Comment: . Type: String +Form: VQF_902_13_further Required: false Identifier: TRUST_FURTHER_DOMICILE Comment: . -Type: Location +Type: ResidentialAddress +Form: VQF_902_13 Required: false Identifier: TRUST_FURTHER_COUNTRY Comment: . Type: CountryCode +Form: VQF_902_13 Required: false Identifier: TRUST_FURTHER_BIRTHDATE Comment: . Type: AbsoluteTime +Form: VQF_902_13 Required: false Identifier: TRUST_FURTHER_NATIONALITY Comment: . Type: CountryCode +Form: VQF_902_13 Required: false Identifier: TRUST_FURTHER_RIGHT_TO_REVOKE Comment: . Type: Boolean +Form: VQF_902_13 Required: false @@ -937,6 +1124,7 @@ Required: false Identifier: INCRISK_REASON Comment: Description of the circumstances/transactions, which triggered the special clarifications Type: String +Form: VQF_902_14 Required: true # 2. Used means of clarification @@ -944,6 +1132,7 @@ Required: true Identifier: INCRISK_MEANS Comment: Could be "gathering", "consultation", "enquiries" or "other" Type: String +Form: VQF_902_14 Required: true # 3. Summary @@ -951,11 +1140,13 @@ Required: true Identifier: INCRISK_SUMMARY Comment: . Type: String +Form: VQF_902_14 Required: true Identifier: INCRISK_DOCUMENTS Comment: Gathered or consulted documents -Type: File +Type: File[] +Form: VQF_902_14 Required: true # 4. Result of the special clarification @@ -963,6 +1154,7 @@ Required: true Identifier: INCRISK_RESULT Comment: Could be "no suspicion", "reasonable suspicion", "simple suspicion" or "other" Type: String +Form: VQF_902_14 Required: true diff --git a/gnu-taler-aml-attributes/ts.form-footer b/gnu-taler-aml-attributes/ts.form-footer @@ -0,0 +1 @@ + } diff --git a/gnu-taler-aml-attributes/ts.form-header b/gnu-taler-aml-attributes/ts.form-header @@ -0,0 +1 @@ + export interface {{Name}} { diff --git a/gnu-taler-aml-attributes/ts.header b/gnu-taler-aml-attributes/ts.header @@ -22,9 +22,10 @@ */ type AbsoluteTime = string; -type Boolean = string; type CountryCode = string; type Amount = string; +type ResidentialAddress = string; +type BusinessAddress = string; +type Form<T> = T - -export interface TalerAmlAttributes { +namespace TalerAmlAttributes { diff --git a/gnu-taler-aml-attributes/ts.template b/gnu-taler-aml-attributes/ts.template @@ -1,7 +1,5 @@ - - - /** - * {{Comment}} - * Required: {{Required}} - */ - {{Identifier}}: {{Type}}; + /** + * {{Comment}} + * Required: {{Required}} + */ + {{Identifier}}: {{Type}};