Visena Documentation
AML

Setup

KYC form builder

Skjemabygger ("form builder") is the second tab in AML-konfig, and it builds the forms a kundetiltak ("customer measure") sends out. A form is a draft until you publish it, saving and publishing are both explicit — nothing on this tab autosaves — and every dispatch locks its answers to the form version it was sent with.

Skjemalisten — the list of forms

The tab opens on Skjemalisten ("the form list") under the line «Skjemaer for kundekontroll · besvarelser låses mot versjonen som ble sendt.» Filter chips Alle / Publisert / Utkast carry counts, the search field matches name and description, and «+ Nytt skjema» asks for a name and a type — Kundekontroll ("customer due diligence"), Oppfølging ("follow-up") or Annet ("other").

ColumnWhat it holds
NavnThe name, with the description as a subtitle and a «Standard» badge on the type's default form.
TypeKundekontroll, Oppfølging or Annet.
TjenesterService chips, or «Alle» when the form is not tied to any.
SpørsmålThe number of questions, plus «N betingede» ("N conditional").
StatusPublisert (green), Utkast (amber) or Arkivert (grey).
VersjonThe version the row shows.
BesvarelserAnswers received, plus «N åpne» ("N open").
Sist endretWhen it last changed, and by whom.

Clicking a row opens the form for editing. The Besvarelser column counts real answers: answers received — answered or signed — per form across every version, while «N åpne» are rounds that have been sent and not answered yet. Drafts, cancelled rounds and internal checklists are never counted.

Three forms ship with a configuration: «12 standardspørsmål (KYC)», which holds 40 questions and is the default for Kundekontroll, and the two follow-up forms «Standard oppfølging — forhøyet/høy» and «Standard oppfølging — normal».

Skjemaredigering — editing a form

The editor's top bar carries a back link, the name and description (edited straight in place), a version chip, the status and an «Ulagrede endringer» ("unsaved changes") badge. Its actions:

  • Forkast utkast ("discard draft") — a form that has never been published warns that «hele skjemaet slettes»; anything else is reset to its published version.
  • Arkiver ("archive") — only for clean published forms. An archived form can no longer be chosen for a new dispatch.
  • Forhåndsvis ("preview") — opens an adjustable preview panel on the right. «Utvid» lifts it out as a movable window over the page; editing stays live underneath, and changes show as you make them.
  • Lagre utkast ("save draft") and Publiser ("publish"). Publishing asks for a change note, saves first if it has to, and reports «Skjemaet ble publisert.»

The form builder does not autosave. The Risikomodell tab writes a draft about a second after every change; this tab waits for Lagre utkast. If two people edit the same draft, the second one is stopped with «Utkastet er endret av noen andre …».

Editing a published form quietly turns it into a new draft — the status changes to Utkast — while answers already dispatched stay locked to the version they were sent with.

The settings card holds, in order:

  • Type. Changing it clears the default flag.
  • «Tilrettelagt for tjenester» ("adapted for services") chips. Empty means every service.
  • «Kan fylles ut av saksbehandler» / «Sendes til mottaker» — a switch saying that this form may lawfully be answered internally without asking the customer, typically an internal mapping where the firm already holds the facts. It is a permission, not a choice: the individual round decides for itself in step 3, and may only choose internal completion when the bound form version allows it. The value freezes with the form version, so a sent round keeps the permission it was sent with, and the form list marks the forms that carry it.
  • «Standard for typen» ("default for the type") — preselected in the wizards; one default form per type.
  • «Nummererte spørsmål» ("numbered questions") — 1., 2., …
  • «Kommentar påkrevd ved godkjenning» ("comment required on approval") — the form's default for whether an approving assessment in step 4 must carry an internal assessment comment. A single question can override it in the question editor (Følg skjemaet / Krev kommentar / Ingen kommentar), and a single dispatch can override it in step 3.
i

Both values are copied into the round when it is materialised, so republishing a form version never changes the requirements of a round already under way. The comment requirement governs approving assessments only — Godkjent and Godta som RCA. A rejection and «Be om utdypning» ("ask for elaboration") always require a reason.

Two independent scrolls. The question list and the question details scroll separately inside the editor, and the page itself does not scroll: the top bar with Lagre and Publiser always stays put, and a long list never slides out of sight while you edit one question. Below 900 px the two columns stack, and then the page scrolls again.

Spørsmålslisten — the question list

  • The list is hierarchical. A dependent question is indented under its parent and labelled «Hvis «…» = «ja»». Drag-and-drop and the up/down buttons both refuse to put a child before its parent: «Kan ikke flyttes: et betinget spørsmål må stå etter spørsmålet det avhenger av.»
  • Row chips summarise the question without opening it: a type badge in one of eight colours, Obligatorisk, «Obligatorisk hvis …» (the full condition on hover), a «Minst én av» group chip (its members on hover), a paperclip where attachments are allowed (the requirement level on hover), «Intern» for a caseworker question, service chips, a customer-flag chip («Kontantintensiv = Ja») and «Risiko +Np» for the points its answers add up to. {{threshold.*}} parameters are highlighted inside the question text.
  • «+ Nytt spørsmål» opens the type picker, each type with a description: Ja/Nei, Flervalg, Fritekst, Tall, Dato, Fil-opplasting, Aktørliste (up to three extra fields) and Liste-valg (country or NACE, up to five extra fields per choice).

Spørsmålsdetaljer — the question editor

The right-hand pane edits the selected question. Type chips change its type: the common fields survive, and a confirmation lists what does not — answer options, yes/no labels, numeric settings, file types, actor-list and list settings, risk links and attachment settings. Move up, move down and delete sit beside them; deleting a question that others depend on is confirmed first, their rules go with it, and a «Minst én av» group left with fewer than two members is dissolved.

  • Spørsmålstekst and Hjelpetekst are parameter-aware fields with a «Sett inn parameter» picker that inserts {{threshold.<id>}} at the cursor, drawn from the active model's thresholds with their amounts and points. Validity chips sit under the field and flag an unknown parameter in red («ukjent token»). A separate field holds the tooltip behind the info icon.
  • Obligatorisk ("mandatory") has three steps — Frivillig, Alltid and Betinget, required only when a condition on an earlier question is met.
  • File attachments are offered on every type except Fil-opplasting: «Tillat fil-vedlegg», then «Vedlegg kreves» in the three steps Nei / Alltid / Betinget — and that condition may point at the question itself, «(dette spørsmålet)» — plus «Minst én av svar/vedlegg holder», where either channel satisfies both requirements.
  • «Besvares av» ("answered by") is Kunde or Saksbehandler. An internal question never reaches the customer; it is answered in the cycle's assessment step.
  • Then the «Avhenger av» visibility rule, «Minst én av» requirement groups (pick partners with the same responder, create or drop the group), Tjenester chips (the question appears only when the customer has one of those services) and a customer-flag filter (flag = Ja or Nei).

What each type adds of its own:

TypeIts own settings
Ja/NeiIts own two button labels.
FlervalgOption editing — add, remove, reorder, rename; a rename follows automatically into risk links and dependent rules — plus a multiple-answer switch.
FritekstShort or long.
TallA unit and a threshold link: an answer strictly above the amount awards the points.
DatoThe date limits below.
Fil-opplastingFile-type chips — pdf, png, jpg and your own.
AktørlisteActor type (person, company or both), five suggestion sources (Offisielle roller, Aksjonærer, Reelle rettighetshavere, Familie-relasjoner, Fullmaktshavere), a minimum and maximum count, and up to three extra fields per actor.
Liste-valgSource Land or NACE with a live count, a «Valgene gir risikopoeng automatisk» switch, a minimum and maximum, and up to five extra fields.

Risk links are available on Ja/Nei, Flervalg, Liste-valg and Tall: each answer is linked to a factor outcome — active factors only, and a new link proposes the factor's highest outcome — and the points show live. Liste-valg and Tall show an explanation instead, because they are scored through the country or NACE table and through the threshold. The factors and the thresholds themselves are edited on the risk model.

Live forhåndsvisning — the live preview

The preview shows the form exactly as the customer sees it: threshold amounts substituted, numbering if it is switched on, an «Utkast» watermark on a draft, and conditional questions appearing as the simulated answers trigger them. A context line simulates the chosen services, the customer flags and the audience — Kunde or Saksbehandler, where internal questions are gathered under «Interne spørsmål». Beside it are a live risk-points chip computed from those simulated answers, over-threshold hints on number fields, demo actor suggestions, country and NACE search with suggestions, simulated attachment zones marked «Vedlegg kreves», and an «N av M besvart» counter.

Answer validation per question type

TypeCardSettings
Tall«Numerisk innstilling»«Enhet», «Minste verdi», «Største verdi», «Kun heltall», and the threshold link «Terskel-token» («— ingen terskel —»). An inverted interval is flagged in the editor.
Dato«Dato-begrensninger»«Tidligste dato», «Seneste dato», and the checkboxes «Ikke frem i tid» / «Ikke tilbake i tid», noted «Begge avkrysset: svaret må være dagens dato.» A latest date before the earliest is refused: «Seneste dato er før tidligste — skjemaet kan ikke lagres slik (C10).»
Fritekst«Tekst-format»«Maks antall tegn».
Fil-opplasting«Minst antall filer», «Maks antall filer», «Maks filstørrelse (MB)» per file, and «Tillatte filtyper» («Ingen valgte = alle filtyper tillatt.»).
Flervalg«Flervalg (flere svar)» plus «Minst antall valg» and «Maks antall valg»; the count limits need multiple answers switched on.

The server enforces every limit on every answer — in the portal, on the caseworker's surfaces, and again at submission. Both surfaces show the limit as a hint («mellom X og Y», «tidligst <dato>», «maks N tegn») and the breach as a message («Teksten er over maksgrensen (N tegn).», «Verdien må være minst <min>», «Datoen kan ikke være fram i tid», «Filen «…» er større enn maksgrensen på N MB», «Antall filer kan ikke overstige N»), and an oversized file is stopped before it is uploaded. «Ikke frem i tid» and «Ikke tilbake i tid» are re-evaluated both at every save and at submission — a plan has to still be a plan when it is handed in.

Answer parameters in text

The «Sett inn parameter» picker («{{ }} Sett inn parameter») has two tabs: «Terskler» ("thresholds" — «Terskelbeløp fra risikomodellen») and «Svar» ("answers" — «Svar fra tidligere spørsmål»). A later question, or a section text, can quote the customer's own answer — «Dere oppga {{answer.omsetning}} i omsetning …» — and the picker labels each one «ja/nei-svar», «flervalgssvar», «tallsvar» or «datosvar».

  • The rules, refused on save: the parameter must point at an existing, earlier question — which is also why a quoted question cannot be deleted — only yes/no, multiple-choice, number and date answers may be inserted («— bare ja/nei-, flervalgs-, tall- og datosvar kan settes inn i tekst»), and a fallback text{{answer.<nøkkel>|reservetekst}} — is required unless the question is guaranteed to be answered («· krever reservetekst» in the picker, «— mangler reservetekst: skriv {{answer.<key>|reservetekst}}» in the chip).
  • Validity chips under the text fields read «= «spørsmålstekst»» (with «· reserve: «…»» where there is a fallback), «— ukjent spørsmål», or «— kan bare vise til svaret på et TIDLIGERE spørsmål».
  • The customer never sees the braces. The portal merges the answer in live — the text of question 8 changes the moment the answer to question 5 changes — and the signed PDF merges exactly the same text from the stored answers. The hint under the question text points at the picker: «Hva kunden ser. Terskelbeløp refereres med threshold-tokens fra risikomodellen — bruk «Sett inn parameter».»

Oversettelser og språk — translations and languages

The settings card carries a «Språk» ("language") row, summarised as «Primærspråk: nb» or «Primærspråk: nb · oversatt til en, sv», with the button «Oversettelser…».

  • The dialog holds «Primærspråk (IETF-kode)» («Merker språket på grunntekstene — tekstene flyttes ikke.»), «Oversettelse til» with «— legg til et språk —», a «Nytt språk» field (placeholder «en, sv, en-GB…») with «Legg til», and «Fjern språket» ("remove every translation in the language"), which confirms first: «Fjern språket?» / «Alle N oversettelser i «<locale>» fjernes fra utkastet.» A completeness chip reads «X av Y oversatt».
  • The field rows are «Spørsmålstekst», «Hjelpetekst», «Hint», «Ja-etikett» and «Nei-etikett» per question, «Tittel», «Beskrivelse» and «Hjelpetekst» per section, and «Svaralternativ» per choice. A row exists only where the primary text is filled, and an empty field shows «(nb-teksten brukes)». The empty state reads «Legg til et språk for å oversette skjemaets tekster. Manglende oversettelser faller tilbake til primærspråket — publisering varsler, men stopper aldri.»
  • Publishing warns, and never blocks: «Språket '<locale>' mangler <n> oversettelser», once per language.
  • An answer option is a key plus a display text. Renaming an option changes the display only, never a stored answer, a risk link or a condition. The keys are invisible to the author.
  • «Språk for utsendelsen» ("language for the dispatch", step 3): when the bound form version has more than one language, the send card offers a language, hinted «Mottakeren ser skjemaet på valgt språk; tekster uten oversettelse vises på primærspråket.» The choice applies to a draft only — once sent, the language is locked with the round. The customer meets that language the whole way: the portal shows the form and its own frame in it, and the signed PDF is generated in the same language.

Export, import and version history

  • «Eksporter skjema» sits in the editor's top bar («Last ned hele skjemaet (den viste versjonen) som eksportdokument (JSON)»), and «eksporter» sits on every row of the version history («Last ned versjonen som eksportdokument (JSON)»). This is how a form moves between instances.
  • «Importer» sits in Skjemalisten («Importer et eksportert skjemadokument (JSON) — opprettes som nytt utkast»). For a valid document the «Importer skjema» dialog says «Dokumentet er gyldig — alle nøkler løses mot denne instansen. Skjemaet opprettes som et nytt utkast; ingenting publiseres.», over the rows «Fil», «Type», «Skjema», «Fra instans» and «Eksportert … av …».
  • A rejected import creates nothing. «Import avvist»: «Dokumentet refererer nøkler som ikke finnes i denne instansen — importen er avvist og ingenting er opprettet. Opprett det som mangler, eller juster dokumentet, og prøv igjen.» — with every missing item grouped under «Tjenesteområder», «Risikofaktorer», «Risikoutfall», «Terskelverdier», «Ukjente verdier», «Interne referanser i dokumentet» and «Dokumentformat». A file that is not JSON is refused outright: ««<fil>» er ikke gyldig JSON — velg et dokument laget med «Eksporter skjema».» An import always lands as a draft: a person publishes it after reading it.
  • «Versjonshistorikk (N)» in the editor's detail panel gives every published version «mot forrige» ("against the previous") and «mot gjeldende» ("against the current") — a structural comparison, reported as «Henter forskjellene …», «Ingen forskjeller — versjonene er strukturelt identiske.», or grouped lines «Nye spørsmål:», «Fjernede spørsmål:», «Nye seksjoner:» and «Fjernede seksjoner:» plus field changes «fra → til», where an empty value reads «(tom)», labelled «Skjema», «Seksjon <key>», «Spørsmål <key>», «alternativ <key>» or «tilleggsfelt <key>». The Besvarelser column here is tooltipped «Besvarelser mottatt mens versjonen var aktiv».
  • On a sent round (step 3) the «Spørsmålssett:» ("question set") badge gains «Skjemaet er endret N gang/ganger siden», tooltipped «Spørsmålssettet har fått nyere publiserte versjoner etter at denne runden ble sendt — svarene leses mot den låste versjonen.»

Keep the whole chain in view. Everything you publish here — model versions and form versions alike — is frozen into a kundetiltak when the cycle starts and when the form is sent. A change never touches an ongoing or a finished assessment, only a new one.