Konti Connect-modulen¶
Konti Connect er ePortal sin integrasjonsmodul for å sette opp, kjøre og overvåke integrasjoner mot eksterne systemer (regnskap, ERP, HR, GPS, m.m.). Hver integrasjon er en konkret instans av en integrasjonstype (en adapter som ligger ferdig i ePortal) — du velger type, gir den navn og konfigurasjon, og bestemmer hvor ofte den skal kjøres.
Ikke å forveksles med Connect API — som er det eksterne REST-API-et tredjeparts-utviklere bruker for å integrere MOT ePortal. Konti Connect er hvordan ePortal kobler seg TIL eksterne systemer (samt en av adapterne,
KontiConnect, som henter inn eksterne kostnader via Konti Connect API).
I denne delen betyr konsulent en Konti-konsulent som hjelper kunden gjennom Konti sin supportprosess. Se Tekniker eller konsulent.
Tilgang¶
| Hvem | Hva trengs |
|---|---|
| Rolle | Administrator-tilgang i tenanten — sjekken er userAccess.moduleID === 27 && (new === true || new === 1) (integration-list.component.ts:115). Uten denne vises «Ingen tilgang»-meldingen i stedet for siden. |
| Modul | Konti Connect (moduleId: 27) — guarden er satt på alle rutene under /konti-connect/integrations (konti-connect-routing.module.ts:18). |
| Lisens | Modulen aktiveres per tenant av Konti via wv_Module / wv_DomainModule. |
Slik ser modulen ut¶
Modulen består av fire skjermbilder under /konti-connect:
| Skjermbilde | Rute | Hovedinnhold |
|---|---|---|
| Integrasjonsliste | /konti-connect/integrations |
Søk + filter + valg av visning (kort / liste), grupperingsalternativer, og «Opprett ny»-knapp (integration-list.component.html:1). |
| Integrasjonsdetalj | /konti-connect/integrations/:id |
Tab-navigasjon med Oversikt, Konfigurasjon, Historikk, og (per adapter) Bilagslogg, Nye og endrede timer, Nye bilag til bokføring, Nye bilag til Business NXT, Bilagshistorikk og Recovery (integration-detail.component.html:40). |
| Editor | /konti-connect/integrations/new og /:id/edit |
Veiviser-stil med 5 tabber: Grunnleggende, Frekvens & Parametere, Konfigurasjon, Feltmapping, Avansert (integration-editor.component.html:32). |
| Bilagsimport | /konti-connect/voucher-import |
Frittstående side (ikke knyttet til en enkelt integrasjon) for å importere avregningsfiler fra Fjordkraft/Altibox som bokføringsbilag — faner Import, Mapping, Historikk (konti-connect-routing.module.ts:40-44). Se Bilagsimport. |
Funksjoner i modulen¶
Integrasjonsliste¶
- Søk på navn, type, beskrivelse eller kategori.
- Filtre på integrasjonstype (alle typer som er aktivert i
wv_IntegrationType) og kategori (Import / Export / Sync / Digpro — kategorien kommer frawv_IntegrationType.Category). - Gruppering av listen: ingen, etter type eller etter kategori (standard er kategori) (integration-list.component.ts:30).
- Visningsmodus — kortvisning (standard) eller listevisning, lagres i
localStorageunderintegrations-view-mode(integration-list.component.ts:62). - Aktiv/inaktiv-bryter per integrasjon — slår av automatisk kjøring uten å slette konfigurasjon eller historikk (integration-list.component.ts:369).
- Kjør nå-knapp — trigger en kjøring umiddelbart og navigerer til Historikk-tabben på detaljbildet (integration-list.component.ts:448). Knappen er deaktivert hvis integrasjonen ikke er aktiv.
- Token-utløpsvarsel — viser «Utløper snart» (lokal kalkulasjon, mindre enn 7 dager til
oAuthTokenExpiresAt) (integration-list.component.ts:596). - Globale innstillinger (dropdown øverst til høyre): Konti Connect API-credentials, Microsoft Graph (M365) og Azure Storage. Alle åpnes som modal (integration-list.component.ts:301).
Detaljbilde — tabber¶
Tabbene som vises avhenger av adapter-typen (integration-detail.component.html:60):
| Tab | Når vises den | Innhold |
|---|---|---|
| Oversikt | Alltid | Navn, type, beskrivelse, frekvens, status, sist/neste kjøring, opprettet/endret. |
| Konfigurasjon | Alltid | Hele konfigurasjons-JSON vises read-only. Toggle for «Debug-logging» som skriver GraphQL/REST-payloads til kjøringsloggen. |
| Historikk | Alltid | Sideinndelt liste over alle kjøringer (sidestørrelse 10/20/50/100). Per kjøring vises Status, Starttid, Varighet, antall poster prosessert/vellykket/feilet/hoppet over, trigger og utfører. Detaljer åpnes i en under-tab med Steg, Logg, eller Postdetaljer. |
| Bilagslogg | Kun for WorkOrderMaterialVoucherExport |
Liste over eksporterte bilag-batcher med mulighet til å nullstille en hel batch eller enkeltrad for ny eksport (integration-detail.component.html:851). |
| Nye og endrede timer | Kun for DigproTimeSync |
Forhåndsvisning av timer som vil bli eksportert ved neste kjøring (integration-detail.component.html:588). |
| Nye bilag til bokføring | Kun for WorkOrderMaterialVoucherExport |
Forhåndsvisning av bilag som er klare for eksport (integration-detail.component.html:636). |
| Nye bilag til Business NXT | Kun for VismaBusinessNXT_Vouchers |
Forhåndsvisning av ventende bilag i eksportkøen til Business NXT, server-cappet med reell totaltelling (integration-detail.component.html:672). |
| Bilagshistorikk | Kun for VismaBusinessNXT_Vouchers |
Arkiverte/eksporterte NXT-bilag med søk, multi-select og «Gjenopprett»-knapp som legger valgte bilag tilbake i eksportkøen (integration-detail.component.html:711). |
| Recovery | Kun for VismaBusinessNXT_Orders |
Viser uferdige ordrelinjeoppdateringer fra den eksisterende wv_Integration_SyncTracking-state-maskinen. Pending og LinesDeleted gjenopptas automatisk ved neste kjøring. Unknown krever at operatøren kontrollerer faktiske ordrelinjer i Business NXT, skriver begrunnelse og åpner raden for kontrollert replay; handlingen blir synlig i Historikk som ManualRecovery. |
Detaljbildet har også «Kjør», «Rediger» og «Slett»-knapper i headeren. Slett er en soft delete via DELETE-endepunktet (konti-connect.service.ts:97).
Editor — felt og validering¶
Skjemaet bygges i integration-editor.component.ts:206-227 med følgende felt:
| Felt | Standardverdi | Validering |
|---|---|---|
| Integrasjonstype | (ingen) | Påkrevd |
| Navn | tomt | Påkrevd, maks 200 tegn |
| Beskrivelse | tomt | Maks 1000 tegn |
| Frekvens | Manual |
Påkrevd. Verdier: Manual, Daily, Weekdays, Weekly, Monthly, Custom |
| Tidspunkt (for daglig/ukentlig/månedlig) | 09:00 |
Regex HH:mm |
| Dag i måneden (for månedlig) | 1 |
Min 1, maks 31 |
Cron-uttrykk (for Custom) |
tomt | 5-feltsmønster (min/time/dag/måned/ukedag) — backend bruker Cronos for full parsing |
| Aktiv | true |
— |
| Konfigurasjon (JSON) | {} |
Må være gyldig JSON, valideres når brukeren prøver å lagre |
| Parametertype | None |
None, PreviousMonth, PreviousWeek, LastNDays, Custom |
Antall dager (for LastNDays) |
30 |
— |
| Aktiver delta-synk | true |
— |
| Fallback til full synk hvis delta feiler | true |
— |
Editoren har en GUI-modus og en rå JSON-modus for konfigurasjonen. «Last mal»-knappen fyller inn et adapter-spesifikt eksempel (typiske felt og dummy-verdier) — malen merger inn i eksisterende konfigurasjon uten å overskrive verdier brukeren allerede har satt (integration-editor.component.ts:997-1078).
Tallfelt i skjema-modus lagres som ekte tall i konfigurasjonen. Desimaler og null er gyldige der adapteren forventer det; tømmer du et valgfritt tallfelt, fjernes nøkkelen og adapteren bruker sin egen standardverdi (integration-editor.component.ts:2798-2830). Kravet om hele tall ≥ 1 gjelder kun de validerte Visma Business NXT-feltene — se Sette opp ny integrasjon.
Tilgjengelige integrasjonstyper (adaptere)¶
Adapterne ligger ferdig i ePortal og seedes inn i wv_IntegrationType via migrasjoner. Et nytt forslag i veiviseren er en av disse:
| Kategori | TypeCode | Hva |
|---|---|---|
| Import | Abax |
GPS-turer fra Abax → kilometergodtgjørelse |
| Import | VismaPayrollImport |
Ansatte fra Visma Lønn |
| Import | SimployerEmployeeImport |
Ansatte fra Simployer |
| Import | SimployerAbsenceImport |
Fravær fra Simployer |
| Import | KontiConnect |
Eksterne kostnader fra Visma Business (via Konti Connect API) |
| Import | PowerOfficeGoMasterDataImport |
Kunder/leverandører/produkter/kontoplan fra PowerOffice Go |
| Import | PowerOfficeGoEmployeeImport |
Ansatte fra PowerOffice Go |
| Import | PowerOfficeGoTimeKpiImport |
Time-KPI fra PowerOffice Go |
| Import | TrimbleMaterialImport |
Materialtransaksjoner fra Trimble Cityworks |
| Export | VismaPayrollExport |
Timedata til Visma Lønn |
| Export | PowerOfficeGoInvoiceExport |
Fakturaer til PowerOffice Go |
| Export | WorkOrderMaterialVoucherExport |
Materialforbruk → bilag i regnskap |
| Export | CrmActorExport |
CRM-aktører til eksternt system |
| Digpro | DigproActivitySync |
Workflow-aktivitetstyper fra Digpro |
| Digpro | DigproTimeSync |
Godkjente timer til Digpro |
| Digpro | DigproProjectSync |
Prosjekter til Digpro |
| Digpro | DigproWorkOrderCostSync |
Arbeidsordrekostnader fra Digpro |
| Sync | TrimbleProjectSync |
Prosjekter til/fra Trimble NIS |
| Sync | TrimbleWorkOrderCostSync |
Arbeidsordrekostnader til Trimble NIM |
| Sync | M365Planner |
Microsoft Planner-oppgaver |
| Sync | M365Todo |
Microsoft To Do-oppgaver |
| Bidirectional | VismaBusinessNXT_Products |
Produkter mellom ePortal og NXT (GraphQL) |
| Import | VismaBusinessNXT_Accounts |
Kontoplan fra NXT |
| Bidirectional | VismaBusinessNXT_Actors |
Kunder og leverandører til/fra NXT |
| Bidirectional | VismaBusinessNXT_OrgUnits |
Organisasjonsenheter (12 nivåer) |
| Import | VismaBusinessNXT_Vouchers |
Bilag fra NXT |
| Import | VismaBusinessNXT_Orders |
Salgs- og innkjøpsordre fra NXT |
| Export | VismaBusinessNXT_TimeRegs |
Replikering av timeregistreringer til NXT |
Den faktiske listen leses fra databasen ved sidelast (kallet getIntegrationTypes(activeOnly: true)), så typer som er deaktivert i wv_IntegrationType vises ikke i veiviseren.
Delta-synk og OAuth-token¶
Disse to feltene følger med på selve integrasjonsraden (synlig i kortet i listen):
- Delta-synk — når
enableDeltaSync = truehenter adapteren kun rader endret siden forrige vellykkede kjøring (lagret ilastSuccessfulSyncDate). Antallet rader som ble synket sist vises i kortet (integration.model.ts). - OAuth-token — feltene
hasOAuthTokenogoAuthTokenExpiresAtkommer fra backend per integrasjon. Listen sammenligner utløpsdato med dagens dato og merker tokens med mindre enn 7 dagers gjenværende levetid med en advarsel.
Bilagslogg (Voucher Export Log)¶
Egen tab kun for WorkOrderMaterialVoucherExport. Viser per eksportkjøring:
- Dato, bilagsnummer, kildetype, antall rader, beløp, status (OK / Delvis / Feilet).
- Drill-down per kjøring viser hver bilagslinje (debet/kredit, arbeidsordre, prosjekt, m.m.).
- Nullstill kjøring — fjerner bilag-flagget på alle linjer i batchen så de kan eksporteres på nytt; bilagslinjene og loggraden slettes.
- Nullstill rad — samme, men for én enkelt rad.
Begge handlingene bekreftes via en NgbModal-dialog før de utføres (integration-detail.component.ts:52).
Adapteren VismaBusinessNXT_Vouchers har en tilsvarende, men separat, Bilagshistorikk-tab (se tabellen over) — samme idé (arkiverte bilag), men med søk og et «Gjenopprett»-knapp per rad/utvalg i stedet for nullstill-per-batch/rad.
Globale innstillinger¶
Dropdownen «Innstillinger» øverst på listen åpner tre uavhengige modaler:
| Modal | Innhold |
|---|---|
| Konti Connect API | OAuth-credentials (Client ID, Client Secret, Tenant ID, Token URL, API Base URL) for å koble ePortal mot Konti sitt sentrale Connect-API. Har egen «Test tilkobling»-knapp. |
| Microsoft Graph (M365) | Credentials og innstillinger for Graph-baserte adaptere (Planner, To Do, Outlook). |
| Azure Storage | Storage-account-konfigurasjon brukt på tvers av adaptere som lagrer filer. |
Innstillingene lagres globalt (per tenant) og deles av alle integrasjoner som trenger dem — KontiConnect-adapteren bruker for eksempel disse credentials og ikke per-integrasjon-credentials: den injiserer IKontiConnectAuthService og leser KontiConnect.ApiBaseUrl gjennom ISettingsService (KontiExternalCostImportAdapter.cs:33, :89).
Slik gjør du — opprette en ny integrasjon¶
Se prosesskartet for Konti Connect for sammenhengen mellom oppsett, aktivering, scheduler, adapterkjøring, overvåkning og retry.
- Gå til Konti Connect → Integrasjoner. Trykk «Opprett ny integrasjon» øverst til høyre.
- På tabben Grunnleggende, velg integrasjonstype (f.eks.
Visma Business NXT - Produkter), gi den et navn og en valgfri beskrivelse. - Gå til Frekvens & Parametere. Velg om integrasjonen skal kjøres
Manuell,Daglig,Ukedager,Ukentlig,MånedligellerTilpasset (cron). - Gå til Konfigurasjon. Trykk «Last mal» for å fylle inn dummy-verdier for adapterens forventede felt. Rediger dem til faktiske credentials/innstillinger (helst via GUI-modus, eventuelt rå JSON).
- Gå til Feltmapping hvis adapteren støtter konfigurérbar mapping (NXT-adapterne har ferdige mappinger og hopper over dette steget).
- På Avansert kan du slå av/på delta-synk og fallback til full synk.
- Trykk Lagre nederst. Integrasjonen lander i listen som aktiv.
- (Valgfritt) Verifiser oppsettet ved å trykke «Kjør» på listen eller detaljbildet — du blir tatt direkte til Historikk-tabben for å se resultatet.
Slik gjør du — kjøre en integrasjon manuelt¶
- Finn integrasjonen i listen.
- Trykk «Kjør»-knappen (avspillings-ikon). Knappen er deaktivert hvis integrasjonen er inaktiv — slå den på først.
- Du blir tatt til detaljbildet, Historikk-tabben, der den nye kjøringen vises øverst med status
Runningtil den er ferdig. - Klikk på kjøringen for å se Steg, Logg og Postdetaljer.
Slik gjør du — håndtere NXT ordrelinje-recovery¶
Når NXT ordreeksport oppdaterer eksisterende ordre, lagres ønsket linjepayload før gamle linjer slettes. Hvis avbruddet skjer før linjene sendes, gjenopptas raden automatisk ved neste kjøring. Hvis avbruddet skjer mens sending pågår, settes raden til Unknown for å unngå blind retry.
- Åpne Konti Connect → Integrasjoner → NXT ordreintegrasjonen.
- Gå til Recovery-fanen.
- For rader med
Unknown: åpne ordren i Business NXT og kontroller hvilke linjer som faktisk ligger der. - Klikk Verifisert, prøv igjen, skriv hva som ble kontrollert, og bekreft.
- Kjør integrasjonen på nytt. Raden flyttes tilbake til
Pending, og neste kjøring bruker lagret payload for kontrollert replay.
Ikke rett wv_Integration_SyncTracking direkte i databasen. Recovery-handlingen bruker rowversion-kontroll og skriver en ManualRecovery-oppføring i kjøringshistorikken.
Slik gjør du — pause en integrasjon¶
I dag finnes det ingen separat «Pause»-handling. Bruk aktiv/inaktiv-bryteren på integrasjonen for å stoppe automatisk kjøring uten å miste konfigurasjon, credentials eller historikk:
- På detaljbildet eller i listen, flipp bryteren til Inaktiv.
- Bekreft via toast — meldingen «Integrasjon ‹navn› deaktivert» bekrefter at oppdateringen gikk gjennom (integration-list.component.ts:388).
- Sett bryteren tilbake til Aktiv når du vil at den skal kjøre igjen.
Vanlige problemer¶
| Melding | Hva betyr det |
|---|---|
| «Ingen tilgang» | Brukeren mangler userAccess.new på modul-ID 27. Be administrator gi tilgang under Innstillinger → Modul-tilganger. |
| «Integrasjonen må være aktiv for å kjøres» | Aktiver integrasjonen via aktiv/inaktiv-bryteren før du trykker Kjør. |
| «Kunne ikke kjøre integrasjon» | Backend returnerte feil — åpne kjøringsdetaljen i Historikk for å se loggen. Slå på «Debug-logging» på Konfigurasjon-tabben midlertidig for å få detaljerte API-responser i loggen. |
| «Kunne ikke laste integrasjoner» | Typisk nettverks- eller autentiseringsfeil. Last siden på nytt og verifiser at API-en svarer. |
| Konfigurasjonsfeltet farges rødt med «Ugyldig JSON-format» | JSON-en i Konfigurasjon-tabben kan ikke parses. Bytt til GUI-modus, eller bruk «Formater JSON»-knappen for å se hvor parsefeilen er. |
| «Utløper snart»-merket på integrasjonskortet | OAuth-tokenet utløper innen 7 dager — re-autoriser ved å åpne integrasjonen og oppdatere OAuth-credentials på Konfigurasjon-tabben. |
Relaterte sider¶
- Arbeidsordre
- CRM
- Bankavstemming
- Aktivering timer
- Time
- Connect API for utviklere
- Feilsøking for Konti Connect-modulen
- Arbeidsprosesser:
- Se status på integrasjoner
- Kjøre integrasjon manuelt
- Lese kjøringslogg
- Rotere utløpt OAuth-token
- Sette opp ny integrasjon
- Pause integrasjon
- Bilagsimport (Fjordkraft/Altibox)





