Aktivering timer¶
Modul for å aktivere godkjente timer fra ePortal-tidsregistrering som et regnskapsbilag i Visma Business NXT. Siden har tre faner: Rapport (kjøre og kontrollere aktiveringen), Innstillinger (variant og satser) og Bilagshistorikk (tidligere kjøringer).
| Egenskap | Verdi |
|---|---|
| Rute | /approval/timer-aktivering (approval-routing.module.ts:24) |
| Modul-ID | 18 (TimeAdmin) |
| DataAccess-objekttype | Approval.TimerAktivering |
| Regnskapssystem | Visma Business NXT (bilag opprettes via NXT-integrasjonen) |
Tilgang¶
| Hvem | Hva trengs |
|---|---|
| Rolle / tilgang | Datatilgang på objekttype Approval.TimerAktivering (CanView for å se rapport og historikk, CanEdit for å lagre innstillinger, CanCreate for å opprette bilag) — konfigureres under Innstillinger → Datatilgang i gruppen "Godkjenning timer" |
| Modul | TimeAdmin (moduleId 18) — må være aktivert for kunden og brukerlevelet (approval-routing.module.ts:24, data-access-admin.component.ts:31) |
Fane: Rapport¶
Henter godkjente timer + ev. regnskapsposter for valgt periode, kjører varianten som er valgt under Innstillinger, og viser resultatet som radlinjer i et smart-grid.
Periodevalg¶
- Fra / Til —
ngbDatepicker-felter. Initialverdiene beregnes ut fraTimeConfig.cutOffDatei localStorage på samme måte som Kontroll-timer: ercutOffDate = 0blir perioden hele forrige måned; ellers løper perioden fracutOffDate + 1til nestecutOffDateavhengig av om i dag er før eller etter cut-off-dagen (timer-aktivering.component.ts:109-179). - Pil venstre / pil høyre — flytter både fra- og til-dato én måned bakover / framover, og synker Bilagsdato + Valuteringsdato til ny til-dato (timer-aktivering.component.ts:328-338).
- Kjør rapport — kaller
getReport({ dateFrom, dateTo, sessionID })og populerer rapport-grid + diagnostikk-logg (timer-aktivering.component.ts:217-245).
Periodisering-regelen som vises i blå info-boks under datolinjen:
«Timeregistreringer fra ePortal hentes fra valgt fra-til periode. Regnskapsdata hentes for bokført lønnskost basert på til-perioden, og bokføres i til-periodens måned.» (no.json:11644)
Diagnostikk-logg¶
Etter Kjør rapport legges backend-meldingene i en kollapsibel <details>-blokk merket «Logg (NXT-henting)». Hver melding har et nivå (Info / Warning / Error) som styrer ikon og farge. Loggen åpnes automatisk hvis det finnes minst én Warning eller Error (timer-aktivering.component.ts:57-63).
Rapport-grid¶
Kolonnene som vises (timer-aktivering.component.ts:81-96):
| Kolonne | Felt | Type |
|---|---|---|
| År | aar |
tekst-filter |
| Periode | periode |
tekst-filter |
| Dato | dato |
tekst-filter |
| Art | art |
tallfilter (lønnsart) |
| Tekst | tekst |
tekst-filter |
| Antall | antall |
sortérbar |
| Debet | debet |
sortérbar |
| Kredit | kredit |
sortérbar |
| Beløp | beloep |
sortérbar |
| KontoX | kontoX |
tallfilter |
| Avdeling | avdeling |
tekst-filter |
| Prosjekt | prosjekt |
tekst-filter |
| AO | ao |
tekst-filter |
| Kilde | sourceType |
tekst-filter |
Griden har globalt søk, filter-panel, totalrad, feltsum og gruppesum (sum for antall og beloep). Eksport til Excel er aktivert via «Eksporter til Excel»-knappen på griden (timer-aktivering.component.html:144-158).
KPI-baren over griden viser antall rader og total beloep (timer-aktivering.component.html:125-128).
Opprett bilag¶
Kortet «Opprett aktiveringsbilag» vises kun etter at en rapport er kjørt (reportRan = true).
Felt: - Bilagsdato — dokumentdato på NXT-bilaget, default = til-dato. - Valuteringsdato — bokføringsperiode/verdidato, default = til-dato.
Begge kan endres uavhengig av hverandre før bokføring (timer-aktivering.component.ts:183-186).
Når «Opprett bilag» trykkes:
- Rapporten eksporteres til Excel klient-side via
reportGrid.exportToBuffer(true)(useAllRows=trueslik at hele datasettet attaches, ikke kun den filtrerte visningen). - Filen base64-encodes og sendes sammen med periode + datoer til
createVoucher— backend lagrer den mot bilaget og NXT-adapteren laster den opp som bilagsdokument. - Filnavn:
aktivering_<YYYY-MM-DD>.xlsx(til-dato). - Hvis Excel-eksporten feiler, logges advarsel i konsoll og bilaget opprettes uten vedlegg — eksporten skal aldri blokkere bokføring (timer-aktivering.component.ts:247-297).
Duplikat-varsel: hvis det allerede finnes minst én vellykket kjøring med samme fra-/til-periode i historikken, vises gul advarsel: «Denne perioden er allerede overført N gang(er). Kontroller Bilagshistorikk før ny overføring.» (timer-aktivering.component.html:68-71, timer-aktivering.component.ts:344-356).
Resultat:
- Suksess med voucherID: grønn boks «Bilag opprettet (ID: ..., ... linjer)» + success-toast.
- Suksess uten rader: gul boks «Ingen rader å bokføre.» eller backend-melding.
- Feil: rød feiltoast med backend-melding.
Fane: Innstillinger¶
Lagres per tenant via PUT /api/timer-aktivering/config (timer-aktivering.component.ts:310-326).
Variant¶
Radio-knapper for verdiene A, B, C, E, F, G, H. Til høyre vises et referansekort der den valgte varianten markeres med mørk venstrekant + «Valgt»-badge (timer-aktivering.component.html:312-336). Beskrivelsene under er basert på TIMER_AKTIVERING_VARIANTS i timer-aktivering.model.ts:102-131:
| Variant | Kilder | Hva varianten gjør |
|---|---|---|
| A | ePortal timeregistrering | Standard adm + mont. Ansatte deles i to grupper etter ansattnr-intervall (adm og mont). Hver gruppe aktiveres med fast sats mot TimeReg kontoX. Eks: adm-ansatt nr 1–50 aktiveres med 120 kr/t mot konto 7791. |
| B | ePortal timeregistrering | Som A, men kontoX hentes per lønnsart fra «KontoX bokført lønn» i stedet for fast verdi. Eks: lønnsart 100 gir konto 7792, lønnsart 200 gir konto 7793 — ulike lønnsarter kan dermed aktiveres mot ulike kontoer. |
| C | ePortal timeregistrering | KontoX hentes direkte fra feltet «KontoX på timerføring» som den ansatte registrerte på timen. Eks: ansatt fører KontoX=7795 — den verdien brukes uten noe oppslagstabell. |
| E | ePortal timeregistrering + regnskap (konto-intervall, default 5000–5989) | Som A, men med ADK-blokk (eget ansattnr-intervall og egne satser for ADK-ansatte) og investeringsblokk (henter regnskapsposter på konto 5000–5989). Eks: mont-ansatt nr 51–80 aktiveres med ADK-sats 95 kr/t, og investeringsbilag for konto 5100 plukkes opp i samme kjøring. |
| F | ePortal timeregistrering + regnskap | Som E, men legger til en balansert motpost. Eks: krediterer 7791 avdeling 10 (kostnaden), og debiterer en motkonto på balanse-avdeling 99 — slik at nettokostnaden i avdeling 10 er null. |
| G | ePortal timeregistrering | Som A/E, men inkluderer en lærlingblokk. Ansatte som har «KontoX på timerføring» lik lærling kontoX regnes som lærlinger og aktiveres med lærling-sats. Eks: timerføring med KontoX=5180 → sats 60 kr/t mot konto 5180. |
| H | ePortal timeregistrering + regnskap | Full variant. Kombinerer alle blokker i én kjøring: standard adm + mont, ADK-blokk, lærlingblokk, investeringsblokk (konto 5000–5989) og balansert motpost. |
Hjelpeteksten over feltene: «Disse innstillingene konfigurerer den valgte varianten. Se variant-beskrivelsen til høyre for hva hver variant gjør, med eksempler på satser og kontoer. Ansattnr-intervallene avgjør hvem som regnes som adm vs. mont — montørtimer kommer ikke med før mont-intervallet er satt.» (no.json:11662)
Konfigurasjonsfelter¶
Alle felt er nummeriske. Defaultverdier kommer fra defaultConfig() i timer-aktivering.model.ts:133-160.
| Felt (label) | Modell-property | Default | Forklaring |
|---|---|---|---|
| Ansattnr adm (fra–til) | ansNrAdmFrom, ansNrAdmTo |
0 / 0 | Ansattnr-intervall som regnes som administrasjon |
| Ansattnr mont (fra–til) | ansNrMontFrom, ansNrMontTo |
0 / 0 | Ansattnr-intervall som regnes som montør |
| Sats adm | satsAdm |
0 | Timesats adm |
| Sats mont | satsMont |
0 | Timesats mont |
| Sats adm ADK | satsAdmAdk |
0 | Timesats for ADK-adm (variant E/H) |
| Sats mont ADK | satsMontAdk |
0 | Timesats for ADK-mont (variant E/H) |
| Sats lærling | satsLaerling |
0 | Timesats lærling (variant G/H) |
| Sats lærling ADK | satsLaerlingAdk |
0 | Timesats lærling ADK (variant G/H) |
| Bilagsart | bilagsArt |
400 | NXT bilagsart |
| Bilagsserie | voucherSerie |
0 | NXT voucher-serie |
| TimeReg kontoX | timeRegKontoX |
7791 | Standard kontoX for timer (variant A) |
| Lærling kontoX | laerlingAccX |
5180 | KontoX som identifiserer lærlinger (variant G/H) |
| AcTr kontoX (fast) | acTrKontoXFixed |
0 | Fast motkonto for regnskapsposter |
| ADK kontoX | adkKontoX |
0 | KontoX for ADK-blokk |
| Balanse avdeling | balancedAvdeling |
0 | Avdeling for balansert motpost (variant F/H) |
| Balanse prosjekt | balancedProsjekt |
0 | Prosjekt for balansert motpost (variant F/H) |
| Ekskluder prosjekt | excludeProject |
0 | Prosjektnr som ekskluderes |
| Regnskap konto-intervall (fra–til) | acTrAccountFrom, acTrAccountTo |
5000 / 5989 | Kontointervall regnskapsposter hentes fra (variant E/F/H) |
Debug — behold staging¶
Toggle nederst på fanen: «Debug: behold regnskapsdata-staging etter kjøring (for inspeksjon i SQL — slå av etterpå)» — settes på når NXT-staging-rader skal undersøkes manuelt etter en kjøring. Default false (timer-aktivering.model.ts:158, timer-aktivering.component.html:290-298).
Lagre¶
«Lagre»-knappen kaller saveConfig() og viser success-toast «Lagret» eller feiltoast ved feil.
Fane: Bilagshistorikk¶
Lastes når fanen åpnes, eller når en ny rapport / et nytt bilag er opprettet (timer-aktivering.component.ts:200-204, 358-371).
Tabellen viser kjøringer som overlapper med valgt periode, med kolonnene:
| Kolonne | Felt |
|---|---|
| Opprettet | createdDate (dd.MM.yyyy HH:mm) |
| Variant | variant |
| Fra / Til | periodFrom, periodTo (dd.MM.yyyy) |
| Bilag ID | voucherID (NXT-bilagsnummer eller «-») |
| Rader | rowCount |
| Status | status — badge badge-soft-success for SUCCESS, badge-soft-danger for ERROR, ellers badge-soft-warning |
| Opprettet av | createdByName (fallback createdBy) |
| Feil | errorMessage («-» hvis tom) |
Tom liste viser «Ingen bilagshistorikk for valgt periode.» (timer-aktivering.component.html:344-392).
Slik gjør du en aktivering¶
Se prosesskartet for Aktivering timer for sammenhengen mellom variant, rapportbygging, kontroll, bilagsopprettelse og historikk.
- Åpne Aktivering timer fra menyen — du står som standard på fanen Rapport med fra-/til-dato satt til riktig periode i henhold til
TimeConfig.cutOffDate. - Juster periode om nødvendig — bruk pil-knappene for å hoppe én måned eller velg datoer manuelt.
- Klikk Kjør rapport. Rapporten vises i griden under, og diagnostikk-loggen åpnes automatisk hvis det finnes advarsler eller feil.
- Kontroller radene — bruk globalt søk, kolonnefiltre, sum-rad og gruppering. Last ned «Eksporter til Excel» hvis det skal kontrolleres utenfor portalen.
- Når rapporten er korrekt: kontroller Bilagsdato og Valuteringsdato i kortet «Opprett aktiveringsbilag», og les eventuelt duplikatvarselet før du fortsetter.
- Klikk Opprett bilag. Ved suksess vises grønn boks med NXT-bilagsnummer, og kjøringen havner i Bilagshistorikk med status SUCCESS.
Vanlige problemer¶
| Situasjon | Hva skjer / hva gjør du |
|---|---|
| Rapport returnerer 0 rader | Info-boks: «Ingen rader funnet for valgt periode.» — kontroller periode, godkjenningsstatus på timene og at innstillinger (ansattnr-intervall, satser) er satt for valgt variant. |
| Advarsler eller feil i diagnostikk-logg | Loggen åpnes automatisk. Hver linje viser nivå (Info/Warning/Error) og melding fra backend (typisk: manglende konto for lønnsart, ansatt uten avdeling, prosjekt uten dimensjon). |
| Periode allerede aktivert | Gul advarsel «Denne perioden er allerede overført N gang(er). Kontroller Bilagshistorikk før ny overføring.» — sjekk Bilagshistorikk-fanen før du oppretter et nytt bilag. |
| Bilag opprettet uten rader | Gul boks «Ingen rader å bokføre.» (eller backend-melding). Ingen NXT-bilag opprettes. |
| Bilag-opprettelse feiler | Rød feiltoast med backend-melding. Excel-vedlegg som ikke kunne genereres logges som warning i nettleser-konsollen, men blokkerer ikke selve bilaget. |
| Ingen tilgang | API returnerer 200 med tom result og ErrorResponse «Ingen tilgang til timeraktivering.» — be administrator gi CanView/CanCreate/CanEdit på objekttype Approval.TimerAktivering. |
| Bilagshistorikk tom | «Ingen bilagshistorikk for valgt periode.» — bytt periode eller kjør en aktivering først. |
Relaterte sider¶
- Velge variant
- Kjøre aktivering
- Kontrollere rapport
- Opprette bilag
- Feilsøking — Aktivering timer
- Lønnsregler — lønnsarter og kontoer som varianten leser fra
- Låsing av perioder —
TimeConfig.cutOffDatestyrer hvilken periode siden åpner med - Visma Business NXT — bilaget sendes til regnskapet via denne integrasjonen




