vqf_902_14.typ (5090B)
1 // VQF 902.14 Special Clarifications Template 2 // Pass JSON data as content dictionary 3 #import "@taler-exchange/common:0.0.0": vqflogo, pointingfinger, checkbox 4 5 #let form(data) = { 6 set page( 7 paper: "a4", 8 margin: (left: 2cm, right: 2cm, top: 2cm, bottom: 2.5cm), 9 footer: context [ 10 #grid( 11 columns: (1fr, 1fr), 12 align: (left, right), 13 text(size: 8pt)[ 14 VQF doc. Nr. 902.14#linebreak() 15 Version of 1 December 2015 16 ], 17 text(size: 8pt)[ 18 Page #here().page() of #counter(page).final().first() 19 ] 20 ) 21 ] 22 ) 23 24 set text(font: "Liberation Sans", size: 10pt) 25 set par(justify: false, leading: 0.65em) 26 27 // Helper function to get value or empty string 28 let get(key, default: "") = { 29 data.at(key, default: default) 30 } 31 32 // Header 33 align(center, text(size: 11pt, weight: "bold")[CONFIDENTIAL]) 34 35 v(0.5em) 36 37 grid( 38 columns: (50%, 50%), 39 gutter: 1em, 40 vqflogo(), 41 align(right)[ 42 #table( 43 columns: (1fr, 1fr), 44 stroke: 0.5pt + black, 45 inset: 5pt, 46 align: (left, left), 47 [VQF member no.], [AMLA File No.], 48 [#get("VQF_MEMBER_NUMBER")], [#get("FILE_NUMBER")] 49 ) 50 ] 51 ) 52 53 v(1em) 54 55 align(left, text(size: 14pt, weight: "bold")[Special Clarifications]) 56 57 v(-1em) 58 line(length:100%) 59 60 grid( 61 columns: (auto, 1fr), 62 gutter: 0.5em, 63 align: (left, left), 64 pointingfinger(), 65 text(size: 9pt)[ 66 When a business relationship or transaction is associated with increased risk, appears unusual or evidence exists that the assets are the proceeds of a felony or a qualified tax offence, the member has to perform additional clarifications. 67 ] 68 ) 69 70 v(1em) 71 72 text(weight: "bold")[Customer:#footnote[Pursuant Identification form (VQF doc. No. 902.1) numeral 1.]] 73 74 v(0.3em) 75 76 table( 77 columns: (1fr), 78 stroke: 0.5pt + black, 79 inset: 5pt, 80 [#get("CUSTOMER_NAME")] 81 ) 82 83 v(0.5em) 84 85 text(weight: "bold")[This form was completed by:] 86 87 v(0.3em) 88 89 table( 90 columns: (1fr, 1fr), 91 stroke: 0.5pt + black, 92 inset: 5pt, 93 align: (left, left), 94 [Full name], [#get("AML_STAFF_NAME")], 95 [Date], [#get("FILING_DATE")], 96 ) 97 98 v(1.5em) 99 100 // Section 1: Reason for Special Clarifications 101 text(size: 11pt, weight: "bold")[1. Reason for special clarifications] 102 103 v(0.5em) 104 105 table( 106 columns: (45%,55%), 107 stroke: 0.5pt + black, 108 inset: 5pt, 109 [Description of the circumstances/transactions, which triggered the special clarifications], 110 [#get("INCRISK_REASON")] 111 ) 112 113 v(1.5em) 114 115 // Section 2: Used Means of Clarification 116 text(size: 11pt, weight: "bold")[2. Used means of clarification] 117 118 v(0.5em) 119 120 let means = get("INCRISK_MEANS") 121 122 grid( 123 columns: (auto), 124 inset: 5pt, 125 stroke: 0.5pt + black, 126 [#block(breakable: false)[ 127 #grid( 128 columns: (auto, 1fr), 129 gutter: 0.5em, 130 row-gutter: 0.5em, 131 checkbox(means == "GATHERING"), 132 [Gathering of information from the customer, beneficial owner of the assets, controlling person], 133 134 checkbox(means == "CONSULTATION"), 135 [Consultation of generally accessible sources and databases], 136 137 checkbox(means == "ENQUIRIES"), 138 [Enquiries with trustworthy persons (e.g. custodian bank)], 139 140 checkbox(means == "OTHER"), 141 [Other, which? #if means == "OTHER" [#get("INCRISK_MEANS_OTHER")]] 142 ) 143 ]]) 144 145 v(1.5em) 146 147 // Section 3: Supplemental Files 148 text(size: 11pt, weight: "bold")[3. Summary and plausibility check of the gathered information] 149 150 v(0.3em) 151 152 grid( 153 columns: (auto, 1fr), 154 gutter: 0.5em, 155 align: (left, left), 156 pointingfinger(), 157 text(size: 9pt)[ 158 The results of the clarifications have to be documented and their plausibility has to be checked. 159 ] 160 ) 161 162 v(1.5em) 163 164 table( 165 columns: (100%), 166 stroke: 0.5pt + black, 167 inset: 5pt, 168 [#get("INCRISK_SUMMARY")] 169 ) 170 171 v(1em) 172 173 table( 174 columns: (auto, 1fr), 175 stroke: 0.5pt + black, 176 inset: 5pt, 177 [Gathered/Consulted documents], 178 [#get("INCRISK_DOCUMENTS")] 179 ) 180 181 182 183 184 // Section 4: Result 185 text(size: 11pt, weight: "bold")[4. Result of the special clarification] 186 187 v(0.5em) 188 189 let result = get("INCRISK_RESULT") 190 191 grid( 192 columns: (auto), 193 inset: 5pt, 194 stroke: 0.5pt + black, 195 block(breakable: false)[ 196 #grid( 197 columns: (auto, 1fr), 198 gutter: 0.5em, 199 row-gutter: 0.8em, 200 201 checkbox(result == "NO_SUSPICION"), 202 [The plausibility of the circumstances could be checked, no reasonable suspicion pursuant to Art. 9 AMLA (possibly update of customer profile (VQF doc. No. 902.5) and/or risk profile (VQF doc. No. 902.4))], 203 204 checkbox(result == "REASONABLE_SUSPICION"), 205 [Reasonable suspicion pursuant to Art. 9 AMLA, duty to file a report with MROS], 206 207 checkbox(result == "SIMPLE_SUSPICION"), 208 [Simple suspicion pursuant to Art. 305#super[ter] Para. 2 StGB, right to notify MROS], 209 210 checkbox(result == "OTHER"), 211 [Other, what? #if result == "OTHER" [#get("INCRISK_RESULT_OTHER")]] 212 ) 213 ]) 214 215 }