v2.99.0 — teknisk fullversjon¶
Release-dato: 2026-08-13
Tre side-versjoner: Versjonsnytt · teknisk fullversjon (du leser denne) · admin pre-deploy-sjekkliste
Høydepunkter i denne releasen
- Nytt kundekort: gruppert meny, ryddigere Detaljer-side og hurtighandlinger — Kundekortet i CRM har fått et løft i tråd med det nye panel-designspråket. Venstremenyen er gruppert i Kunde / Salg og leveranse / Dokumenter / Administrasjon med rolige tellere...
- Outlook: koble e-posten til hva som helst i ePortal — Den nye «Koble til»-velgeren har ett søkefelt som finner salg, prosjekter, oppgaver, møter, tilbud og masterordrer — med forslag fra kundens kontekst — og e-posten kan kobles ti...
- Outlook-tillegget: prosjektvalg tilbake i "Ny oppgave", og oppgaver kan nå søkes opp og kobles til e-post — Prosjektfeltet i «Ny oppgave» er alltid synlig og søkbart (kundens åpne prosjekter øverst), i stedet for å forsvinne når kontaktoversikten ikke hadde noen aktive prosjekter å fo...
- Slutt på varsel-spam ved raske endringer på en oppgave — Endrer noen status, frist og prioritet på en oppgave rett etter hverandre, får du nå ett varsel merket «3 endringer» i stedet for tre like varsler — og én e-post i stedet for tr...
- Bilagsimport for Fjordkraft og Altibox — Ny side under Konti Connect (
/konti-connect/voucher-import) som erstatter de to frittstående konverteringsprogrammene: velg kilde, last opp avregningsfil(er), forhåndsvis bila... - E-postutsending slått over i produksjonsflyt, og kan nå styres per kunde — Utgående e-post gikk tidligere aldri til ekte mottakere: plattform-pinnen sto av, og en kunde uten oppsett havnet automatisk i sandkasse. Pinnen er nå slått på, og hver kunde få...
- Nytt panel-design i hele ePortal — Alle paneler, seksjonskort, skjemaseksjoner og KPI-kort i appen (dashbord, detaljsider, rapporter, HMS) har fått det nye panel-designet fra CRM-kundekortet: varm ramme, myk skyg...
- Du velger nå selv om ePortal skal være på norsk eller engelsk — Under Min profil → Profilinformasjon finnes et nytt Språk-felt med norsk og engelsk. Grensesnittet skifter språk med en gang du lagrer — du trenger ikke logge ut og inn...
Denne releasen inneholder uvanlig mange nyheter og forbedringer — høydepunktene over er bare et utvalg. Les gjennom punktene under for full oversikt.
Nye funksjoner¶
Abonnement / Masterordre (79 endringer)
Tilbud: sendt-dato vises som standard i lista
«Sendt»-kolonnen i tilbudslista er nå synlig som standard (den var tilgjengelig fra «Kolonner» fra før). Kan fortsatt skjules per bruker via Kolonner.
Tilbuds-PDF som e-postvedlegg
Utsendte tilbuds- og purrebrev kan nå få den server-genererte tilbuds-PDF-en (dokumentmal-forside + dokumenter merket «ta med i PDF») som vedlegg. Slås på med den nye innstillingen «Legg ved tilbuds-PDF i brev» under Innstillinger → Masterordre → Pipeline-konfigurasjon (av som standard). Feiler PDF-genereringen sendes brevet uten vedlegg — utsendelsen blokkeres aldri.
Offentlig bekreftelsesside for tilbud
Aksept-lenken i tilbudsbrev kan nå peke til en offentlig bekreftelsesside der kunden ser tilbudssammendraget (tilbudsnr., linjer, gyldighet) og bekrefter med ett klikk — uten innlogging. Aktiveres ved å sette den nye innstillingen «Offentlig base-URL» under Innstillinger → Masterordre → Pipeline-konfigurasjon; uten den beholdes dagens lenkeoppførsel uendret. Ugyldige/utløpte lenker viser en nøytral feilside (ingen informasjonslekkasje).
Masterordre automatiske jobber (interne jobber i Konti Connect)
Nattlige jobber for NXT-synk, datomotor og ordreforslag kan nå settes opp som integrasjoner i ny kategori «Interne jobber», med cron-schedule, manuell kjøring, kjøringshistorikk og overvåkning. Migrasjon: 20261016900009
Masterordre auto-supportbrev og påminnelser (interne jobber)
To nye interne jobber i Konti Connect: automatisk konvertering og utsendelse av supportbrev for ordreforslag i auto-modus (kjøres på faste dager i måneden via cron), og daglig påminnelses-/oppryddingsjobb som sender purringer, utløper forfalte tilbud og rydder utløpte aksept-tokens. Migrasjon: 20261016900010
Masterordre: NXT-overføring (kø) — ny intern jobb i Konti Connect
Sjette interne jobb: drenerer køen av tilbud→NXT-salgsordreoverføringer (eldste først, avgrenset batch — MaxBatch, standard 25). Køede rader kommer fra aksept-bryteren og manuelle handlinger; overføringen er idempotent via overførings-ledgeren og styrt av funksjonsbryteren Subscription.OfferNxtTransfer.Enabled (av som standard — avslått bryter gir advarsel i kjøringsloggen, aldri feil). Anbefalt kadens: hyppig, f.eks. hvert 15.–30. minutt i arbeidstiden. Migrasjon: 20261016900011
Leverte ordrer fra NXT (live) i leveringsfrekvens-panelet
Leveringsfrekvens-fanen på masterordre-detaljpanelet og på kundekortet har fått seksjonen «Leverte ordrer fra NXT (live)»: åpner du den, hentes kundens leverte ordrer direkte fra Visma Business NXT (siste 24 måneder). Hver ordre merkes «Masterordre» (koblet til en lokal masterordre) eller «Ad-hoc», og ved svært mange ordrer vises et tydelig delresultat-varsel.
Masterordre: NXT-klassifiseringskodene på ordrehodet kan nå redigeres
«Rediger ordrehode» har fått en ny seksjon «NXT-klassifisering» med seks nedtrekksmenyer for kodene som tidligere kun kom fra NXT-import — Ordrestatus, Ordreforslag-status, Type oppfølgning, Trans.gr. 1, Tapsårsakskode og Ordreforslag-frekvenskode — fylt fra de eksisterende verdikatalogene under Innstillinger → Abonnement – feltoppsett. Lagringen går kun til ePortal (ingen skriv-tilbake til NXT); har tenanten ikke satt opp verdier for et felt ennå, skjules nedtrekket og en hjelpetekst peker til feltoppsett.
Feltoppsett: lim inn en hel verdikatalog fra Excel/NXT
Verdikatalog-fanen (Innstillinger → Masterordre – feltoppsett → Verdikataloger) har fått knappen «Lim inn fra Excel/NXT». En administrator velger feltnøkkel og limer inn en blokk med kode<TAB>navn-rader (valgfritt kode<TAB>navn<TAB>sortering) kopiert fra NXT-modellutforskeren eller et regneark. En forhåndsvisning viser hver rad som Ny/Oppdateres og flagger ugyldige rader (ikke-numerisk kode, tomt navn, duplikat kode) — ingenting lagres før du bekrefter. På bekreft opprettes nye koder og eksisterende oppdateres for den valgte feltnøkkelen. Rask måte å fylle f.eks. hele Flåte- (ActorGroup7) eller Kundestatus-listen (ActorGroup9).
Konfig-drevet klassifiseringsmapping (Kundetype/BPP-status/Flåte/Kundestatus følger felt-mappingen)
De fire omdøpbare NXT-klassifiseringsfeltene har nå en semantisk identitet i verdi-/etikett-katalogen (Kundetype/BppStatus/Fleet/CustomerStatus), og navnene på masterordre-lista og kundekortet resolves via felt-mapper-bindingen: hvilken NXT groupN-kolonne som er bundet til hvert felt bestemmer hvilken aktørkode som leses (standard group2/group3/group7/group9). Mapper en klient f.eks. Kundetype til en annen kolonne, følger visning, filter og eksport bindingen. Katalog-editoren bruker de semantiske nøklene, og eldre lagrede visninger fungerer fortsatt. Kundekortets redigerbare klassifisering er inntil videre kun aktiv under standard-bindingen — under en tilpasset feltmapping deaktiveres redigering (visningen er korrekt) til binding-styrt skriving er på plass. Migrasjon: 20261016900084
Rik tekst i dokument- og brevmaler
Overskrifter (h1–h6), fet, kursiv, understreking og lister vises nå i genererte PDF-er og utsendte brev. Flettefelt settes inn fra en gruppert meny i editoren i stedet for en lang knapperad. Merk: eksisterende dokumentmal-seksjoner (fritekst/infoboks) hvor slik formattering tidligere ble flatet ut til ren tekst, viser nå ekte overskrifter og lister — en synlig endring på dokumenter ingen har redigert. Åpner og lagrer du en seksjon i editoren på nytt, fjernes eventuell markup utenfor editorens godkjente sett (avsnitt/overskrifter/lister/fet/kursiv/understreking). Eksisterende brevtekster konverteres til HTML første gang en brevmal åpnes og lagres i den nye editoren.
Logo i genererte dokumenter
Dokumenter og forhåndsvisning viser nå virksomhetens logo, samme logo som rapportene i bankavstemming. Krever at Subscription.PublicBaseUrl er satt for kunden.
Produktpakker: sett inn en hel produktbunt fra produktsøket
Ny fane «Produktpakker» i produktsøket (masterordre og tilbud) lar deg bla i navngitte produktpakker (f.eks. «VLCC anbefalt»), se en forhåndsvisning av alle linjene og sette dem inn i ordren/tilbudet i ett klikk — med en valgfri multiplikator som skalerer alle linjenes antall likt. Distinkt fra malpakker: en produktpakke er et hode med mange linjer du aktivt velger, ikke et automatisk forslag basert på et triggerprodukt. Migrasjon: 20261016900093
Produktpakker: administrer i Innstillinger → Abonnement – feltoppsett
Ny fane «Produktpakker» lar en administrator opprette navngitte produktpakker med kategori og bygge opp linjelisten (produkt, antall, valgfri frekvens) i en egen skuff med flytt opp/ned. Slike produktpakker kan deretter settes inn som helhet fra produktsøket (se over). Krever datatilgangen «Produktpakker (abonnement)» under Innstillinger → Datatilgang → Abonnement (seedet med full tilgang for alle brukernivå). Migrasjon: 20261016900093
Akseptert tilbud oppretter nå instrumentene automatisk
Når en kunde aksepterer et tilbud som inneholder instrumenter, opprettes de i instrumentregisteret og knyttes til masterordren aksepten lager. Antallet på linja bestemmer hvor mange instrumenter som opprettes: 5 stk av ett instrument og 3 stk av et annet blir 8 rader i registeret, siden hver enhet har sitt eget serienummer og sitt eget kalibreringsløp. Hvilke produkter som regnes som instrumenter styres av produkttypen i Business NXT, og hvilke produkttyper det gjelder settes per kunde i innstillingen Subscription.InstrumentClassifications (standard 1,2,10). Én linje kan bestille inntil 999 999 999 enheter; sier linja et høyere antall, opprettes ikke ordren, på samme måte som ved et desimaltall. Antall 0 betyr at ingenting er bestilt: ordren opprettes som normalt, uten instrument. Et negativt antall er en retur — det opprettes ingen instrumenter, ordren opprettes som normalt, og står det i tillegg et serienummer på linja, settes det instrumentet til ikke aktivt med notatet «Returnert». Raden slettes aldri, så historikk, kalibreringer og sertifikat står igjen. Instrumentet finnes ved hjelp av skip + produktnummer + serienummer til sammen; treffer det ingen aktiv rad, skjer ingenting med registeret og aksepten går som normalt. Svarer ikke NXT når produktet skal slås opp — eller lar innstillingen for hvilke produkttyper som er instrumenter seg ikke lese, eller er antallet på en instrumentlinje et desimaltall — opprettes ikke masterordren i det hele tatt. Systemet vet da ikke hvor mange instrumenter ordren skal ha. Tilbudet står da igjen som akseptert uten ordre, og du bruker «Gjenåpne tilbud» i tilbudslista for å rette linja og akseptere på nytt. Feiler selve lagringen, rulles hele opprettelsen tilbake slik at du kan akseptere på nytt — ordren blir aldri stående uten instrumentene den skulle hatt. Serienummeret settes ikke ved aksept; hvert instrument får plassholderen «Missing SN» til det tastes inn — og siden en tilbudslinje ennå ikke bærer serienummer, kan retur-regelen over først utløses når automatisk henting av serienummer fra logistikk kommer. Migrasjoner: 20261016900102, 20261016900103, 20261016900105
Akseptert tilbud uten ordre kan gjenåpnes
Et tilbud kunne bli stående som akseptert uten at masterordren ble opprettet — for eksempel når Business NXT ikke svarte, eller når antallet på en instrumentlinje var et desimaltall. Linjene på et akseptert tilbud kan ikke redigeres, så det som stoppet opprettelsen kunne heller ikke rettes. Handlingsmenyen i tilbudslista har nå «Gjenåpne tilbud» på slike tilbud: tilbudet settes tilbake til kladd, linjene blir redigerbare, og du aksepterer på nytt. Valget vises kun når ordren faktisk ikke finnes — er masterordren opprettet, er tilbudet endelig som før, og «Kopier tilbud» er alternativet. Den utsendte aksept-lenken slutter å virke med én gang, og kunden varsles ikke. Gjenåpningen loggføres i sporingsloggen.
Instrument-fanen har fått samme verktøylinje som linje-fanen
«Nytt instrument» lå som en frittstående knapp over tabellen, mens «Ny linje» ligger inne i tabellens verktøylinje. Knappen er flyttet inn i verktøylinja, og fanen har fått fritekstsøk. Tabellen vises nå også når ordren ikke har instrumenter ennå, slik at knappen er tilgjengelig nettopp da.
Instrumenter kan nå registreres og redigeres direkte på masterordren
Instrumentfanen var kun lesende, så et instrument uten ordrelinje å bli opprettet fra — typisk et skip som kommer inn som kunde med utstyr det allerede eier — kunne ikke legges inn. «Nytt instrument» åpner nå en skuff der du fyller ut produktnummer (søkt opp i samme produktregister som ordrelinjene), navn, serienummer, instrumentgruppe, plassering, kjøpsdato, årsmodell, kalibreringsintervall, siste service, sertifikatutløp og notat. Skip og ordre settes automatisk fra ordren du står på. Produktnummeret kontrolleres mot produktregisteret ved lagring; er NXT utilgjengelig går lagringen bevisst gjennom. Eksisterende instrumenter redigeres med blyantikonet på raden.
Masterordre: filter-alternativer for NXT-klassifisering (API-grunnlag)
Nytt lite les-endepunkt returnerer de distinkte NXT-klassifiseringskodene (gruppe 1, gruppe 3, prisgruppe) som faktisk finnes på tenantens masterordre, sammen med tenantens egne feltnavn fra «Abonnement – feltoppsett». Grunnlaget for filter-bar-kontrollene i masterordrelista (kommer som egen leveranse); ingen ny filtreringssti — gjenbruker eksisterende FilterModel-kontrakt.
Masterordre: filtrer lista på flåte, kundetype og BPP-status
Masterordrelista har fått en egen filterknapp («Klassifisering», eller tenantens eget feltnavn) som åpner tre nedtrekk for skipets NXT-klassifisering: kundetype, BPP-status og flåte. For kundetype og BPP-status viser nedtrekkene nå klientens egne navn på formen «Navn (kode)» — hentet fra de samme verdikatalogene som masterordrelistas kolonner (Innstillinger → Masterordre – feltoppsett → Verdikataloger, feltnøkler ActorGroup1/ActorGroup3); en kode admin ennå ikke har navngitt vises som selve tallet. Flåte har ikke egen verdikatalog (eget legacy-felt) og vises som kode som før. Nedtrekkene viser kun verdiene som faktisk finnes på minst én masterordre, kan flervelges (kombineres med OG mellom feltene) og virker sammen med søk og øvrige filtre — inkludert eksport. Dekker Bruusgaard-behovet «filter etter flåte, utvalgte skip, utleie/support-type».
Tilbud og masterordre kan slettes (hard/myk med tilgangsstyring)
«Handlinger»-menyen på både tilbud (Tilbud) og masterordre (Ordre) har fått «Slett». Slettingen er hard eller myk avhengig av tilstand: et rent utkast slettes permanent (tilbud i «Utkast» uten kobling til ordre/NXT; masterordre i «Utkast»/«Importert» uten NXT-overføring), mens alt annet arkiveres (skjules fra lister, søk, datomotor og ordreforslag, men historikk og kobling beholdes). En bekreftelsesdialog forklarer hvilken variant som skjer, og handlingen vises kun for brukere med slett-tilgang (Datatilgang «CrmOffer» / «Subscription.MasterOrder» CanDelete). Migrasjon: 20261016900077
Masterordre: «Opprett ordreforslag» lager et tilbud (utkast) fra masterordrens linjer
Knappen «Opprett ordreforslag» på en masterordres detaljpanel åpner igjen dialogen der du velger linjer, justerer neste dato og antall per linje, og oppretter et ekte tilbud (utkast) i tilbudsflyten — den manuelle motparten til den automatiske fornyelsen. Enhetsprisen kopieres uendret fra masterordrelinjen (vises, men redigeres ikke). Bryteren «Oppdater datoer» (på som standard) stempler anbefalt dato = i dag på de valgte masterordrelinjene; «Vis strukturlinjer» styrer om strukturlinjer tas med, og forelder/barn-koblingene gjenskapes på tilbudet. Det opprettes samtidig et ordreforslag som lukkes som «Konvertert» mot det nye tilbudet, så forslagskøen og sporet stemmer. Etter opprettelse åpnes det nye tilbudet i «Tilbud»-listen.
NXT-klassifisering: egne navn på kodene + alle åtte grupper på kundekortet
De åtte NXT-klassifiseringsgruppene (associate group1–8) kan nå navngis per klient: en administrator legger inn kode→navn-katalogene under Innstillinger → Masterordre – feltoppsett → Verdikataloger (nøkler ActorGroup1…ActorGroup8, i tillegg til egne overskrifter for gruppe 2/4/5/6/7/8). Der kodene før viste et rått tall, vises de nå som «Navn (kode)» — på masterordrelistas gruppe 1/3-kolonner og på kundekortets «ERP-klassifisering», som nå viser alle åtte gruppene (skjuler tomme). Feltene er fortsatt skrivebeskyttet i denne versjonen (redigerbare nedtrekk kommer som egen leveranse). Prisgruppe («Flåte») er fortsatt et eget felt, ikke en av de åtte gruppene. Migrasjon: 20261016900071
Masterordre: merk rader og lag ordreforslag av valgte
Masterordrelista har fått avkrysningsbokser per rad og knappen «Lag ordreforslag av valgte (N)». Merk én eller flere masterordrer, bekreft antall og sum per valuta i dialogen, og generer ordreforslag kun for de valgte ordrene i ett kall. Etterpå vises resultatet — hvor mange som ble generert, gjenåpnet og hoppet over — med en snarvei rett til ordreforslag-køen. «Velg alle»-modus støttes ikke i denne versjonen; da er handlingen deaktivert til du merker enkeltrader.
Datomotor-regler: regelredigering i et to-panels oppsett
«Rediger regel» (Innstillinger → Masterordre → Datomotor – regler) åpnes ikke lenger i en uttrekkbar skuff, men vises direkte i høyre panel ved siden av regellisten. Venstre kolonne har versjonsvelgeren øverst og regellisten under — klikk en regel for å redigere den inline, eller bruk «Ny regel». Simulér, Godkjenn og Publisér ligger som før over regellisten, og simuleringsresultatet vises i høyre panel når ingen regel redigeres.
Datomotor-regler: trekk tilbake en publisert versjon
Den publiserte versjonen i versjonsvelgeren (Innstillinger → Masterordre → Datomotor – regler) har fått handlingen «Trekk tilbake». Trekker du den tilbake, arkiveres den og den forrige publiserte versjonen blir aktiv igjen — en rask angre-vei uten å måtte lage og publisere et nytt utkast. Handlingen vises kun når det finnes en tidligere publisert versjon å gjenopprette, og krever samme tilgang som å publisere («Regeladministrasjon (datomotor)», fail-closed). En bekreftelsesdialog forklarer konsekvensen før du bekrefter.
Datomotor-regler: strammere regelliste og «Simulér endring» i redigeringen
Regelsett-panelet (Innstillinger → Masterordre → Datomotor – regler) følger nå det godkjente designet tettere: hver regelrad har fått en av/på-bryter direkte i listen (slår regelen av/på i utkastet, også for systemregler), et kompakt trinn-merke (S1/R1 …), regelnavnet og en «…»-meny (rediger, dupliser, slett, flytt opp/ned). «Regelsett»-panelet viser scope, status og versjon i toppen med Simulér og Publisér der. I redigeringen ligger «Simulér endring» i bunnen — den lagrer endringen og kjører simuleringen i ett steg — og simuleringsresultatet vises som et kompakt sammendrag med «Se full diff» for hele diff-tabellen.
Datomotor-regler: systemreglene er nå fullt redigerbare
Systemreglene i datomotoren (N1/S1/S4/S5/R3 — normalisering, manuell overstyring, ingen årsak, gjennomgangs-gap og gruppesynk) var tidligere låst. De kan nå redigeres på lik linje med andre regler: betingelser, parametere, av/på-bryter, rekkefølge, sletting og valg av handling fra det godkjente arketyp-settet. Redigereren viser en tydelig (lukkbar) advarsel om at dette er strukturell sikkerhet og at endringer kan påvirke datoberegninger for hele porteføljen — simulér nøye før publisering. Sikkerhetsnettene er beholdt: handlinger velges fortsatt kun fra det testede arketyp-settet (ingen fri datomatte), ingen endring trer i kraft før den er simulert og publisert, tilgangen er fail-closed («Regeladministrasjon (datomotor)»), og uendrede regelsett gir identiske datoer som før (golden parity). Merk: for de fleste systemregler håndhever motoren fortsatt vilkåret innebygd — kun gruppesynk-vinduet (R3) tas i bruk av motoren i dag; øvrige endringer lagres og vises i simuleringen.
Datomotor: S1 (manuell overstyring) håndheves nå av regelen — av/på og vilkår
Systemregelen S1 (manuell overstyring) var tidligere hardkodet i datomotoren: en manuelt overstyrt linje ble alltid ekskludert fra automatisk beregning, uansett hva regelraden sa. Motoren leser nå S1-regelen: slår du S1 av, beregnes manuelt overstyrte linjer på vanlig måte igjen; avgrenser du S1 med et vilkår (f.eks. bare utleielinjer), ekskluderes kun de linjene som matcher. Uendret S1 (aktiv, uten vilkår) gir nøyaktig samme resultat som før (golden parity), og alle endringer går fortsatt gjennom simulér-før-publisér. Dette er første steg i å gjøre systemreglene motor-styrte; N1/S4/S5 håndheves fortsatt innebygd (kun R3-vinduet var motor-styrt fra før).
Datomotor: S4 (ingen årsak) styrer nå kun forklaringen — «ingen årsak, ingen fremrykking» er et ufravikelig gulv
Systemregelen S4 («ingen kausal fakta — tid alene flytter aldri en dato») er nå regel-styrt for presentasjonen: en aktiv S4 med vilkår avgjør hvilken regelkode/forklaring linjen får i datoendringsloggen. Selve sikkerhetsgulvet er derimot eid av motoren og kan ikke skrus av: en linje uten kausal fakta beholder alltid datoen (uendret, ingen ny dato) selv om du slår S4 av eller avgrenser den bort — kun sporteksten blir nøytral. En uendret S4 (aktiv, uten vilkår) gir nøyaktig samme resultat som før (golden parity). I tillegg avvises det nå ved lagring/publisering å bytte S4 til en dato-flyttende handling — en årsaksløs linje kan aldri rykkes frem. N1/S5 håndheves fortsatt innebygd.
Datomotor: N1 (normaliser tapt tilbud) håndheves nå av regelen — av/på og vilkår
Systemregelen N1 avgjør om et «tapt tilbud uten oppfølging» skal behandles som en fullført ordre (og dermed rykke frem datoen) når det finnes en reell, fullført levering. Regelen var tidligere hardkodet; motoren leser den nå: slår du N1 av, normaliseres ikke slike linjer lenger — de blir stående uendret på tapt-tilbud-stien (ingen fremrykking); avgrenser du N1 med et vilkår, normaliseres kun de linjene som matcher. Selve normaliserings-effekten (å åpne for datofremrykking) eies fortsatt av motoren — N1 er et forhåndsflagg, ikke en egen datohandling, og kan ikke byttes til en annen arketype. Uendret N1 (aktiv, uten vilkår) gir nøyaktig samme resultat som før (golden parity), og alt går gjennom simulér-før-publisér. Betingelsesbyggeren har samtidig fått operatoren «har en verdi» (isNotNull) for felt som kan mangle verdi (f.eks. bekreftet leveringsdato), slik at «leveringsdato finnes» kan uttrykkes direkte. S5 håndheves fortsatt innebygd.
Datomotor: S5 (gjennomgangs-gap) styrer nå om gapet flagges — av/på og vilkår
Systemregelen S5 flagger en linje for gjennomgang når planlagt dato ligger foran den beregnede planen uten at et tilbud/støttebrev forklarer gapet (og datoen flyttes aldri bakover). Regelen var tidligere hardkodet; motoren leser den nå: slår du S5 av, flagges ikke slike linjer lenger — de blir stående uendret (samme «flytt aldri bakover», bare uten gjennomgangs-flagget); avgrenser du S5 med et vilkår, flagges kun de linjene som matcher. Selve utløseren (at datoen ligger foran den beregnede planen) og «flytt aldri bakover»-matematikken eies fortsatt av motoren — S5 er vevd sammen med R1-beregningen og kan verken skilles ut som egen regel eller byttes til en annen arketype; du kan bare slå den av eller avgrense den på tilgjengelige felt. Uendret S5 (aktiv, uten vilkår) gir nøyaktig samme resultat som før (golden parity), og alt går gjennom simulér-før-publisér. Med dette er alle systemreglene unntatt R3 (utover gruppesynk-vinduet) motor-styrte.
Datomotor: R3 (gruppesynk) styrer nå av/på og hvilke linjer som synkroniseres — per medlem
Systemregelen R3 samordner linjene i samme transaksjonsgruppe til én felles leveringsdato (den høyeste innen synk-vinduet), og trekker med årsaksløse søskenlinjer forover. Fra før var kun gruppesynk-vinduet motor-styrt; nå leser motoren også R3-regelens av/på-bryter og vilkår: slår du R3 av, hoppes hele gruppesynk-steget over — hver linje beholder sin egen dato (ingen samordning); avgrenser du R3 med et vilkår, avgjør det per linje om linjen deltar i gruppesynken — og et medlem som ikke matcher verken driver gruppedatoen (regnes ikke med når den høyeste datoen finnes) eller trekkes med som søsken (det beholder sin egen linjedato). Selve gruppe-aggregeringen (høyeste/laveste dato innen vinduet) og vindus-parameteren eies fortsatt av motoren — vilkåret kan bare avgrense hvilke medlemmer som er med, ikke endre selve samordnings-matematikken. Uendret R3 (aktiv, uten vilkår) gir nøyaktig samme resultat som før (golden parity), og alt går gjennom simulér-før-publisér. Med dette er alle fem systemreglene (S1/S4/N1/S5/R3) motor-styrte.
Masterordre: brevmaler kan redigeres og forhåndsvises i Innstillinger
Ny side Innstillinger → Masterordre → Brevmaler lar en administrator redigere brevmalene for tilbud, purringer, ordreforslag og støttebrev: navn, emne og brødtekst (ren tekst, ikke visuell editor), sette inn flettefelt som {{Felt}} med ett klikk, og forhåndsvise mot eksempeldata eller et valgt tilbud med inline-validering av ukjente (feil) og tomme (advarsel) flettefelt. Én mal per brevtype kan settes aktiv. Siden krever datatilgangen «Brevmaler (abonnement)» (Se for å lese/forhåndsvise, Endre for å lagre/aktivere) og er fail-closed — uten lesetilgang vises verken menypunktet eller siden.
Masterordre: dokumentmaler kan settes sammen og forhåndsvises live i Innstillinger
Ny side Innstillinger → Masterordre → Dokumentmaler lar en administrator/konsulent sette sammen dokumentmaler for tilbud, masterordre og støttebrev fra et seksjonsbibliotek (toppfelt, nøkkel/verdi-boks, fritekst, linjetabell med gruppering/delsum/totalsum, infoboks, sum), sette en stilprofil (farger, skrifttype, tetthet, toppfelt-stil) og se en live PDF-forhåndsvisning med eksempeldata mens malen redigeres. Forhåndsvisningen rendres server-side av den SAMME PDF-motoren som brukes for de ferdige dokumentene (ingen egen «forenklet» forhåndsvisning), slik at det man ser under redigering er identisk med sluttresultatet; forhåndsvisningen sender kun malstrukturen til serveren — eksempeldataene bygges alltid server-side. Validering flagger ukjente flettefelt, ugyldige kolonner/grupperingsfelt og strukturfeil før lagring (og før forhåndsvisning rendres). Malen kan lagres, settes aktiv (én aktiv mal per dokumenttype og språk) og kopieres til et nytt utkast. Ingen eksisterende dokument (tilbuds-PDF, masterordre) bruker disse malene ennå — det er en senere leveranse. Siden krever datatilgangen «Dokumentmaler (abonnement)» (Se for å lese/forhåndsvise/validere, Opprett for nye/kopi, Endre for å lagre/aktivere).
Masterordre: dokumentmalene har nå ferdigdefinerte standardmaler
Dokumentmal-lageret for tilbud, masterordre og støttebrev (Innstillinger → Masterordre → Dokumentmaler) har fått én aktiv standardmal per dokumenttype rett etter oppgradering — en tenant som ikke har laget sin egen mal ser nå likevel en ferdig oppsatt mal i stedet for en tom liste. Nye kunder får de samme standardmalene automatisk ved opprettelse. Er en kunde pinnet til en egen mal på kundekortet og den malen senere blir erstattet av en nyere aktiv versjon, faller kunden nå automatisk tilbake på tenantens aktive mal i stedet for å bli sittende fast på den utdaterte pinnede malen. Migrasjon: 20261016900075
Masterordre: send tilbud/ordre automatisk som PDF-vedlegg via workflow
Ny workflow-handling «Generer dokument og send e-post» kan legges til på en Tilbud- eller Masterordre-workflow: når handlingen kjører genereres dokumentet fra entitetens aktive dokumentmal (samme motor som forhåndsvisningen i Innstillinger → Masterordre → Dokumentmaler) og sendes som PDF-vedlegg til ansvarlig bruker, selger eller en fast e-postadresse. Mangler dokumenttypen en aktiv mal, eller er malens innhold skadet (ugyldig JSON), feiler handlingen synlig i workflow-kjøringsloggen i stedet for å sende et tomt dokument. Støttebrev er ikke støttet ennå (kommer som egen leveranse).
Masterordre: pipeline-konfigurasjon i Innstillinger
Ny side Innstillinger → Masterordre → Pipeline-konfigurasjon lar en administrator styre den automatiske ordreforslag- og brevutsendings-pipelinen: standard automatiseringsnivå, planleggingshorisont, batch-grenser for tilbuds- og purrebrev, dager før purring, BCC-arkivadresse, testmodus med testadresse og aksept-lenke med gyldighet. Verdiene lagres per klient i systemkonfigurasjonen (ingen migrasjon), valideres inline (positive heltall, gyldige e-postadresser, fornuftig horisont) og trer i kraft ved neste pipeline-kjøring. Siden krever datatilgangen «Abonnement – konfigurasjon» (Se for å lese, Endre for å lagre) og er fail-closed.
Masterordre og tilbud: tydelig ansvar og neste handling i listene
Masterordrelisten viser nå ansvarlig som standard og kan utvides med selger og øvrige ordrehodefelt via Kolonner. Oppfølgingsmerket bruker datomotorens neste dato og ordrens varslingstid, uten en fast UI-regel. Tilbudslisten viser neste gyldige livsløpshandling og har flere valgfrie hodekolonner; produkt og handlinger forblir synlige ved horisontal scrolling i tilbudslinjene.
Tilbudsliste: kolonnefilter og sortering på alle relevante kolonner (server-side)
Tilbudslista har nå server-side kolonnefilter og sortering på alle relevante kolonner — tilbudsnr., kunde, kundenr., masterordrenr., NXT-salgsordrenr., kilde, tapsårsak, datoene (levering/utløp/sendt/utfall/opprettet/siste purring), samt beløp, valuta og antall purringer. Filter og sortering kjører mot hele det filtrerte settet på serveren (samme paritet som masterordre-lista), så tellebadgen og sum-per-valuta følger filteret. Type og Status filtreres fortsatt som egne fasetter, og fritekstsøk på tilbudsnr./kunde gjøres i søkefeltet øverst.
Tilbud: rediger tilbudshodet (ansvarlig, selger, valuta, notat, ansvarsenheter)
Tilbudsdetaljen har fått handlingen «Rediger tilbudshode» i handlingsmenyen (vises når du har redigeringstilgang til tilbud) som åpner en skuff der du setter ansvarlig og selger, tilbudshodets valuta, et fritekstnotat og ansvarsenhetene (R1–R12) — speiler ordrehodet på en masterordre. Tilbudshodet kan redigeres uansett status. Valuta på tilbudshodet endrer ikke valuta på eksisterende tilbudslinjer (den er tilbudshodets standard). Notatet vises i tilbudshodet når det er satt. Migrasjon: 20261016900078
Tilbud: kopi tar med tilbudshodefeltene (ansvarlig, selger, valuta, notat)
Når du kopierer et tilbud, videreføres nå ansvarlig, selger, tilbudshodets valuta og fritekstnotatet fra det opprinnelige tilbudet, i stedet for å nullstilles på kopien. Dette gir samme oppførsel som kopiering av en masterordre (ordrehodet), der samme kommersielle ansvar og notatkontekst allerede følger med.
Masterordre kan opprettes på nytt fra et akseptert tilbud
Ved aksept av et tilbud om nytt abonnement velger saksbehandleren om masterordren skal opprettes med én gang. Et akseptert tilbud har også handlingen «Generer masterordre» for senere forsøk. Hvis det allerede finnes masterordrer med tilbudet som opprinnelse, vises en advarsel, men brukeren kan bekrefte og opprette enda en. Migrasjon: 20261016900037
Masterordre kan opprettes manuelt
«Ny masterordre»-knappen i masterordre-listen er nå aktiv og åpner et lite skjema der du oppretter et tomt ordreutkast (velg kunde/skip når CRM er aktivt, ellers kundenavn/-nummer, samt valuta). Ordren får et lokalt utkastnummer og åpnes rett i detaljvisningen, klar for at du legger til linjer inline og aktiverer den på vanlig måte (aktiveringskravene er uendret).
Masterordre: malpakke-søket er gruppert på instrument (trigger)
«Pakker»-fanen i produktsøket viser nå malpakkene gruppert på triggerproduktet (instrumentet), med forbruksproduktene under, i stedet for en flat produktnr.-liste. Søker du et instrument (f.eks. AKAL6000) vises kun den gruppen med alle sine forbruksprodukter, og «Legg til alle (N)» på en instrument-overskrift legger alle forbrukslinjene for det instrumentet inn i én forhåndsvisning samtidig — enkeltklikk på ett forbruksprodukt fungerer som før.
Malpakke «Legg til alle» setter nå også inn instrumentet selv
«Legg til alle (N)» på en instrument-overskrift i «Pakker»-fanen (produktsøket på masterordre og tilbud) setter nå inn selve instrumentproduktet (f.eks. AKAL6000) som en egen, forhåndsavkrysset linje merket «Instrument» — i tillegg til forbrukslinjene som før. Instrumentlinjen kan overstyres i antall eller fjernes før innsetting, og settes alltid inn som en engangslinje uten frekvensmodus: på en masterordre med frekvens 0 (ekskludert fra automatiske ordreforslag), på et tilbud uten frekvens (null). Grupper uten trigger («Uten trigger») og enkeltvalg av ett forbruksprodukt er uendret.
Masterordre: ny «Ordrer»-fane med NXT-overføringer
Detaljpanelet på masterordre har fått en «Ordrer»-fane som lister overføringene til NXT (NXT-ordrenr., selskapsnr., dato og hvem som overførte). Handlingen «Overfør til NXT» (i handlingsmenyen og i fanen) registrerer en overføring — en masterordre kan overføres flere ganger og få flere ordrenummer. Tom fane viser «Ingen overføringer ennå». Migrasjon: 20261016900046
Masterordre: ny «Korrespondanse»-fane
Detaljpanelet på masterordre har fått en Korrespondanse-fane som viser skipsaktørens CRM-korrespondanse (e-poster loggført via CRM eller Outlook-tillegget, telefonnotater m.m.) med typeikon, emne, dato, retning og kontaktperson — klikk på en rad åpner korrespondansedetaljen i CRM i ny fane. Korrespondansen er knyttet til kundens aktør (samme feed på tvers av skipets løpende ordrer), og fanen vises kun for brukere med både CRM- og abonnementsmodulen.
Masterordre-linjer: sortering og avansert filter i linjetabellen
Ordrelinjene på en masterordre kan nå sorteres ved å klikke på kolonneoverskriftene (produkt, beskrivelse, gruppe, frekvens, antall, pris, rabatt, beløp, datoer m.m.), og linjetabellen har fått «Avansert filter»-knappen som oversiktslista allerede hadde. Standardrekkefølgen beholdes til du selv velger en sortering; velger du en sortering, ordnes linjene innenfor hver instrumentgruppe.
Masterordre-linjer: rabatt i kroner (enten % eller kr)
Ordrelinjene på en masterordre har fått en «Rabatt kr»-kolonne ved siden av «Rabatt %». En linje bruker enten prosent eller kronebeløp, aldri begge: skriver du inn et kronebeløp nullstilles prosenten (og omvendt). Linjebeløpet og alle verdiberegningene på ordren — årsverdi, «Verdi i år» og de neste årene, og valuta-summene i bunnraden — trekker nå fra rabatten likt uansett form (kronebeløp går foran prosent). Merk at årsverdien nå gjenspeiler linjerabatten på samme måte som kalenderår-verdiene. Migrasjon: 20261016900048
Datomotor: regeladministrasjon i Innstillinger (les og rediger regelsett)
Ny side Innstillinger → Masterordre → Datomotor – regler viser regelsettene datomotoren bygger på: publisert versjon (låst), utkast og arkiverte versjoner. Hver regel vises som en lesbar «Når … Så …»-setning — ingen rå JSON. Du kan lage et utkast fra den publiserte versjonen, redigere regelnavn, aktiv/inaktiv og parametere, og lagre med server-side validering. Innstillinger har fått en ny Masterordre-seksjon, der «Abonnement – feltoppsett» også er flyttet inn (den lå feilplassert under «Brukere og tilgang»). Siden krever datatilgangen «Regeladministrasjon (datomotor)», som er fail-closed — uten den vises verken menypunktet eller siden. Du kan simulere et utkast mot den publiserte versjonen (ser hvor mange linjer som får endret dato, nye avvik eller stoppes, med de berørte linjene listet — ingen linje endres), godkjenne resultatet, og publisere. Publiser-knappen er kun aktiv med en godkjent simulering av utkastet slik det står; endrer du utkastet, faller godkjenningen bort og du må simulere på nytt. Hver berørt linje i simuleringen kan utvides for å se den kuraterte per-linje-forklaringen. I denne versjonen er det kun tre parametere (blokkering ved aktivt tilbud, grense for gammelt støttebrev, vindu for gruppesynkronisering) som påvirker beregningen; øvrige regler er beskrivende og merkes eksplisitt i grensesnittet.
Datomotor: redigerbar betingelsesbygger for regler
Regelredigeringen (Innstillinger → Masterordre → Datomotor – regler) har fått en veiledet, redigerbar betingelsesbygger i stedet for den låste visningen: bygg betingelser som felt → operator → verdi-rader, der verdifeltet automatisk får riktig type (dato, tall, ja/nei, valg, frekvens), grupper dem som ALLE av (OG) eller ENHVER av (ELLER) og nest grupper. Forhåndsvisningen «Når … Så …» oppdateres mens du redigerer. Handlingen velges fra et sett trygge, testede arketyper; systemregler er låst (skrivebeskyttet med «systemregel»-merke) og kan ikke betinges eller endres, mens innebygde regler bare kan avgrenses (betingelsene kombineres med regelens innebygde vilkår og kan aldri utvide den). Kun brukere med «Regeladministrasjon (datomotor)» (fail-closed) kan åpne redigeringen.
Datomotor: legg til, dupliser, slett og sorter regler i regellisten
Regellisten (Innstillinger → Masterordre → Datomotor – regler) lar deg nå administrere reglene i et utkast. Ny regel oppretter en egendefinert regel fra en trygg mal (stopp/flagg for gjennomgang) og åpner den veiledede betingelsesbyggeren. Dupliser lager en redigerbar kopi av en egendefinert regel. Slett fjerner egendefinerte regler — systemregler og innebygde regler kan ikke slettes, og handlingen er da skjult. Du kan flytte en regel opp/ned for å endre prioritet innenfor samme trinn. Hver regel viser et merke for hva du kan gjøre med den: «Systemregel» (låst), «Innebygd» (kan bare avgrenses) eller «Egendefinert» (full redigering). Datoflytting eies alltid av datomotoren og kan ikke opprettes som ny regel. Endringer i utkastet krever som før en godkjent simulering før publisering, og alt ligger bak den fail-closed datatilgangen «Regeladministrasjon (datomotor)».
Datomotor: «Marker avvik» kan nå opprettes som egendefinert regel
«Ny regel» i regellisten (Innstillinger → Masterordre → Datomotor – regler) tilbyr nå «Marker avvik»-arketypen i tillegg til «Stopp for gjennomgang», slik at du kan opprette en egendefinert avviksregel med eget vurderingsvalg og full betingelsesbygger. En slik egendefinert regel er redigerbar og kan slettes, mens datomotorens innebygde avviksregler (R5/R6) fortsatt er låst og ikke kan slettes. Dette retter en tidligere feil der en nyopprettet «Marker avvik»-regel arvet den innebygde regelkoden og dermed ble stående som ikke-slettbar («kunne legges til, men ikke fjernes»).
Masterordre: «Hvorfor endret datoen seg?» på linja
Hver linje på Linjer-fanen har fått en info-knapp som åpner en tidslinje med kuraterte forklaringer fra datomotoren: for hver kjøring vises regelen som traff, utfallet, dato-bevegelsen (forrige → foreslått), faktaene beslutningen bygde på, og begrunnelsen. Skrivebeskyttet — ingenting beregnes på nytt. Knappen vises kun for brukere med datatilgangen «Datoendringslogg»; lenken videre til regelsett-versjonen kun med «Regeladministrasjon (datomotor)».
Masterordre: «Bruk beregnede datoer» på en ordre
Masterordrens Handlinger-meny har fått «Bruk beregnede datoer»: en operatørhandling som skriver datomotorens beregnede leveringsdatoer på ordren for dagens dato. Handlingen åpner en bekreftelsesdialog som først viser en skrivebeskyttet forhåndsvisning av linjene som får ny dato (fra → til med begrunnelse) — er det ingenting å endre, sier dialogen det og bekreft-knappen forblir inaktiv. «Bruk datoene» skriver, viser antall oppdaterte linjer og oppdaterer ordren. Datoen kan ikke velges av operatøren (server-satt), og handlingen skriver ingenting til NXT. Migrasjon: 20261016900064
Masterordre: «Bruk beregnede datoer» må aktiveres per rolle (fail-closed)
Den nye operatørhandlingen «Bruk beregnede datoer» styres av en egen datatilgang «Bruk beregnede datoer (datomotor)» (Subscription.ScheduleApply), atskilt fra «Regeladministrasjon (datomotor)». Den er fail-closed — ingen har den som standard. Skru den på per rolle under Innstillinger → Datatilgang → Abonnement: Se-tilgang viser handlingen og forhåndsvisningen, Opprett-tilgang kreves for å faktisk bruke (skrive) datoene. Uten Se-tilgang vises ikke handlingen; API-et håndhever begge nivåene uavhengig av grensesnittet. Migrasjon: 20261016900064
Tilbud som PDF
Last ned et formatert tilbud (PDF) fra tilbudsdetaljene; dokumenter merket «Ta med i kunde-PDF» inkluderes (PDF-vedlegg flettes inn, øvrige listes).
Tilbud-PDF genereres nå fullstendig server-side
Nedlasting av tilbuds-PDF (fra tilbudslisten og tilbudsdetaljene) rendres nå helt server-side — samme dokumentmotor som forhåndsvisningen i dokumentmalbyggeren setter sammen coveret og fletter inn PDF-vedlegg merket «Ta med i kunde-PDF» — i stedet for i nettleseren. Sluttresultatet (innhold og filnavn) er uendret for brukeren. Samtidig sender workflow-handlingen «Generer og send dokument» nå den SAMME sammensatte PDF-en (cover + vedlegg) for tilbud, ikke bare coveret som før — et automatisk utsendt tilbud får dermed samme vedleggsappendiks som en manuell nedlasting.
Supportbrev rendres nå med supportbrev-malen (ikke tilbudsmalen)
Et tilbud som er produsert fra en masterordre (supportbrev) rendres nå automatisk med supportbrev-dokumentmalen i stedet for tilbudsmalen — på både manuell PDF-nedlasting og automatisk utsending via workflow-handlingen «Generer og send dokument». Tilbudsdataene (kunde, linjer, summer, masterordrenummer) er uendret; kun malvalget er annerledes. Standard supportbrev-mal er samtidig rettet: avslutningsteksten refererte et flettefelt (selger) som aldri fylles ut for et tilbud og kunne vises som en ufylt plassholder — teksten er nå forenklet. Et frittstående (manuelt opprettet) tilbud er upåvirket og bruker fortsatt tilbudsmalen som før. Migrasjon: 20261016900076
Leveringsadresse på masterordre
«Rediger ordrehode» har nå en leveringsadresse-velger: hent fra kundekortet, skriv en annen adresse, eller lagre samtidig på kundekortet; server-validert mot ordrens aktør. Migrasjon: 20261016900054
Leveringsadresse på tilbud
Sett/rediger leveringsadresse på et tilbud (fra kundekortet eller en annen adresse, med «Lagre også på kundekortet»); produserte fornyelsestilbud arver masterordrens adresse.
Leveringsadresse følger tilbud til ordre
Når et tilbud blir til en masterordre (aksept eller «Konverter til ordre»), kopieres tilbudets frosne leveringsadresse over på den nye ordren.
Leveringsadresse: 4. adresselinje og kontakt-/referanseinstruks lagres nå
Leveringsadresse-velgeren på masterordre og tilbud støtter en 4. adresselinje samt kontaktperson, kontakt-telefon, kontakt-e-post, merknad, tre valgfrie ekstra-info-felt, referansenummer, deres ref og PO-nummer. Alle disse feltene forhåndsfylles fra kundekortets adresse, kan overstyres for den enkelte ordren, og lagres på kundekortet når «Lagre også på kundekortet» er på — akkurat som selve adressen. Verdiene følger med når et tilbud blir til en masterordre eller et fornyelsestilbud produseres fra en løpende ordre. Migrasjon: 20261016900061
Tilbud: kopier et tilbud til nytt utkast
Tilbudsdetaljene har fått handlingen «Kopier tilbud» i Handlinger-menyen: oppretter en ny tilbudskopi med eget tilbudsnr. og status Utkast, linjer og kommersielle felter videreført, mens sendt-/aksept-/NXT-status nullstilles. Kopien får et «Kopiert fra #20261016900060
Masterordre: kopier en ordre til nytt utkast
Masterordre-listens Handlinger-meny har fått «Kopier masterordre»: oppretter en ny utkastordre med eget ordrenummer, aktive linjer videreført med ferske linje-id-er, mens NXT-overføring, importstatus og oppfølgingsflagg nullstilles. Kopien får et «Kopiert fra #20261016900060
Leveringsadresse: verdensomspennende adressesøk (Google)
Når «Bruk annen adresse» er valgt på leveringsadressen (masterordre og tilbud), kan du nå søke på en adresse, et sted eller et firmanavn hvor som helst i verden øverst i skjemaet — feltene under (navn, adresselinje 1–2, postnummer, poststed, land) fylles ut automatisk fra treffet, og du kan alltid redigere dem manuelt etterpå. Søket er tilgjengelig når en administrator har aktivert Google-adressesøk for tenanten (avslått som standard).
Kopiering krever både se- og opprett-tilgang
«Kopier tilbud» og «Kopier masterordre» krever nå at brukeren har BÅDE se- (CanView) og opprett-tilgang (CanCreate) på objekttypen (Datatilgang: CrmOffer / Subscription.MasterOrder). Kopi-knappen skjules når tilgangen mangler, og serveren avviser å kopiere en kilde brukeren ikke har lesetilgang til — slik at opprett-tilgang alene ikke kan brukes til å hente ut en usett kilde via kopi.
Kopiering kan bytte kunde
«Kopier tilbud» og «Kopier masterordre» åpner nå en dialog der du velger kunden for kopien, forhåndsutfylt med den opprinnelige kunden. Leveringsadressen følger aldri med til kopien, uansett om du beholder samme kunde eller velger en annen — en kopi skal alltid ha en tom leveringsadresse så den ikke ved en feil sender til en gammel mottaker. Velger du en annen kunde nullstilles i tillegg koblingen til salgsmulighet, siden en salgsmulighet er kundespesifikk. Nyttig når kopien i praksis skal gå til en annen kunde enn originalen.
Tilbud: malpakker kan settes inn fra produktsøket
«Pakker»-fanen i produktsøket, som tidligere kun fantes på masterordre, er nå også tilgjengelig når produktsøket åpnes fra et tilbudsutkast. Samme forhåndsvisning (avkryssing per rad, beregnet antall og frekvens) og samme transaksjonelle innsetting med dobbeltklikk-/retry-vern som på masterordren; kun tilgjengelig mens tilbudet er Utkast.
Masterordre: leveringsfrekvens- og konsolideringsinnsikt
Ny skrivebeskyttet analyse som anslår antall leveringer per år for en masterordre eller et skip, viser mulig færre leveringsdatoer per år (konsolideringskandidater) og en 12-måneders leveringstidslinje (planlagt vs. faktisk). Innsikten vises som egen «Leveringsfrekvens»-fane på masterordren, en fane på kundekortet (skip), og en egen porteføljerapport per skip rangert etter mulig reduksjon. Tallene er beskrivende — rute- og havnegjennomførbarhet vurderes manuelt (ingen «garantert besparelse»). Alle flatene er gated på Subscription.MasterOrder (samme tilgang som masterordre-lesing).
Masterordre: leveringsdashbord (widget)
Nytt widget-basert leveringsdashbord (Abonnement → Leveringsdashbord) som gjenbruker forsidens tilpassbare widget-vert på en egen masterordre-flate. Første widget «Leveringsfrekvens» viser porteføljens nøkkeltall (skip, mulig færre leveringsdatoer/år, anslåtte leveringer/år) og skipene med størst konsolideringspotensial, med lenke til den fullstendige porteføljerapporten. Dashbordet kan tilpasses per bruker og standardsettes av administrator. Både widgeten og dataene er gated på Subscription.MasterOrder — uten «Kan se» er dashbordet tomt. Tallene er beskrivende; rute-/havnegjennomførbarhet vurderes manuelt.
Fornyelsestilbud fra ordreforslag arver linjerabatten og bruker planleggingshorisonten
Når et ordreforslag konverteres til et fornyelsestilbud, kopieres nå masterordrelinjens rabatt (enten % eller kroner) over på tilbudslinjen, slik at tilbudsbeløpet gjenspeiler kundens gjeldende rabatt i stedet for å nullstille den. Hvilke linjer som tas med styres nå av samme konfigurerbare planleggingshorisont (Subscription.DefaultPlanningHorizonMonths) som ordreforslag-genereringen bruker, i stedet for en fast 12-måneders grense — forfalte linjer er fortsatt med. Samtidige konverteringer av samme forslag er gjort trygge (applock) så det aldri oppstår dublett-tilbud.
Ordreforslag: selgerdashbord med gruppering, filter og forhåndsvisning
Ordreforslag-køen viser nå radene gruppert per forvaltning som standard (kan utvides til forvaltning + kunde/skip), har fått en filterbar (status, forvaltning, gruppenøkkel, generert-periode) og et horisont-hurtigfilter («forfaller innen 30/60/90 dager») basert på neste dekkede leveringsdato. Øye-knappen på en rad åpner en forhåndsvisning med forslagets dekkede ordrelinjer og sum per valuta før du beslutter.
Ordreforslag: merk flere og opprett tilbud med ett klikk
Hver rad i ordreforslag-køen har fått en avkrysningsboks. «Godkjenn valgte (N)» godkjenner alle merkede forslag i ett kall (samme godkjenning som enkelt-knappen). «Opprett tilbud (N)» viser først en bekreftelsesdialog med antall og sum per valuta, og oppretter deretter ett tilbud per merket forslag — en re-kjøring på et allerede konvertert forslag lager aldri et duplikat-tilbud. Begge handlingene viser en oppsummering (antall utført/hoppet over/ikke funnet) og har samme tilgangskrav som enkelt-godkjenning. Den gamle «Opprett ordreforslag»-dialogen på masterordren (som ikke lagret noe) er fjernet og erstattet med en «Vis ordreforslag»-knapp som tar deg til den nye ordreforslag-køen.
Masterordre: valuta fra NXT på ordre og linjer (ISO-kode)
Importen henter nå valutaen fra Business NXT på både ordrehodet og hver linje (Vismas valutanummer slås opp til ISO-kode via NXT-valutatabellen), og enrich-nxt backfyller de allerede importerte ordrene (kun blanke felter). Ordrelinje-griden har fått en Valuta-kolonne, og beløpene (enhetspris, beløp, årsverdi) vises med riktig valuta — «kr» er ikke lenger hardkodet; ukjent valuta vises som rent tall.
Masterordre: ordreforslag-dialogen fungerer på mindre skjermer
Dialogen har nå fast høyde innenfor skjermen, internt scrollområde med fast kolonneoverskrift og alltid synlige innstillinger og handlingsknapper. Den har produktsøk, «velg alle synlige», gruppering på instrumentgruppe, valgt-antall og totalsum per valuta. Alle linjer med neste dato innen «Produkter til» merkes automatisk. Linjer som forfaller innen ytterligere to måneder, markeres med gul varselstrek og gul datofeltramme uten å bli automatisk valgt; «Legg til foreslåtte» velger alle i én handling. Neste dato fylles fra ordrelinjen, og dato og antall kan redigeres direkte; redigering velger linjen automatisk. Begge innstillingene ligger som brytere øverst, og den overflødige handlingen «Opprett enkelt tilbud» er fjernet.
Masterordre: tydeligere og mer kompakt ordrehode
Ordrenummer og skipsnavn vises nå som én likeverdig identitet. Årsverdiene er samlet i fire lesbare årskolonner, neste planlagte dato og sist evaluert er gruppert under Planlegging, og ordredato/opprettet/sist endret står samlet uten en overflødig gruppeoverskrift. «Masterordre-status» er forkortet til «Ordrestatus», og linjeantallet er fjernet fra ordrehodet fordi det allerede vises på Linjer-fanen.
Produktpakker: strukturprodukter tar med seg strukturen sin
Legger du en produktpakke inn på en masterordre eller et tilbud, og en av pakkelinjene peker på et strukturprodukt, opprettes nå hodelinjen sammen med alle strukturens medlemslinjer (hentet fra Business NXT ved innsetting, så innholdet alltid er dagens struktur). Tidligere ble strukturen stille utelatt — hodet ble lagt inn som en enkeltlinje uten medlemmer og uten feilmelding. Kan ikke strukturen hentes (strukturen er tom), eller er produktregisteret i NXT utilgjengelig slik at vi ikke kan avgjøre om produktet er et strukturprodukt, avvises hele innsettingen med en melding — ingen linjer legges inn halvveis. Er NXT nede vil altså innsetting fra produktpakke bli avvist inntil forbindelsen er tilbake; et produkt som er slettet eller omdøpt i NXT (registeret svarer, men kjenner ikke produktnummeret) legges fortsatt inn som en vanlig linje. Malpakker utvider ikke strukturer: peker en malpakke på et strukturprodukt, avvises innsettingen med en melding om å legge strukturproduktet inn som egen linje via produktsøket.
CRM (42 endringer)
Dra-og-slipp på møteagendaen
Agendapunkter kan omorganiseres ved å dra i håndtaket; rekkefølgen lagres umiddelbart. Feltet «Rekkefølge» fungerer fortsatt som presisjonsjustering.
Forslag går tilbake til forslagskassen ved sletting
Sletter du et agendapunkt som er hentet fra køen (forslagskassen eller HMS-rapport), legges forslaget tilbake i køen i stedet for å bli slettet permanent. Permanent avvisning gjøres i forslagskasse-administrasjonen.
Dokumenter på agendapunkter
Hvert agendapunkt i et møte kan nå ha egne dokumenter (opplasting og dra-og-slipp i punktets utvidede visning). Dokumentene følger punktet, også når et forslag legges tilbake i køen.
Tilbudshode: nye klassifiseringsfelt
Tilbud har nå de samme seks nedtrekksfeltene som masterordren (Ordrestatus, Ordreforslag-status, Type oppfølgning, Trans.gr. 1, Tapsårsakskode, Ordreforslag-frekvenskode) i «Rediger tilbudshode». Verdiene er tilbudets egne og overføres aldri til/fra masterordren. Migrasjon: 20261016900113
CRM: Kundepuls — helsemerke på kunder
Kundelisten har fått en ny Kundepuls-kolonne, og samme merke vises i kundekort-headeren: et fargemerke (grønn/gul/rød) som med én gang forteller om kunden er Frisk, Trenger oppfølging eller Kritisk. Pulsen er regelbasert og forklarbar (ikke KI) — den bygger på dager siden siste kontakt, forfalte oppfølginger og avtaler som utløper snart, og tooltipen lister signalene bak fargen.
CRM: admin-justerbare terskler for Kundepuls
Grensene som styrer kundepuls-fargen er globale systeminnstillinger (Crm.Pulse.GreenDays = 60, Crm.Pulse.RedDays = 120, Crm.Pulse.AgreementExpiryDays = 30) som seedes ved innlogging og kan justeres av en administrator. Ingen differensiering per brukergruppe i v1. Migrasjon: 20261016900045
Nytt kundekort: gruppert meny, ryddigere Detaljer-side og hurtighandlinger
Kundekortet i CRM har fått et løft i tråd med det nye panel-designspråket. Venstremenyen er gruppert i Kunde / Salg og leveranse / Dokumenter / Administrasjon med rolige tellere og gull-markering av aktiv side. Detaljer-fanen er blitt et arbeidsområde: sidetittel med hjelpetekst, datakvalitet («N av M felter komplette» — klikk et manglende felt for å hoppe rett til det), sammenleggbare seksjoner med verdioppsummering (Kommersielle vilkår og ERP-klassifisering er lukket som standard), «Systemstyrt»-merking av ERP-eide felt, Systemstatus-kort med ERP-advarsel, og en fast «Ulagrede endringer»-linje med Lagre/Forkast (forkasting krever bekreftelse). Tidslinje-fanen har fått en kompakt faktastripe med regelbasert «Neste beste handling» (relasjonseier, sist kontakt, pipelineverdi, åpne oppgaver, kundepuls) i stedet for KPI-kortene, et «Åpne oppgaver»-kort der oppgaver kan fullføres med ett klikk, og tidslinjekortene følger det nye designet. Fra kontaktlisten kan du nå logge en aktivitet direkte på en kontakt — hurtignotatet åpnes med kontakten forhåndsvalgt. Notat- og aktivitetsregistreringen er samlet i et fanekort («Skriv notat» / «Logg aktivitet») over tidslinjen, søkefeltet ligger øverst i tidslinjekortet med nøytrale filterknapper med antall («Alle N»), og kontaktkortet (/crm/contacts) har fått samme gruppert meny, panelspråk og composer som kundekortet. CRM-dashboardet følger nå samme panelspråk — bokser, KPI-kort og verdikort har fått den varme rammen, skyggen og de kompakte seksjonsoverskriftene (ikoner og fargebruk er uendret).
Kundekort: Abonnement-fanen er nå en smart-grid
Kundens masterordrer vises i smart-grid med søk, filter, gruppering, eksport og kolonnevalg, og en ny Fartøy-kolonne (skipets navn).
Kundekort: velg dokumentmal per kunde
Kundekortets «Dokumenter»-fane har fått seksjonen «Dokumentmaler» der en konsulent kan velge hvilken dokumentmal kunden skal bruke per dokumenttype (tilbud, masterordre, følgebrev) — overstyringen som brukes foran klientens standardmal ved dokumentgenerering. «(bruker klientstandard)» nullstiller overstyringen. Seksjonen vises kun med abonnements-modulen og datatilgangen «Dokumentmaler (abonnement)» (Se for å vise, Endre for å endre).
NXT-klassifisering kan redigeres på kundekortet (synkroniseres til Visma)
«ERP-klassifisering» på kundekortet er nå redigerbar: de åtte klassifiseringsgruppene vises som nedtrekk med klientens egne navn (fra verdikatalogene), og «(ingen)» tømmer en gruppe. Når du lagrer, skrives kodene først til Visma Business NXT og lagres kun lokalt hvis Visma godtar dem — feiler Visma, lagres ingenting og nedtrekkene stiller seg tilbake så du kan prøve igjen. Redigering vises kun når det finnes en Business NXT-integrasjon (kodene kommer fra NXT); uten integrasjon er blokken skrivebeskyttet som før. Prisgruppe/valuta er fortsatt egne, skrivebeskyttede felt.
Kundestatus (NXT group9) på kundekortet og som listefilter
Et nytt klassifiseringsfelt, Kundestatus (NXT associate.group9 — f.eks. Aktiv/Ekstern/Sluttet/Solgt), hentes nå fra Business NXT-aktøren og lagres på wv_Actor.actGroup9. Feltet vises på kundekortets «ERP-klassifisering» (redigerbart nedtrekk når det finnes en NXT-integrasjon, med klientens egne navn fra verdikatalogen), som en ny — skjult som standard — kolonne i masterordrelista, og som et fjerde nedtrekk («Kundestatus») i listas klassifiseringsfilter. Administrator kan navngi feltet og legge inn kode→navn-katalogen under Innstillinger → Masterordre – feltoppsett (feltnøkkel ActorGroup9). Kundestatus synkroniseres foreløpig kun via den direkte NXT-integrasjonen; klienter som synkroniseres via KontiConnect Integration-API får feltet først når produsenten der utvides (dokumentert oppfølging). Migrasjon: 20261016900083
CRM: «Min dag», CRM-puls-widget og vunnet-feed
CRM-dashboardet har fått en «Min dag»-seksjon øverst som samler dine forfalte og dagens oppgaver, dagens møter, siste aktivitet på dine kunder, avtaler som snart utløper og salgsmuligheter som står stille — alt klikkbart rett til objektet, og grønn hake når alt er under kontroll. Ny forsidewidget «CRM-puls» viser det samme som kompakte tellere, og dashboardet viser nå «Vunnet denne måneden» med hvem/hva/verdi og sum for teamet (ingen rangering).
CRM: daglig «Min dag»-digest
Nytt planlagt morgenvarsel som sender hver CRM-bruker en oppsummering av forfalte oppgaver, dagens frister, dagens møter og avtaler som snart utløper — via In-App/e-post etter brukerens egne varselinnstillinger (kategorien «CRM — Daglig Min dag-oppsummering»). Brukere uten noe å følge opp får ingen melding. Jobben er av som standard og aktiveres per domene. Migrasjon: 20261016900005
Outlook-tillegget viser kundens masterordrer
Kontaktpanelet i Outlook-tillegget har fått en egen «Masterordrer»-seksjon: når avsenderen matches mot en kunde vises inntil 5 løpende masterordrer (ordrenr, status, neste planlagte leveranse og verdi i år med valuta) for kunden og dens relaterte aktører begge veier (e-post fra rederiet/management treffer skipets ordrer og omvendt), med lenke rett til ordren i portalens masterordre-liste. Avsluttede/tapte ordrer skjules. Seksjonen vises kun for brukere med både CRM- og abonnementsmodulen.
CRM: hurtignotat med oppfølging + «Ingen neste steg»-merke
Øverst i kundens tidslinje kan du nå skrive et notat direkte («Skriv et notat …») uten å forlate kundekortet — med valgfri oppfølgingsdato som oppretter en CRM-oppgave med påminnelse på datoen. Etter lagring vises påminnelsesdatoen og bekreftelsen «Vises i 'Min dag'», så du ser at oppfølgingen lander i Min dag-oversikten. Kunder uten noen åpen oppfølging får et gult «Ingen neste steg»-merke i kundekort-headeren og på salgsmulighetskortene i pipelinen (kun åpne steg) — klikk på merket hopper rett til notatfeltet.
CRM: KAI kundebrief — «hva bør jeg vite før jeg ringer?»
Kundekortet har fått en «KAI: Kundebrief»-knapp som lager en kort «før du ringer»-oppsummering av kunden: 5–8 faktabaserte kulepunkter (åpne oppfølginger, utløpende avtaler, åpne support-saker, ferske hendelser og salgsstatus) pluss ett forslag til neste steg du kan gjøre om til en oppgave med ett klikk. KAI groundes kun på kundens egne data (fakta, deals, avtaler og hele tidslinjen med ordrer/support/avtaler) — ingenting finnes på. Funksjonen er avslått som standard og må aktiveres per rolle av en administrator (Datatilgang → KAI CRM). Migrasjon: 20261016900006
CRM: KAI kundebrief må aktiveres per rolle (fail-closed)
Den nye KAI-kundebriefen på kundekortet er avslått som standard for alle roller. Skru den på for pilotgruppen under Innstillinger → Datatilgang → KAI-gruppen → «KAI CRM (kundebrief)» ved å gi CanView. Endepunktet krever både denne tilgangen og CRM-modulen (31); uten begge vises ikke knappen og API-et avviser kallet med en tydelig melding. Migrasjon: 20261016900006
CRM: Ctrl+K hurtigsøk (kommandopalett)
Trykk Ctrl+K (Cmd+K på Mac) for å åpne CRM-hurtigsøket: søk opp kunder, kontakter og salgsmuligheter, hopp rett til en CRM-side (Min dag, Kunder, Kontakter, Pipeline, Avtaler, Aktiviteter, Møter, Oppgaver) eller start en handling (ny kunde/deal/avtale/aktivitet). Naviger treffene med piltastene, åpne med Enter, lukk med Esc. Når søkefeltet er tomt vises «Nylig åpnet» så du raskt kommer tilbake til det du nettopp så på. Hurtigsøket åpnes kun for brukere som har CRM-modulen (31) — innholdet og søket er CRM-avgrenset.
CRM: hurtighandlinger direkte i kundelisten
Hver rad i kunde-/leverandørlisten har fått hurtigknapper: registrer aktivitet (åpner ny aktivitet ferdig knyttet til kunden), send e-post (åpner e-postklienten på kundens adresse) og ring (åpner telefon-app på kundens nummer) — i tillegg til rediger og slett. E-post- og ringeknappene vises kun når kunden har henholdsvis e-post eller telefon/mobil registrert.
CRM: komplett kundetidslinje + «Abonnement»-fane på kundekortet
Tidslinjen på kundekortet viser nå hele kundebildet: i tillegg til aktiviteter, korrespondanse og møter tas også masterordrer (opprettelse/status), support-henvendelser (Freshdesk-saker matchet på e-post) og avtaler (start/utløp) med. Nye filter-knapper øverst lar deg vise én eller flere hendelsestyper (Aktivitet/Korrespondanse/Møter/Ordre/Support/Avtale). Kundekortet har fått en egen «Abonnement»-fane som lister kundens masterordrer (ordrenr., status, neste planlagte leveranse og verdi i år) med lenke rett til ordren — den lukker enveislenken fra masterordrelista tilbake til kundekortet. Ordre- og abonnementsinnholdet vises kun for brukere med abonnementsmodulen; support-hendelser vises kun der Freshdesk er satt opp.
Kundeadresse: verdensomspennende adressesøk (Google)
Når du legger til eller redigerer en adresse på kundekortet, kan du nå søke på en adresse, et sted eller et firmanavn hvor som helst i verden øverst i skjemaet — feltene under (adressenavn, adresselinje 1–2, postnummer, poststed, land) fylles ut automatisk fra treffet, og du kan alltid redigere dem manuelt etterpå. Søket er tilgjengelig når en administrator har aktivert Google-adressesøk for tenanten (avslått som standard).
CRM: NXT-prisgruppe og valuta på kundekortet
Kundekortet viser nå kundens Business NXT-kundeprisgruppe 1 og valuta (nummer) i «ERP-klassifisering»-gruppen. Verdiene hentes fra NXT-aktøren av aktørsynken og overskrives på hver kjøring (NXT er master); de vises kun når de er satt, og er skrivebeskyttet i portalen. Migrasjon: 20261016900067
Outlook-tillegget følger nå innboksen
Panelet kan festes (pin) og oppdaterer seg automatisk når du velger en annen e-post — du slipper å åpne tillegget på nytt for hver e-post. Krever at administrator laster opp ny manifest-versjon (1.1.0.0).
Outlook: koble e-posten til hva som helst i ePortal
Den nye «Koble til»-velgeren har ett søkefelt som finner salg, prosjekter, oppgaver, møter, tilbud og masterordrer — med forslag fra kundens kontekst — og e-posten kan kobles til flere ting samtidig. Migrasjon: 20261016900094
Outlook: opprett tilbud eller masterordre fra e-posten
Etter at en e-post er lagret kan du opprette et tilbudsutkast eller en masterordre med kunden forhåndsvalgt; detaljene redigeres videre i ePortal. Krever CRM- og abonnementsmodulene.
Outlook: «Lagre raskt» og KAI-brief
Ett-kilkks lagring når kontakten er entydig, og en KAI-generert kundeoppsummering («før du svarer») direkte i panelet for brukere med KAI aktivert.
Outlook: Brønnøysund-oppslag ved ny bedrift
«Ny bedrift» søker nå i Brønnøysundregistrene mens du skriver, og fyller inn organisasjonsnummer, telefon og e-post automatisk.
Avtaler-listen som smart-grid med filtrering, søk og eksport
Avtaleoversikten (/crm/agreements) bruker nå smart-grid i stedet for en enkel tabell: globalt søk, per-kolonne filtrering, sortering, kolonnevelger, kolonneflytting, lagrede visninger og eksport til både Excel og PDF (med firmalogo). KPI-kortene og statusfiltrene (Alle/Aktiv/Utløpt/Ventende) er beholdt som før.
CRM kunde- og leverandørliste med søk, kolonner og eksport
Kunde- og leverandørlistene bruker nå smart-grid med globalt søk, valgbare sidestørrelser, kolonnevelger, lagrede visninger og Excel-eksport; kundelista viser både kunder og leverandører med rollefilter (Alle/Kunde/Leverandør/Begge) og rollemerker i stedet for den gamle Type-kolonnen. Ruten (/crm/customers) og menyinnslaget er uendret. Kolonnesortering (klikk på kolonneoverskrift) gjelder hele det filtrerte resultatsettet på serveren, samme sortering som Excel-eksporten bruker — ikke bare den innlastede siden.
Relasjonstyper — admin i CRM-innstillinger (S5a)
Innstillinger → CRM har fått en ny fane «Relasjonstyper» der du kan opprette, redigere og slette de konfigurerbare relasjonstypene som kundekortets relasjonspanel bruker. Systemtyper (f.eks. KAM/Eier/Operatør) vises med et låst-merke: navn, måltype og aktiv-status er låst og de kan ikke slettes — kun visningsnavn, beskrivelse, kategori, sortering og valgbarhet er redigerbare. Måltype velges mellom Aktør og Kundenummer.
CRM-innstillinger — redigerbar tabell for Kategorier, Aktivitetstyper og Firmakategorier
De tre fanene bruker nå smart-grid med redigering direkte i cellen, kopier/lim inn fra Excel, globalt søk og Excel-eksport i stedet for skjemadialoger. «Legg til rad» legger til én tom rad du fyller ut inline, og en Lagre/Forkast-verktøylinje samler endringene. Lagre skriver hver endret rad for seg (beste forsøk): lykkes noen og andre feiler (f.eks. duplikatnavn), lagres de vellykkede mens de feilede blir stående markert som ulagret for nytt forsøk. Sletting beholder samme bekreftelsesdialog som før.
Aktørrelasjoner — API for relasjoner og relasjonstyper (backend)
Nytt ActorRelationController gir CRM-kundekortet grunnlaget for et «Relasjoner»-panel: liste/opprett/slett relasjoner på en aktør (wv_ActorRelation), en relasjonstype-plukker (aktive, bruker-valgbare typer) og admin-CRUD for de konfigurerbare relasjonstypene (wv_ActorRelationType). System-typer (f.eks. KAM/Eier/Operatør) kan ikke omdøpes, endres måltype på, deaktiveres eller slettes — kun visningsnavn/beskrivelse/rekkefølge/synlighet er redigerbare. Ren backend i denne leveransen; UI kobles på senere.
CRM kundekort — masterfelter og relasjoner
Kundekortet har nå masterfelter for bransje (NACE-kode og -beskrivelse), livssyklusfase (lead/prospekt/kunde/tapt) og en egen «Kommersielle vilkår»-seksjon (valuta, betalingsbetingelser, kredittgrense, MVA-nummer, GLN, selger og ansvarlig). Selger/ansvarlig lagres som ansattnummer og viser oppslått navn. Et nytt «Relasjoner»-panel lar deg liste, legge til og slette relasjoner på kunden med en relasjonstype-plukker; typer som peker på en aktør bruker aktørsøk, typer som peker på et kundenummer bruker et kundenummerfelt.
Relasjoner på kundekortet — høyre kolonne, også ved oppretting
Aktør-relasjoner (KAM, eier, operatør, fakturakunde, forhandler, morselskap m.fl.) vises og redigeres nå i et panel i høyre kolonne ved siden av kunde-/aktørskjemaet, både når du oppretter en ny kunde og når du redigerer under Detaljer. Den gamle egne «Relasjoner»-fanen er erstattet. Ved ny kunde mellomlagres relasjonene i skjemaet og lagres automatisk straks kunden er opprettet; skulle noen ikke lagres, opprettes kunden likevel og du får en varsling med antallet som feilet. Selger/ansvarlig er fortsatt egne masterfelt, ikke relasjoner.
Kontakter i brevruting kan ikke lenger slettes ved et uhell
Sletting av en CRM-kontakt som er brevmottaker på masterordrer (abonnement) blokkeres nå med en forklarende dialog som viser antall berørte masterordrer og tilbyr «Deaktiver i stedet» (kontakten beholdes i historikken, men brukes ikke ved utsendelser). Gjelder kun tenants med abonnementsmodulen; vanlig sletting er uendret ellers.
Søk og filter huskes i kunde- og kontaktlisten
Søkefelt, rollefilter, side og kolonnefiltre i CRM-kundelisten og kontaktlisten går ikke lenger tapt når du åpner en kunde/kontakt og navigerer tilbake til listen; forrige søk/filter/side gjenopprettes automatisk innenfor samme nettleserfane.
PDF-eksport i kunde- og kontaktlisten
Eksport-menyen i CRM kunde-/leverandørlisten og kontaktlisten tilbyr nå «Eksporter til PDF» i tillegg til Excel. PDF-en bygges i nettleseren fra de samme kolonnene som Excel-eksporten (liggende A4, respekterer kolonnevelgeren).
Kundekort som Aktør-skjema med kopierbare felt og leverandørinfo
Kundekortet er nå et rolle-nøytralt Aktør-skjema som betjener kunder, leverandører og aktører som er begge. Header viser identifikatorene (Kundenr, Leverandørnr, Org.nr, ERP-kundenr) og full e-postadresse som merker med en kopier-knapp (ett klikk kopierer verdien), pluss rollemerker (Kunde/Leverandør). Info-fanen har fått likestilte «Kunde»- og «Leverandør»-seksjoner: leverandørnr/-kode vises skrivebeskyttet («Hentes fra ERP») kun for aktører som er leverandør, og telefon/mobil beholdes som tel:-ikoner (ingen kopier-knapp der). Faks vises når det finnes.
NXT-kontakter uten Visma-nummer importeres nå
Ved aktørsynkronisering mot Visma Business NXT ble kontaktpersoner uten eget Visma-nummer (associate-nr) tidligere hoppet over. De importeres nå og gjenkjennes på nytt ved senere kjøringer via aktør + e-post + navn, slik at de oppdateres i stedet for å dupliseres. Kontakter helt uten både e-post og navn hoppes fortsatt over.
Hent og oppdater kundedata fra Brønnøysund
Ved oppretting av en ny CRM-kunde kan du nå skrive organisasjonsnummeret og klikke «Hent fra Brønnøysund», eller søke på firmanavn, for å fylle inn navn, adresse, postnummer, poststed og bransje (NACE) automatisk fra Enhetsregisteret. På en eksisterende kunde med org.nr. ligger «Oppdater fra Brønnøysund» i handlingsmenyen: den viser en dialog med nåværende verdi mot registerverdi per felt, og oppdaterer kun feltene du huker av. Dine egne felt (e-post, telefon, nettside, rabatt, vilkår m.m.) beholdes alltid.
Gjenbrukbar modul-sperre (<app-module-gate>) + valgfrie CRM-abonnementssnarveier
En ny gjenbrukbar modul-sperre er lagt til: mangler tenanten en modul, viser den en kontaktboks («Du har ikke denne modulen, kontakt hjelp@konti.no for å aktivere den»); ellers slipper den innholdet gjennom. Samme mønster kan brukes andre steder senere. To valgfrie CRM-landingsruter (/crm/offers, /crm/master-orders) bruker sperren og tar deg rett til abonnement-listene når abonnementsmodulen er aktiv. De legges ikke inn i CRM-menyen som standard — en administrator kan legge dem til per tenant via Menyadministrasjon.
Outlook-tillegget: prosjektvalg tilbake i \"Ny oppgave\", og oppgaver kan nå søkes opp og kobles til e-post
Prosjektfeltet i «Ny oppgave» er alltid synlig og søkbart (kundens åpne prosjekter øverst), i stedet for å forsvinne når kontaktoversikten ikke hadde noen aktive prosjekter å foreslå. Velges et prosjekt opprettes nå også en koblet prosjektoppgave. I «Koble e-post til»-søket kan du i tillegg finne og koble e-poster til enkelt-CRM-oppgaver og prosjektoppgaver — tidligere var disse bare tilgjengelige som separate forslagslister.
Prosjekt og oppgaver (4 endringer)
Tildelte på deloppgaver
Deloppgaver viser nå hvem som er tildelt (samme avatar-visning som «Tildelte brukere») i hurtigpanel, oppgavedetalj, oversikt, tavle og CRM-oppgaveliste, og deloppgave-seksjonen er ekspandert som standard i hurtigpanelet. Feilaktig visning av ansvarlig som tildelt på deloppgaver er fjernet.
KAI-planlegger: juster og regenerer
Planleggeren kan nå iterere: skriv en justering (f.eks. «mer detaljert på fase 2») og få forslagene revidert uten å starte på nytt.
KAI: utvid oppgave med deloppgaver
Ny KAI-funksjon på oppgaver (oppgavedetalj + hurtigpanel) som foreslår deloppgaver med estimat, datoer, tildeling og sjekkliste, pluss valgfrie endringer på foreldre-oppgaven. Alt bekreftes av brukeren før opprettelse. Krever KAI.Project-tilgang. Migrasjon: 20261016900001
Slutt på varsel-spam ved raske endringer på en oppgave
Endrer noen status, frist og prioritet på en oppgave rett etter hverandre, får du nå ett varsel merket «3 endringer» i stedet for tre like varsler — og én e-post i stedet for tre. Gjentakelser legges i den raden du allerede har ulest; har du lest varselet, starter neste hendelse en ny rad. Samtidig varsles «Oppgave endret» kun ved endring i status, frist, ansvarlig, prioritet eller tittel — å dra en oppgave i gantt eller justere fremdriftsprosenten varsler ikke lenger de andre på oppgaven. Migrasjon: 20261016900109
Timeregistrering (2 endringer)
Eksterne timeregistreringer rutes igjen til riktig utbetaling/timebank
Timeregistreringer fra eksterne systemer (via Integration API) med destinasjonskode 101 (utbetaling) eller 102 (timebank) mappes nå til riktig timealternativ ut fra lønnsart (615/616/620/625/630/845) i standard lagringsprosedyrer, både ved innsetting og oppdatering. Gyldige timealternativ-kombinasjoner går alltid foran; mappingen brukes kun når 101/102 ikke er et registrert alternativ for lønnsarten. Mappingen fantes tidligere kun som manuell tilpasning i én kundedatabase og forsvant ved en tidligere SP-oppdatering — registreringene fikk da timealternativ 0. Registreringer lagret med 0 i mellomperioden rettes ikke automatisk. Migrasjon: 20261016900024
Timeoversikt: søk, kolonnevelger, lagrede visninger og tastaturnavigasjon
Oversikt-siden under Godkjenning (/approval/overview) har fått de samme kraftige tabellfunksjonene som CRM-listene: globalt søk i alle kolonner (fungerer som Ctrl+F i tabellen), kolonnevelger med drag/reorder, lagrede visninger (server-lagret, med standardvisning) og tastaturnavigasjon med piltaster. Gruppering per ansatt beholdes som standard; en lagret standardvisning styrer grupperingen når den er aktiv.
KontiConnect / Integrasjoner (20 endringer)
Ny intern jobb: serienummer fra Visma Business NXT
Ny KontiConnect-integrasjonstype «Visma Business NXT: serienummer» leser serienummerrader fra NXT inn i korrelasjonstabellen og binder dem automatisk til instrumentene på importerte masterordrer. Delta-vannmerke per selskap, periodisk full avstemming mot kilden, og et manuelt innskrevet serienummer overskrives aldri (uenighet blir stående som konflikt til en operatør avgjør). En ny skrivebeskyttet side «NXT-serienummer» viser alle uavklarte rader (ubundne, konflikter og rader som er borte fra kilden); siden ligger ikke i noen standardmeny og aktiveres per kunde via Menyadministrasjon. Migrasjon: 20261016900018
NXT aktørsynk: kartlegg klassifiserings- og egendefinerte felt i feltmapperen
Feltmapperen for NXT kunde-/leverandørsynk tilbyr nå NXT-klassifiseringsfeltene (information1, group1–group9) som kilder og de faste identitetene IMO-nr., Kundetype, BPP-status, Flåte og Kundestatus som mål (ferdig forhåndsutfylt, redigerbart). I tillegg kan et NXT-kildefelt kartlegges til et av tenantens egendefinerte CRM-kundefelt; verdien skrives da til kundekortet ved hver synk (robust per aktør, idempotent, hopper over slettede felt). Fase 1 endrer ikke selve klassifiserings-synken — de faste feltene følger fortsatt actGroup/actInfo-kolonnene; egendefinert-feltskriving er den eneste nye synk-oppførselen.
NXT-integrasjoner: trygg cursor og gjenopptak av ordrelinjer
Delta-cursor er flyttet ut av redigerbar JSON til en kontrollert checkpoint-store med auditert reset. NXT-ordreeksport lagrer ønskede ordrelinjer før eksisterende linjer slettes og gjenopptar trygge avbrudd; et ukjent resultat under sending stoppes for manuell NXT-kontroll i stedet for blind retry. Migrasjon: 20261016900056
NXT ordre: Recovery-fane for uavklarte ordrelinjer
NXT ordreintegrasjoner viser nå uferdige ordrelinjeoppdateringer i en egen Recovery-fane. Operatør kan åpne en Unknown-rad for kontrollert replay etter å ha kontrollert ordren i Business NXT og skrevet begrunnelse; handlingen logges i vanlig kjøringshistorikk.
KontiConnect: sikrere debug-logging
Integrasjonslogger maskerer nå også clientSecret/ClientSecret i debug request-payloads før de lagres i kjøringsloggen, i tillegg til eksisterende masking av client_secret, passord og tokens.
Ordretype kan velges på NXT-ordreintegrasjonen
Ordretypen var låst til NXT-kode 2. Den kan nå settes til 1 eller 2 i integrasjonseditoren. Begge er ordretyper i Visma Business NXT — den ene har logistikk aktivert, den andre ikke — så hvilken som skal brukes avhenger av firmaets oppsett.
Freshdesk: schedulert synkronisering av supportsaker
Ny Konti Connect-integrasjonstype «Freshdesk: sakssynkronisering» kjører nøyaktig samme delta-synk som «Oppdater»-knappen på /support/freshdesk, slik at sakslisten kan holdes oppdatert automatisk (anbefalt frekvens: hver time). Credentials og synk-innstillinger leses fra de eksisterende Freshdesk.-systeminnstillingene; eneste konfignøkkel er DebugLogging. Manuell og schedulert kjøring kan trygt overlappe (monotont vannmerke + idempotente upserts). Migrasjon: 20261016900017*
Kopier konfigurasjon fra en eksisterende integrasjon
Oppretter du flere like integrasjoner slipper du å skrive inn de samme innstillingene om igjen: velg en eksisterende integrasjon i Konfigurasjon-fanen, og feltene som finnes i begge fylles ut automatisk. Felt som ikke finnes i den nye typen hoppes over, og det samme gjelder verdier typen ikke godtar. Hemmeligheter og synkroniseringsposisjoner kopieres aldri.
Nytt utseende på integrasjonsveilederen
«Ny integrasjon» og «Rediger integrasjon» bruker nå ePortals gjeldende panel- og fanedesign: flate faner med gull-understrek i stedet for boksefaner, og lyse paneler med tydelig seksjonsoverskrift. Funksjonelt uendret.
NXT-integrasjoner: samme feltrekkefølge, og seks skjulte ordre-innstillinger er nå synlige
Client ID, Client Secret, Firmanummer og Synkroniseringsretning står nå i samme rekkefølge i alle NXT-integrasjonstyper. Ordreintegrasjonen viser i tillegg seks innstillinger som tidligere bare kunne settes ved å redigere JSON manuelt (fakturastatus-filter, GR12-kontroll, oppdater eksisterende ordrer, delta-synk med tilbakeblikk, og batch-størrelse). Bilagsintegrasjonen viser nå også synkroniseringsretning. Standardverdiene er uendret.
Sortering og filtrering i Konti Connect-tabellene
Bilagshistorikken kunne verken sorteres eller filtreres i det hele tatt. Den har nå begge deler på alle datakolonner, inkludert statusfilter (i kø / eksportert). Beløps-, antalls- og datokolonner i bilagsforhåndsvisningene, bilagsloggen og importhistorikken har også fått filter.
Integrasjonsfelt har fått forklarende hjelpetekst
Feltene i integrasjonskonfigurasjonen viser nå hjelpetekst når du holder over spørsmålstegnet. Rundt 30 felt (NXT aktørsynk, Simployer, Visma Lønn, ekstern kostnadsimport) hadde ingen forklaring i det hele tatt. Synkroniseringsretning forklarer nå også hvorfor enkelte integrasjonstyper bare har ett valg.
Integrasjoner: tydelig feilmelding når et konfigurasjonsfelt mangler
Å opprette eller lagre en Visma Business NXT-integrasjon med et tomt eller ugyldig felt (f.eks. Client ID eller Firmanummer) ga tidligere bare «En uventet feil oppstod», uten å si hvilket felt som var problemet. Feilen navngir nå feltet og hva som forventes — også når et hemmelighets-felt fortsatt inneholder malens eksempelverdi.
Hjelp-lenke til dokumentasjonen i integrasjonsveilederen
Hjelp-panelet i «Ny integrasjon» og «Rediger integrasjon» har nå et ?-ikon til den relevante håndboksiden, og en «Full dokumentasjon»-knapp til integrasjonsoversikten. Samtidig er hjelpe-ikonet rettet for disse to sidene: det pekte tidligere på håndbokens forside i stedet for veiledningen for oppsett.
Bilag fra bankavstemming: vedlegg kan sendes til Visma
Etter at et bilag fra bankavstemmingen er overført til Visma Business NXT, kan du laste opp vedlegg (f.eks. bilagsdokumentasjon) direkte til det bilaget i Visma mens dialogen er åpen. Seksjonen forklarer tydelig om vedlegget faktisk sendes til Visma eller kun lagres i ePortal — det siste gjelder vedlegg lastet opp før en vellykket overføring, etter at dialogen er lukket, eller uten et gyldig bilagsnummer fra Visma.
Kjørehistorikk, recovery og bilagslogg kan nå sorteres, filtreres og eksporteres
Disse listene var vanlige tabeller uten noen form for sortering eller filtrering. De bruker nå samme tabellkomponent som resten av ePortal, med kolonnesortering, filter per kolonne, globalt søk og eksport til Excel. Det samme gjelder radlistene under en kjøring (feilede, vellykkede og hoppet over).
Feltmapping viste teknisk nøkkelnavn for tre transformasjonstyper
Kolonnen «Transformasjonstype» viste rå tekst som KontiConnect.FieldMapping.TransformationType.Computed i stedet for et lesbart navn for typene Beregnet, Avledet og Tilordnet. Nå vises riktig navn for alle seks typene systemet kan produsere.
Bilagsimport for Fjordkraft og Altibox
Ny side under Konti Connect (/konti-connect/voucher-import) som erstatter de to frittstående konverteringsprogrammene: velg kilde, last opp avregningsfil(er), forhåndsvis bilagslinjer med mapping-validering (rader uten mapping blokkerer import), og legg bilagene rett i bilagskøen med ett klikk. Kontomapping (Fjordkraft: AL-konto → debet/kredit; Altibox: GL-kode + avgiftsstatus → resultat-/balansekonto) vedlikeholdes i egne redigerbare rutenett med Excel-import for engangsmigrering fra de gamle Mapping.xlsx/GLMapping.xlsx-filene. Dobbeltimport av samme fil blokkeres automatisk (filhash), og en Historikk-fane viser alle importerte filer. Migrasjon: 20261016900025
NXT-bilag: Bilagshistorikk-fane med «Kjør på nytt»
Integrasjonen «Visma Business NXT - Bilag» har fått en Bilagshistorikk-fane som viser alle bilag eksportert til Business NXT (fra arkivtabellene), med mulighet for å kjøre ett eller flere bilag på nytt: bilaget legges tilbake i eksportkøen med originale ID-er, vedlegg lastes opp på nytt, og duplikatvernet mot NXT hindrer dobbel bokføring hvis bilaget fortsatt finnes der. Fikser samtidig to feil: arkivering mistet bilagshoder ved kjøringer med flere bilag, og opprydding etter eksport feilet for bilag med vedlegg. Migrasjon: 20261016900021
NXT aktørsynk — relasjonsmapping med eget oppsett i integrasjonseditoren
Integrasjonseditoren for «Visma Business NXT – Aktører» har fått en egen «Relasjonsmapping»-seksjon (skjema-modus): rader som kobler en ePortal-relasjonstype (fra Innstillinger → CRM → Relasjonstyper) til NXT-feltet som fyller den under aktørsynk (Fakturakunde/KAM/Selger). Tidligere kunne mappingen (ActorRelationMap) bare redigeres som rå JSON. Config-malen inkluderer nå standardmappingen, og skjema-modusen bevarer mapping-nøkkelen trygt (objektverdier vises ikke lenger som «[object Object]» og mistes ikke ved lagring).
KAI — AI-assistent (3 endringer)
Bankavstemming: KAI løser opp tvetydige treff (samme beløp + dato) — forslag til gjennomgang, aldri automatisk
Når auto-match finner banklinjer med flere hovedboksposter på nøyaktig samme beløp og dato, kan KAI nå velge den mest sannsynlige hovedboksposten basert på referanse/KID, fakturanummer, bilagsnummer, beskrivelse og motpart. KAI-valget bokføres aldri automatisk — det legges i gjennomgangskøen som et framhevet KAI-forslag (øverst) for ett-klikks manuell godkjenning gjennom den vanlige valideringen. KAI kjøres i bunker over de tvetydige linjene, kostnadsbegrenset til inntil 6 bunker à 50 linjer per kjøring (≈ 300 linjer, styrt av BankReconciliation.KaiMaxBatchesPerRun, standard 6); gjenstår det flere vises antallet og du kan kjøre auto-match på nytt. Krever at KaiAnalysisEnabled er slått på for bankkontoen.
Outlook: KAI foreslår notat og tolker signatur
Når en e-post logges kan KAI foreslå et kort CRM-notat og en oppfølgingsoppgave; ved ny kontakt kan KAI lese avsenderens signatur og foreslå telefon og tittel. Rene forslag — ingenting lagres uten at du bekrefter. Krever KAI.Crm aktivert (Innstillinger → Datatilgang). Migrasjon: 20261016900016
Svar på feilrapporter
Du kan nå se status og svar fra support på dine innsendte feilrapporter («Mine feilrapporter» i feilrapport-dialogen), og administratorer kan besvare rapporter i adminfanen. Migrasjon: 20261016900006
Systemadministrasjon (21 endringer)
Ny ePortal: komplett standardoppsett, flere SQL-servere og sikker retry
Kundeveiviseren har backend-eide profiler for Basis, Anbefalt, Operativ drift og Abonnement/masterordre, håndhever modulavhengigheter og oppretter modulmenyer fra én sentral katalog. Valgt SQL-server lagres per domene og brukes i innlogging, API, jobber og integrasjoner; eldre kunder fortsetter på standardserveren. Hver klargjøring får en varig trinn-/feillogg, og en feilet kjøring kan prøves på nytt med samme mål etter eierstyrt opprydding. Readiness kontrollerer migrering, administrator, rettigheter, modultildeling, standarddata og forventede menyer før Ready; operative avvik vises som NeedsAttention. Migrasjon: 20261016900014
E-post-sandkasse: hindrer at test-/staging-miljø sender ekte e-post
En ny sikkerhetsgate på send-laget gjør det strukturelt umulig for et ikke-produksjonsmiljø å levere utgående e-post til en ekte mottaker. Alle utgående e-poster (tilbud-autosend, varsler, deling, integrasjons-alarmer, KAI-feilrapport, møtereferat, passord-tilbakestilling) omdirigeres til en sandkasse-adresse eller undertrykkes med mindre miljøet er bevist produksjon (Email.ProductionSendAllowed=true + Email.SandboxMode=Off). Fail-safe som standard: manglende/feil konfig eller feil sender aldri ekte. En byggetids-CI-guard stopper bygget hvis en ny send-sti hopper over gaten.
Systemvarsler: last opp bilde + rettet redigeringsvindu
Redigeringsvinduet for systemvarsler i Konti Admin viste radioknapper, brytere og avkrysningsbokser delvis utenfor vindusrammen; layouten er rettet. For popup-varsler kan bildet nå lastes opp direkte (maks 2 MB, som i nyhetsadministrasjonen) i stedet for å kreve en eksternt hostet bildelenke; opplastet bilde prioriteres over URL. Migrasjon: 20261016900015
E-postutsending slått over i produksjonsflyt, og kan nå styres per kunde
Utgående e-post gikk tidligere aldri til ekte mottakere: plattform-pinnen sto av, og en kunde uten oppsett havnet automatisk i sandkasse. Pinnen er nå slått på, og hver kunde får satt modus til «Av» (ekte utsending) ved første innlogging etter oppdateringen. Under Konti Admin → Systeminnstillinger kan du sette en enkelt kunde i sandkasse — omdiriger alt til én testadresse, eller stopp utsending helt — uten å påvirke de andre. Migrasjon: 20261016900097
Migrasjonen som sikrer instrumentregisteret sier fra når den ikke fikk installert garantiene
Garantiene som hindrer at det samme instrumentet registreres to ganger kan ikke installeres på en tenant der eksisterende rader er tvetydige. Radene beholdes da urørt i stedet for å bli ryddet automatisk, og migrasjonen skriver hva den fant i en varig rad per tenant. Er en garanti blokkert, kan den installeres i etterkant uten ny migrasjon når radene er ryddet. Installasjonen er én udelelig operasjon: går noe galt underveis, står tenanten igjen med nøyaktig de garantiene den hadde før, og raden forteller hva som gikk galt. Migrasjon: 20261016900105
Masterordre-import fra Business NXT — valgfri observasjons-henting
Importen kan kjøres uten å hente leveringstransaksjons-observasjonene: sett includeObservations: false for å importere kun ordrene og linjene (som allerede har sine egne datoer fra NXT), og hoppe over den brede leveringstransaksjons-skanningen. Standard er uendret (observasjoner hentes).
Masterordre-import fra Business NXT — utelater Gr7 = 9
Importen henter aktive masterordrer (ordretype 6) fra Visma Business NXT og utelater ordrer der Gr7 = 9. Filtreringen skjer på Business-siden ved henting.
Masterordre-import fra Business NXT — kundenavn, linjepriser og instrumentgrupper + etterfyll-endepunkt
Importen setter nå kundenavn på ordren (aktørregisterets navn, med NXT-navnet som reserve), linjepris og rabatt fra NXT-ordrelinjen (priceInCurrency/discountPercent1 — Beløp beregnes som antall × pris × (1 − rabatt%)), og produkt-snapshotet per linje (instrumentgruppene Gruppe 1–6 pluss beskrivelse/enhet fra produktet). Nytt endepunkt POST api/subscriptionimport/enrich-nxt etterfyller de samme feltene på allerede importerte ordrer/linjer — det fyller KUN blanke/null-verdier (kundenavn når blankt, pris når 0/tom, grupper når alle seks er tomme) og rører aldri manuelt redigerte verdier eller oppretter nye rader. Samme tilgangsstyring som importen (Masterordre-import, opprette).
Arbeidsflyt — abonnement/masterordre med oppsummeringsvarsler (MO-015 S9)
Arbeidsflytmotoren kjenner nå modulen «Abonnement»: du kan bygge arbeidsflyter på masterordrer, ordrelinjer, ordreforslag og tilbud. Standard-malene er oppsummeringer (digest) — én melding per kjøring som lister ALLE ordrer/forslag/tilbud med ønsket status (gruppert per status, med direktelenke per rad), ikke én e-post per ordre. Tre ferdige maler er lagt til (ordrer til gjennomgang, åpne ordreforslag, ubesvarte tilbud — ukentlig). Mottaker kan være ordrens ansvarlige, selger eller begge, og et nytt valgfritt felt «Ekstra e-postadresse» på Varsle- og Oppsummering-handlingene sender i tillegg til én fritt angitt adresse (tomt = ingen ekstra mottaker, ingen endring for eksisterende arbeidsflyter).
Konti admin: samlet feilrapport-oversikt
Ny side i systemadmin viser feilrapporter fra alle klienter med filtrering, status og svar; nytt domeneflagg styrer om feilrapporter sendes til Freshdesk.
Masterordrer — endringslogg-fanen leser nå ekte revisjonslogg (MO-015 S10)
Endringslogg-fanen på en masterordre er koblet fra mock til API: den viser nå de faktiske revisjonsradene (wv_AuditLog) fra alle endringene som er gjort på ordren (linjer, ordrehode, status, kommentarer, dokumenter, brevmottakere), nyeste først, med «Vis flere» for eldre rader. Systemaktør-rader (import, datomotor, autosend) vises med sin systemetikett som «endret av». Med dette er hele masterordre-detaljbildet (S1–S10) koblet til reelle data.
Masterordrer — kommentarer og dokumenter (MO-015 S8)
Kommentar- og dokumentfanene på en masterordre er koblet fra mock til API. Kommentarer støtter @-omtale av kolleger (autofullfør-plukker som varsler den omtalte via det vanlige varslingssystemet), redigering (kun forfatteren) og sletting (forfatter eller administrator). Dokumentfanen støtter opplasting, nedlasting og sletting av vedlegg — filene lagres tenant-isolert i skylagring. Emoji i kommentarer lagres korrekt. Tilgang styres av eksisterende «Masterordrer (abonnement)»-datatilgang (lese for å se, opprette for å legge til, slette for administrator-sletting). Migrasjon: 20261016900013
Masterordrer — ordreforslagskø: generer, se og beslutt (MO-015 S4)
Ny reell ordreforslagskø under Abonnement (/subscription/proposals): «Generer ordreforslag» kjører serveren som lager ett forslag per aktuell masterordre (aktiv ordre, ikke unntatt auto-tilbud, med minst én forfallende abonnementslinje innenfor varslingsvinduet, uten et dekkende aktivt tilbud) — kjøringen er idempotent, så gjentatte kjøringer ikke lager duplikater, og forfalte «utsatte» forslag gjenåpnes automatisk. Hvert forslag kan godkjennes, avvises (påkrevd årsak) eller utsettes til en framtidig dato. Godkjenning er kun en beslutning — å gjøre forslaget om til et tilbud kommer i neste leveranse. Verdier summeres per valuta (aldri på tvers). Har en annen bruker allerede besluttet forslaget, får du beskjed og listen oppdateres. Ny datatilgangs-type «Ordreforslag (abonnement)» styrer tilgangen. Migrasjon: 20261016900010
Masterordrer — rediger ordrehode og styr livssyklus (MO-015 S3)
Ordrehodet på en masterordre er koblet fra mock til API: «Rediger ordrehode»-skuffen lagrer nå ansvarlig/selger, valuta, notat, varslingstid (verdi + enhet som et atomisk par), brevautomatikk (tre tilstander eller «standard») og «hold utenfor auto-tilbud» med optimistisk samtidighetskontroll — endrer en annen bruker samme ordre, får du beskjed og fersk versjon lastes. Ansvarsenhet-feltene (R1–R12) vises kun for de slottene tenantens R-matrise har aktivert. Nye statushandlinger: «Aktiver ordre» (blokkeres med en liste over manglende forutsetninger — fartøy, fakturakunde-/management-relasjon, minst én aktiv linje med frekvens), «Avslutt ordre» (påkrevd tapsårsak), «Fullfør gjennomgang» og manuell «Koble til salgsmulighet» (deal-ID valideres).
Masterordrer — rediger, legg til og avslutt abonnementslinjer (MO-015 S2)
Linjefanen på en masterordre er koblet fra mock til API: du kan legge til linjer, redigere direkte i rutenettet, og avslutte (myk lukking) en linje med påkrevd årsak. Endrer du planlagt leveringsdato manuelt, spør systemet om en overstyringsårsak. Alle endringer lagres med optimistisk samtidighetskontroll — endrer en annen bruker samme rad, får du beskjed og den oppdaterte versjonen lastes automatisk. Ny «Vis avsluttede»-knapp viser historiske linjer, og gruppefelt-etiketter/-kataloger hentes nå fra tenantens konfigurasjon. Migrasjon: 20261016900009
Masterordrer — liste, ordrehode og linjer leser nå reelle data (MO-015 S1)
«Masterordrer» (/subscription/master-orders) er koblet fra mock til API: server-side søk (paging/sortering/filter) med årsverdi per valuta under listen (beløp summeres aldri på tvers av valutaer), ordrehode med relasjonsnavn fra aktørkortet (management/KAM/eier/operatør/fakturakunde) og ansvarlig/selger, aktive abonnementslinjer med katalogoppslåtte gruppenavn, og ?order=-dyplenken slås nå opp direkte på serveren. Ny datatilgangs-type «Masterordrer (abonnement)» styrer tilgangen. Øvrige faner (tilbud, instrumenter, kontakter, kommentarer, dokumenter, endringslogg) viser fortsatt eksempeldata til sine leveranser. Migrasjon: 20261016900008
Masterordrer — ny master/detalj-visning (mockup)
Ny side «Masterordrer» under Abonnement (/subscription/master-orders) med smart-grid master/detalj: ordreliste med status/flagg, og detaljpanel med linjer (trestruktur), tilbud og datohistorikk. Mock-data etter MO-013-skjemaet — diskusjonsartefakt før API-kobling; ordreforslag- og dashbord-mockupene er også lagt om til de nye modellene.
Abonnement — mockups v2 (ordrehode, gruppering, ordreforslag-modal, tilbudsvisning)
Masterordre-detaljpanelet har fått fullt ordrehode (management, faktureres, ansvarlig/selger, leie-/BPP-avtale, ordreforslag-innstillinger, CRM-deal-lenke, tapsårsak), linjene grupperes på instrumentgruppe med delsummer, og en «Opprett ordreforslag»-modal (redigerbare datoer/antall per linje, strukturlinje-toggle) er lagt til. Ordreforslag-køen viser nå legacy-feltene (trigget-av-dato, varsling, autosend, ansvarlig/selger) og ny mockup-side «Tilbud» (/subscription/offers) viser tilbud med linjer i detaljpanel. Alt er mock-data — diskusjonsartefakt før API-kobling.
Tilbuds-datamodell (CRM) + motor-fakta
Nye tabeller for tilbud/tilbudslinjer/utsendelser, ordreforslag, aktørrelasjoner og malprodukter; datomotoren leser nå tilbudsfakta (aktivt tilbud, utfall, støttebrev). Migrasjon: 20261016900004
Abonnement — rev 4b-datamodell (serviceobjekter, brevmottakere, gruppefelt)
Skjemagrunnlag for masterordre-modulen: nye tabeller for serviceobjekter (instrumenter), brevmottaker-matrise og per-tenant gruppefelt-etiketter/verdikataloger, pluss nye ordre-/linjekolonner (DealId, tapsårsak, ordreforslag-innstillinger, valuta, org-enheter, enhet, gruppe-/frifelt, myk lukking) og omdøping TransportGroup → TransactionGroup. Migrasjon: 20261016900007
Supportsaker (Freshdesk) i portalen
Ny, opt-in Support-modul viser Freshdesk-supportsaker inne i ePortal: en forsidewidget med hurtigsøk og en egen sakliste (/support/freshdesk) med søk, status-/prioritetsfilter, detaljvisning og «Opprett oppgave» — sistnevnte åpner Hurtigregistrering forhåndsutfylt med saksnummer, emne, lenke og beskrivelse, og hver sak kan kun kobles til én oppgave (deduplisert, håndhevet i databasen). Modulen (moduleID 43) må aktiveres per domene av Konti, og selve datasynet krever eksplisitt datatilgang (Freshdesk.Tickets er fail-closed — nekter som standard til noen slår den på). Migrasjon: 20261016900022
Support (2 endringer)
Supportsaker: automatisk oppgave fra etikett + etiketter som chips i detaljpanelet
En Freshdesk-sak kan nå rutes til et prosjekt automatisk via etiketter: tagg prosjektet med en etikett i det globale etikett-systemet, sett samme etikett på saken i Freshdesk, så opprettes en oppgave i prosjektet ved neste synkronisering (Åpen/Ventende saker, samme innhold som «Opprett oppgave», tildeles sakens Freshdesk-ansvarlige om den kobles til en ePortal-bruker). Den opprettede oppgaven får sakens beskrivelse (hentes fra Freshdesk-saksdetaljen) i tillegg til lenken til saken. Én oppgave per sak (også automatisk); ligger etiketten på flere aktive prosjekter velges det eldste (lavest ID); finnes ingen aktivt tagget prosjekt skjer ingenting (stille). Funksjonen er av som standard og slås av/på per kunde med bryteren «Opprett oppgave automatisk fra etikett» under Konti Admin → Innstillinger → Freshdesk (samme som innstillingen Freshdesk.AutoTaskFromTags.Enabled). Sakens etiketter vises nå også som chips i detaljpanelet.
Supportsaker: delt liste/detalj med dialogtråd, filtre i tabellen og lagrede visninger
Sakslisten (/support/freshdesk) viser nå saken i et detaljpanel ved siden av listen (delt visning med valg for kun liste/kun detalj og plassering høyre/nederst), slik at du kan bla fra sak til sak med piltastene uten å lukke noe. Detaljpanelet viser hele dialogen i saken fra Freshdesk — kundesvar, agentsvar og interne notater, tydelig merket, med vedlegg (bildevedlegg og innlimte skjermbilder som miniatyrer, andre filer som nedlastingslenker; inline-bilder hentes trygt ut av e-postteksten, kun fra Freshdesk sine bilde-tjenere) — i tillegg til beskrivelsen og handlingene som før. Status- og prioritetsfiltrene er flyttet inn i tabellens filterrad (Ctrl+F viser/skjuler den), og kolonneoppsett, filtre og delt visning kan lagres som personlige visninger. Kolonnene kan nå sorteres (server-side, over hele resultatsettet), listen viser 50 saker per side som standard, og standardkolonnene er saksnr, emne, status, prioritet, innmelder, tildelt og opprettet (flere kan slås på under Kolonner). Saker som slettes (legges i papirkurven) i Freshdesk fjernes nå fra listen ved neste synkronisering i stedet for å bli liggende med gammel status.
Plattform og komponenter (16 endringer)
Smart-grid: relative datofiltre («i dag ± n»)
Datobetingelser i det avanserte filteret kan nå være relative til dagens dato i stedet for en fast dato: velg «Relativ» i verdifeltet og sett «I dag ± antall dager/uker/måneder/år» (også per endepunkt i «mellom»). Filteret evalueres mot dagens dato hver gang det brukes, så et lagret eller delt filter som «Forfalt» (dato < i dag) eller «Neste 2 måneder» aldri blir utdatert.
Smart-grid: raskere filter-panel — lagrede filtre øverst, betingelsesbygger bak «Nytt filter»
Filter-panelet viser nå «Lagrede filtre» øverst (den vanligste handlingen er å bruke et lagret filter), mens betingelsesbyggeren ligger bak «Nytt filter»-knappen og vises automatisk når et avansert filter allerede er aktivt. «Lagre dette filteret» vises kun når det faktisk finnes noe å lagre, og førstegangsbrukere uten lagrede filtre får byggeren rett opp i stedet for en tom liste.
Smart-grid: lagrede visninger og filtre kan deles med alle
Når du lagrer en visning (Visninger-nedtrekken) eller et filter (Filter-panelet) kan du krysse av «Del med alle», og people-knappen på egne rader slår deling av/på i etterkant. Delte visninger/filtre dukker opp hos alle brukere i klienten under gruppen «Delt» med «Delt av <navn>», kan brukes og settes som personlig standard (stjernen — følger alltid eierens siste versjon), men kun eieren kan oppdatere, endre deling eller slette. Migrasjon: 20261016900081
Nytt panel-design i hele ePortal
Alle paneler, seksjonskort, skjemaseksjoner og KPI-kort i appen (dashbord, detaljsider, rapporter, HMS) har fått det nye panel-designet fra CRM-kundekortet: varm ramme, myk skygge og kompakte seksjonsoverskrifter med gull-ikon. Alle panelhoder har nå lik høyde — knapper og faner inne i et panelhode er justert ned i stedet for å gjøre hodet høyere. Innholds-faner (f.eks. Bøtter/Milepæler på prosjekt, Detaljer/Tiltak/Logg på avvik, Filer/SharePoint i dokumentpaneler) bruker den nye fanestilen med gull-understrek. Klikkbare KPI-kort får gull-kant ved hover. Ikoner, statusfarger og innhold er uendret — kun rammen rundt. Nedtrekksmenyer og forslag som åpnes inne i et panel klippes ikke lenger av panelkanten. Timer- og Godkjenning-sidene (tidsbank, min oversikt, egenmelding, forhåndsregistrering, overordnet godkjenning, tidsbank-administrasjon, eksport av timer) har fått samme panel- og fanespråk.
Varsler: meldingslogg og lengre visningstid på systemmeldinger
Systemmeldingene («toast» øverst til høyre) blir nå stående lenger så du rekker å lese dem — feilmeldinger i 10 sekunder og advarsler i 8 (suksess/info uendret). De siste 20 meldingene lagres i tillegg i en meldingslogg du åpner via klokke-ikonet i varsel-bjellens nedtrekk (ved siden av feilrapport-knappen). Loggen ligger kun i nettleseren (ingen server), beholdes gjennom økten og kan tømmes.
Strengere validering av Microsoft-innlogging
Innloggingstokens utstedt for andre Microsoft-tjenester (f.eks. Graph) avvises nå alltid, og en valgfri innstilling (AzureAd:AllowedAudiences) kan begrense hvilke app-registreringer som godtas. Ingen endring for vanlige brukere.
Tabeller med mange kolonner klemmes ikke lenger sammen til uleselig tekst
På sider med mange kolonner delte tabellen den tilgjengelige bredden likt på alle, også når det ga hver kolonne mindre plass enn ett tegn. Resultatet var at innholdet brakk nedover bokstav for bokstav — «Danske Bank…» kunne stå som en loddrett stripe med én bokstav per linje, og flere kolonneoverskrifter ble borte helt. Kolonnene har nå en nedre grense for bredde, og trenger tabellen mer plass enn skjermen gir, kan du i stedet bla sidelengs. Gjelder alle tabeller i ePortal.
Engelsk språkstøtte utvidet kraftig
Engelsk grensesnitt dekker nå 72 % av alle tekster, mot 45 % før. Blant annet er varslinger, dashbord, prosjekt, arbeidsordre, timeregistrering, lager, systemadministrasjon og datatilgang oversatt. Der engelsk mangler vises norsk tekst i stedet for tekniske nøkkelnavn. Fagmodulene bankavstemming, HMS og anleggsregister er bevisst ikke oversatt og vises på norsk.
Min profil dokumentert i håndboken
Ny håndbokside som forklarer hva du kan endre selv, hvilke felt som er låst og hvorfor, og hva som skjer når du bytter språk.
Språkvalget kan nå hentes og lagres fra Min profil
Profilen kunne verken lese eller lagre språk; språket kunne bare settes av en administrator under Brukere. Profilen returnerer nå språket, alltid som «norsk» eller «engelsk» uansett hvordan det er lagret fra før, og kan lagre et nytt valg. Eksisterende språkverdier i databasen er ikke endret — de tolkes ved lesing, så en verdi lagret som «NO» fra en import eller fra administratorsiden fungerer som før. Migrasjon: 20261016900101
Du velger nå selv om ePortal skal være på norsk eller engelsk
Under Min profil → Profilinformasjon finnes et nytt Språk-felt med norsk og engelsk. Grensesnittet skifter språk med en gang du lagrer — du trenger ikke logge ut og inn igjen. Tidligere kunne bare en administrator sette språket ditt, og endringen slo først inn ved neste innlogging. Datoer, klokkeslett og tall vises alltid på norsk format uansett språkvalg.
Knapper er blitt ett hakk mindre i hele ePortal
Knappene er strammet inn til en mer kompakt skala overalt, så knapperader tar mindre plass og flere handlinger får plass uten å brekke til ny linje. Ingen knapp er fjernet eller flyttet, og teksten er uendret — bare størrelsen.
Enter åpner nå raden du står på i tabeller
I tabeller der et klikk på raden åpner den, kunne du navigere mellom cellene med piltastene, men ikke faktisk åpne raden uten mus. Enter på cellen du står i gjør nå det samme som et klikk. Samtidig er en gammel feil rettet: sto du på en knapp inne i en rad — for eksempel «Slett» eller «Åpne rapport» — gjorde Enter ingenting i det hele tatt. Knappen svarer nå normalt på Enter, og raden åpnes ikke i stedet.
Lager og Innstillinger følger nå samme panel-design som resten av ePortal
Sidene under Lager og Innstillinger har fått de samme seksjonskortene, overskriftene og rammene som dashbord og detaljsider allerede bruker, slik at hele portalen ser lik ut. Innholdet på sidene er uendret.
Engelsk grensesnitt utvidet til bankavstemming, HMS og anleggsregister
Brukere med engelsk som språkvalg (Min profil → Profilinformasjon → Språk) ser nå engelsk tekst i bankavstemming (inkl. konsernavstemming og KAI-matching), hele HMS-modulen (sjekklister, avvik, kjemikalier, dokumentbibliotek) og anleggsregisteret (avskrivning, tilganger, Visma Business-synkronisering). Disse fagmodulene falt tidligere tilbake til norsk med vilje (eierbeslutning 2026-07-30); det er nå reversert for disse tre modulene. Et fåtall administrative fagmoduler (håndbok, lønnsart, integrasjonsovervåking, KAI-promptadministrasjon m.fl.) forblir norske inntil videre.
Globalt søk finner nå også enkeltoppgaver
CRM-oppgaver og prosjektoppgaver er lagt til som egne kategorier i det globale søket (Ctrl+K), på lik linje med salg, prosjekter og møter. Krever tilgang til henholdsvis CRM- eller prosjektmodulen.
Forbedringer¶
Abonnement / Masterordre (47 endringer)
Manuell kobling av tvetydige NXT-ordrelinjer
Ordrer der tilbudsoverføringen ikke kunne koble linjene automatisk (samme produkt flere ganger på ordren) kan nå avklares direkte i portalen: rader med årsak AmbiguousOrder på NXT-serienummer-siden får handlingen «Koble linjer», som åpner et sidepanel der tilbudslinjene (med opprinnelig tilbudsantall) pares manuelt mot NXT-ordrelinjene (med gjenstående/levert antall) én kobling om gangen, med bekreftelsesdialog, serverside-validering og sporing i tilbudets endringslogg. Neste synkkjøring binder serienumrene til instrumentene.
Abonnement: grunnmur for serienummer-kobling av tilbudsfødte ordrer
To nye databasetabeller kobler tilbudslinjer varig til ordrelinjene som ble opprettet i Visma Business NXT, sammen med en kjørbar backfill som kartlegger alle allerede fullførte overføringer; nye overføringer kobles nå automatisk rett etter fullført overføring (kun linjer der produktet er entydig på begge sider — resten merkes varig som tvetydige og avklares manuelt via koblingsvisningen på NXT-serienummer-siden). Serienummer-jobben bakfyller nå kartet automatisk i starten av hver kjøring (avgrenset og feilisolert — bare uavklarte overføringer leses, bakfyllet får halvparten av jobbens arbeidsbudsjett håndhevet per ordre, det roterer rettferdig gjennom restanselisten via en varig markør slik at en varig uavklart sak aldri sperrer senere ordrer, og et feilet eller uferdig bakfyll stopper aldri synken — også et tidsavbrudd mot NXT behandles som en vanlig ordrefeil der brukte sider telles mot budsjettet og markøren flyttes videre; resten tas ved neste kjøring), henter tilbudsfødte ordrer inn i førstegangs-/avstemmingslesingen, og binder serienumre også på tilbudsfødte instrumenter via kartet. En avkortet NXT-tilbakelesing (sidetaket nådd) brukes aldri som ordreidentitet — den feiler lukket og prøves på nytt senere. Migrasjon: 20261016900117
Masterordre: rediger produktnavn og notat direkte på linjen
Produktnavn-kolonnen på masterordre-linjene kan nå redigeres rett i tabellen, og en ny valgfri Notat-kolonne (slås på via Kolonner) gir fritekst per linje. En manuelt endret tekst overlever nå et produktbytte — teksten hentes kun fra det nye produktet når den aldri var endret manuelt.
Masterordre: kompakt radhøyde som standard
Masterordre-listen, tilbudslista og grid-workbench starter nå i kompakt tetthet så flere rader er synlige uten å rulle. Tetthet-knappen i verktøylinjen bytter fortsatt til komfortabel, og lagrede visninger med tetthet gjenoppretter sin egen verdi.
Malpakker: hele malpakken registreres i ett skjermbilde
Innstillinger → Masterordre → Malpakker er lagt om fra bred tabell + egen triggerskuff til en slank liste med redigeringspanel ved siden av. Produkt, antall/antallsfaktor, frekvenser og triggere fylles ut samlet og lagres med én «Lagre» — også for en helt ny malpakke, som tidligere måtte lagres to ganger (først raden, så triggerne). Lista viser nå produktnavn, «Antall × faktor», frekvensene som brikker («Støtte 12 mnd» / «Leie 24 mnd») og antall triggere, slik at malpakker kan sammenlignes uten å åpne dem. Triggere legges til fortløpende: hvert søketreff blir en brikke og feltet beholder fokus for neste søk. Forsøk på å bytte rad, fane eller side med ulagrede endringer gir en bekreftelse først.
Produktpakker: hele pakken registreres i ett skjermbilde, og kan klones
Innstillinger → Masterordre → Produktpakker er lagt om på samme måte som Malpakker: slank liste til venstre, fullt redigeringspanel til høyre. Navn, kategori, status og alle produktlinjer fylles ut samlet og lagres med én «Lagre» — også for en ny pakke, som tidligere måtte lagres først som rad og deretter som linjer. Produkter legges til fortløpende fra ett søkefelt (hvert treff blir en ny linje, feltet beholder fokus), linjene kan flyttes opp/ned og fjernes i tabellen, og kategori velges nå fra en liste over kategoriene som allerede er i bruk — eller skrives som ny — så «VLCC» og «vlcc» ikke lenger drifter fra hverandre. Ny «Klon»-knapp kopierer den valgte pakken med alle linjer til «
Produktpakker: lim inn linjer fra Excel eller NXT
Linje-seksjonen i produktpakke-panelet har fått «Lim inn linjer»: lim inn én rad per produkt (produktnr., antall og eventuelt frekvens i måneder, adskilt med tabulator) og få en forhåndsvisning som teller opp ny / oppdater / ugyldig før du bekrefter. Tomt antall blir 1, et produkt som allerede ligger i pakken oppdateres i stedet for å dupliseres — og limer du inn bare produktnr. og antall, beholdes frekvensen linjen har fra før (forhåndsvisningen sier «Uendret»), den nullstilles ikke. Rader med feil (manglende produktnr., ugyldig antall eller frekvens, samme produkt limt inn flere ganger) merkes med årsak og hoppes over. Linjene legges i pakken du har åpen — de lagres først når du trykker «Lagre» i panelet, så en innliming kan angres ved å avbryte.
Dokumentmaler: språket kan endres på en eksisterende mal
Språk-feltet på en dokumentmal var låst etter opprettelse, så en mal opprettet på feil språk måtte kopieres og bygges opp på nytt. Nå kan språket endres og lagres. Er malen aktiv og målspråket allerede har en aktiv mal for samme dokumenttype, avvises lagringen med en forklarende melding — det kan bare finnes én aktiv mal per dokumenttype og språk. Dokumenttypen er fortsatt låst.
Dokumentmaler: bunntekst med firmainfo, logo og sidetall
Dokumentmaler har fått en ny seksjonstype Bunntekst, som gjentas nederst på hver side. Velg én kolonne eller tre kolonner (venstre/midtstilt/høyre), skriv innholdet med samme rike tekst-editor som Fritekst — så en ledetekst kan være fet — og velg eventuelt hvilken kolonne som skal vise virksomhetens logo, med justerbar høyde. En mal kan ha én bunntekst, og den ligger alltid nederst i seksjonslisten. Merk: sidetallet er ikke lenger fast. Tidligere fikk alle genererte dokumenter «1 / 1» sentrert i bunnen; nå settes det inn som flettefeltene {{PageNumber}} og {{TotalPages}} der du selv vil ha dem. Maler som allerede finnes mister derfor sidetallet til noen legger til en bunntekst — det gjelder også standardmalene. Breaking change.
Dokumentmaler: styr dokumenttittelen selv
Toppfelt-seksjonen i en dokumentmal (Innstillinger → Masterordre → Dokumentmaler) har fått feltet «Dokumenttittel» og valget «Tittelplassering» (venstre/høyre). Tittelen kan inneholde flettefelt, f.eks. «Ordrebekreftelse {{MasterOrderNo}}», og plasseringen er uavhengig av logoplasseringen. Lar du feltet stå tomt brukes standardtittelen for dokumenttypen — og den er nå norsk også i ferdig genererte dokumenter. Tidligere skrev et ekte tilbud «Offer #12» og en masterordre «Master order #20087» på engelsk, mens forhåndsvisningen i editoren viste «Tilbud»/«Masterordre»; de leser nå samme kilde og kan ikke sprike.
Masterordre-listen laster nå på under ett sekund
Masterordre-listen brukte tidligere rundt 30 sekunder på å åpne. Fritekstsøket slo opp fakturakunde-, management-, valuta- og brukernavn per rad (et tomt søk kostet ~6 sek), sum-raden («verdi i år per valuta») regnet om alle års-verdiene for hele det filtrerte utvalget ved hver lasting (~11 sek), og siden sendte flere konkurrerende søk ved åpning. Søkegrunnlaget og kalenderår-verdiene lagres nå ferdig beregnet på ordren og holdes oppdatert automatisk når ordrer/linjer endres og ved NXT-import/-aktørsynk; side, antall og valuta-summer hentes parallelt; verdiberegningen leses rett fra en dekkende indeks; og listen samler oppstartskallene til ett kansellerbart søk. Datomotorens «Datoendringslogg» finner nyeste kjøring via et indeksert oppslag i stedet for å skanne hele sporingstabellen. Søk, antall og sum-rad går fra sekunder til under ett sekund — resultatet er identisk. Migrasjon: 20261016900079
Masterordre: serverstyrt liste — antallet og eksporten følger filteret
Masterordre-listen henter, filtrerer, sorterer og pager nå på serveren i stedet for å laste de første 500 radene og filtrere i nettleseren. Tellebadgen ved siden av tittelen viser antallet som faktisk matcher søket og filtrene (før viste den hele tabellen), Oppfølging-filteret og det avanserte filteret kjører på hele datasettet, og Excel/PDF-eksporten omfatter alle treff (ikke bare den synlige siden). Er treffet for stort for eksport, får du en tydelig melding om å snevre inn filtrene.
Masterordre: tydeligere arbeidskø og trygg linjereaktivering
Masterlisten viser nå en egen oppfølgingsindikator, ordrelinjegriden holder produktet synlig til venstre og handlingene til høyre, og linjenummer er skjult som standard. «Avslutt linje» har fått stoppikon; avsluttede linjer kan aktiveres igjen fra «Vis avsluttede», med radversjonskontroll og revisjonslogg. Ordrehodet prioriterer operative statuser foran KPI- og administrativ informasjon.
Tilbud: opprett frittstående tilbud
«Nytt tilbud»-knappen i tilbudslisten («Abonnement → Tilbud») er nå aktiv og åpner en skuff der du oppretter et minimalt tilbudsutkast: velg type (Enkeltsalg som aldri blir en masterordre, eller Nysalg som kan bli en masterordre ved aksept), valgfritt kundenr./aktør, valgfri salgsmulighet og leverings-/utløpsdato. Etter opprettelse åpnes tilbudet, klart for at du legger til linjer inline og deretter produserer og sender.
Nytt tilbud: søkbar kundevelger, utløper default 30 dager, ryddet bort aktør/deal-felt
«Nytt tilbud»-skuffen erstatter fritekst-kundenr. med en søkbar kundevelger (søker på både kundenummer og navn, samme velger som på masterordren), forhåndsutfyller «Utløper» til 30 dager frem, og har fjernet Aktør-ID- og Deal-ID-feltene fra opprettelsen (de settes etterpå i tilbudsdetaljene med gode søk). Kundevelgeren vises når CRM-modulen er aktiv — uten CRM beholdes tallfeltet.
Tilbud: rediger tilbudslinjer inline
Tilbudsdetaljene lar deg nå redigere tilbudslinjer direkte i et redigerbart rutenett — samme opplevelse som ordrelinjene på en masterordre: «Ny linje», velg produkt med søk-i-celle (beskrivelse og pris fylles automatisk fra kundens prisbetingelser når feltene er blanke), rediger antall, pris, valuta, frekvens, leveringsdato og instrumentreferanse, og slett linjer. Linjene kan bare endres mens tilbudet er et utkast — når det er produsert/sendt eller avsluttet, låses de og vises skrivebeskyttet.
Tilbud: samme linjerutenett vises også når tilbudet er låst
Et produsert/sendt eller avsluttet tilbud viser nå det samme redigerbare rutenettet som utkast — bare uten redigering, «Ny linje», Produktsøk og slett-knappen — i stedet for å bytte til en enkel tabell uten søk/sortering/eksport/kolonnevalg. Gir samme lese- og navigeringsopplevelse på et låst tilbud som på et utkast.
Tilbud: rabatt i kroner eller prosent på tilbudslinjer (enten/eller)
Tilbudslinjene har fått «Rabatt %»- og «Rabatt kr»-kolonner, på samme måte som ordrelinjene på en masterordre. En linje bruker enten prosent eller kronebeløp, aldri begge: skriver du inn et kronebeløp nullstilles prosenten (og omvendt), og kronebeløp går foran prosent. Linjebeløpet og tilbudssummene trekker nå fra rabatten uansett form. Rabatten følger med når et akseptert nysalg-tilbud blir en masterordre. Migrasjon: 20261016900049
Tilbud: «Opprett masterordre?»-valg ved aksept + «Konverter til ordre»
Når du registrerer et nysalg-tilbud som akseptert, oppretter portalen ikke lenger masterordren automatisk: du blir spurt «Opprett masterordre?» og velger selv Ja (masterordren opprettes og åpnes) eller Nei (tilbudet forblir akseptert uten ordre — ikke alle aksepterte tilbud blir ordrer). Tilbudsdetaljene har i tillegg en «Konverter til ordre»-knapp som oppretter masterordren direkte fra et åpent eller akseptert nysalg-tilbud. Enkeltsalg-tilbud spør aldri (de blir aldri en masterordre).
Tilbud-detalj: ny topptekst og faneinndeling (som masterordre)
Tilbudspanelet har fått samme oppsett som masterordre-detaljen: en kontekstavhengig hovedknapp for neste steg (Produser/Send/Purr) med en «Handlinger»-meny for øvrige valg, og en fanestripe med Linjer, Kontakter, Korrespondanse, Kommentarer, Dokumenter, Endringslogg og Tilbudshistorikk. Linjer-fanen viser linjene og utsendelsesloggen som før; innholdet i de øvrige fanene kommer fortløpende.
Masterordre: «Overfør til NXT» flyttes til tilbud-aksept-flyten
Den manuelle «Overfør til NXT»-handlingen på masterordre-nivå (rad-meny + Ordrer-fane-knapp) er fjernet; overføring til NXT hører hjemme på det aksepterte tilbudet (kommer). Ordrer-fanen på masterordren viser fortsatt overføringsloggen som en ren lesevisning.
Tilbud: serverstyrt liste + mer av detalj-pariteten med masterordre
Tilbudslisten («Abonnement → Tilbud») henter, sorterer og pager nå på serveren i stedet for å laste de første 500 radene og filtrere i nettleseren. Tellebadgen ved tittelen viser antallet som faktisk matcher søket/filteret (ikke antall lastede rader), og en ny sum-linje under listen viser tilbudssum per valuta over hele det filtrerte settet (aldri summert på tvers av valutaer). Detaljpanelet kan nå legges til høyre eller i bunnen — samme veksling som masterordren, og valget huskes med lagrede visninger. En direktelenke (?offer=) viser «Viser kun tilbud N» med «Vis alle»-knapp, topplinjen i tilbudshodet viser opprettet-dato, og fanene Kontakter/Korrespondanse/Kommentarer/Dokumenter/Endringslogg/Tilbudshistorikk har fått antall-merker. Fritekstsøket og status-/type-filteret kjører på hele datasettet.
Tilbud-detalj: Korrespondanse-, Tilbudshistorikk-, Endringslogg- og Kontakter-faner
Tilbudsdetaljen viser nå (som masterordre) kundens korrespondanse, kundens øvrige tilbud (inkl. avslåtte/utløpte), full endringslogg (produser/send/purr/utfall/linjeendringer med felt, gammel→ny verdi, bruker og tidspunkt) og kundens kontakter (navn, tittel, e-post, telefon) med direktelenke til kontaktkortet i CRM.
Dokumenter på tilbud
Last opp, last ned og slett vedlegg på et tilbud, med et per-dokument «I kunde-PDF»-valg (foreløpig inaktivt til tilbuds-PDF er klar). Migrasjon: 20261016900051
Tilbud-detalj matcher masterordre-oppsettet
Linjer-fanen har fått «Ny linje» flyttet inn i rutenett-verktøylinjen (ved «Produktsøk»), tunge seksjonsoverskrifter er fjernet/dempet, og fakta i ordrehodet vises nå som et horisontalt fakta-band likt masterordre. «Konverter til ordre» heter nå «Konverter til masterordre».
Tilbud: koble til salgsmulighet + opprett tilbud fra en salgsmulighet
Et tilbud kan nå kobles til (eller fra) en salgsmulighet fra tilbudsdetaljene («Koble salgsmulighet»), uavhengig av om det blir en masterordre. Salgsmulighet-kortet har fått en «Nytt tilbud fra salgsmulighet»-knapp som åpner tilbudsopprettelsen ferdig utfylt med salgsmuligheten og dens kunde.
Tilbud: søkbar deal-velger ved kobling til salgsmulighet
«Koble salgsmulighet» på tilbudsdetaljene erstatter det rå deal-ID-feltet med et søkbart deal-oppslag (samme velger som på masterordren): søk opp salgsmuligheten på navn, se den koblede salgsmuligheten som en etikett i stedet for et bart tall, og tøm feltet for å koble fra. Deal-velgeren vises kun når CRM-modulen er aktiv — uten CRM beholdes tallfeltet.
Masterordre: oppslag i ordrehodet (ansvarlig, selger, valuta og salgsmulighet)
Ordrehode-skuffen på masterordren erstatter de rå tallfeltene med ekte oppslag: Ansvarlig og Selger velges nå fra en brukerliste i stedet for å taste en bruker-ID, Valuta velges fra en ISO-valutaliste (viser kode og navn), og «Koble til salgsmulighet» har fått et søkbart deal-oppslag i stedet for å taste deal-ID (kun når CRM-modulen er aktiv — ellers beholdes tallfeltet). Ansvarsenhet-feltene (R-dimensjoner) forblir fritekst siden kodeverdiene ligger i Visma uten en katalog å velge fra.
Masterordre-linjer: Lagre/Forkast, radmerking og masseoperasjoner
Celleendringer på ordrelinjene samles nå som ulagrede endringer til du trykker Lagre (Forkast ruller tilbake, Ctrl+Z angrer) — produktbytte lagres fortsatt umiddelbart med validering og prisutfylling, og endrede leveringsdatoer krever én overstyringsårsak for hele batchen. Linjene kan merkes med avkryssing, med to masseoperasjoner i verktøylinjen: «Slett valgte» (myk lukking med obligatorisk årsak per batch) og «Rekalkuler priser» (kundeprisen slås opp per merket linje og legges inn som ulagrede endringer du bekrefter med Lagre).
Tilbudslisten: avansert filter, kolonnevalg, lagrede visninger og eksport
Tilbudslisten («Abonnement → Tilbud») har fått samme verktøylinje som masterordre-listen: avansert kolonnefilter, kolonnevalg (vis/skjul og rekkefølge), lagrede visninger og filtre, tetthetsveksling og eksport til Excel/PDF. Sidehodet har i tillegg fått en «Nytt tilbud»-knapp som synlig plassholder — tilbud opprettes i dag fra en masterordre (ordreforslag / enkelttilbud) eller fra en salgsmulighet, ikke frittstående.
Masterordre-listen: kalenderår-verdier, avansert filter og eksport
Den misvisende «Årsverdi»-kolonnen (ren run-rate som ignorerte datoer) er erstattet av faktiske kalenderår-summer: «Verdi i år» og «Verdi neste år» vises i listen, «Verdi +2 år» og «Verdi +3 år» kan slås på via kolonnevalg, og ordrehodet viser «Verdi i år» med de tre neste årene på en egen linje. Verdiene beregnes fra hver linjes planlagte dato og frekvens (engangslinjer teller i sitt år) med samme valutaregel som før. Listen har i tillegg fått avansert kolonnefilter og eksport til Excel/PDF.
Masterordre: rikere ordrehode fra NXT
Detaljpanelet på masterordre viser nå flere felter fra Business NXT-ordren: Ordredato, Sluttdato forsendelser, Salgstype, Rental, BPP-avtale, Type oppfølgning, Trans.gr. 1 og Ordreforslag-status (rå koder inntil verdikataloger kommer), pluss et «Låst/overført»-merke når ordren er låst eller overført i NXT. Fakturakunden hentes nå direkte fra NXT-ordren (aktørrelasjonen brukes som fallback). Migrasjon: 20261016900031
Aktør-klassifisering fra NXT: IMO-nr, kundetype, BPP-status og flåte
Aktørsynken henter nå fire klassifiseringsfelter fra Business NXT-aktøren (IMO-nr, Kundetype, BPP-status, Flåte) og lagrer dem på kundekortet. Masterordre-listen har fått fire nye kolonner (skjult som standard — slå på via kolonnevalg), fritekstsøket i listen treffer også IMO-nr, og kundekortet viser en egen skrivebeskyttet «ERP-klassifisering»-gruppe når verdiene finnes. Kodene vises som rå tall inntil verdikataloger kommer. Migrasjon: 20261016900032
Masterordre: verdikatalog-navn for ordrehodets NXT-koder
Ordrehodets gruppekoder fra NXT (Masterordre-status, Ordreforslag-status, Type oppfølgning, Tapsårsak og Ordreforslag-frekvens) kan nå navngis i verdikatalogene (Innstillinger → Abonnement – feltoppsett → Verdikataloger), på samme måte som instrumentgruppene på linjene. «Hent verdier fra ordre og linjer» henter også inn kodene som faktisk er brukt på ordrehodene, og detaljpanelet viser «Navn (kode)» der navn finnes — rå kode ellers. Migrasjon: 20261016900033
Masterordre: Transaksjonsgruppe 1 kan navngis i verdikatalogene
Ordrehodets «Trans.gr. 1» (transactionGroup1) vises ikke lenger som et rått tall: koden har fått sin egen verdikatalog («Transaksjonsgruppe 1») på linje med de øvrige NXT-ordrehodekodene. Navngi kodene under Innstillinger → Abonnement – feltoppsett → Verdikataloger — «Hent verdier fra ordre og linjer» henter også inn de brukte transaksjonsgruppe-verdiene, og ordrehodet viser «Navn (kode)» der navn finnes. Migrasjon: 20261016900047
Smart-grid: radmerking virker nå i gruppert visning
Avkryssingskolonnen for radmerking vises nå også når griden er gruppert (f.eks. masterordre-ordrelinjer, som standard gruppert på instrumentgruppe) — tidligere måtte grupperingen fjernes før rader kunne merkes for masseoperasjoner som «Slett valgte» og «Rekalkuler priser». Hver gruppeoverskrift har i tillegg en egen avkryssingsboks som merker/avmerker alle radene i gruppen under ett (delvis merket gruppe vises som halvvalgt, også når gruppen er kollapset), og «merk alle» i kolonneoverskriften teller alle radene på tvers av gruppene. Merkingen følger radene og overlever gruppering/avgruppering og kollaps/utvid.
Masterordre: administrasjon av malpakker (produktmaler)
Ny fane «Malpakker» under Innstillinger → Abonnement – feltoppsett: koble forbruksprodukter (antall, antallsfaktor, støtte-/leiefrekvens) til triggerprodukter (instrumenter) via produktsøk og en egen trigger-skuff. «Slett» deaktiverer malpakken (aldri fysisk sletting). Ny datatilgangstype «Malpakker (abonnement)» styrer se/opprette/endre/slette. Pakker-fanen i produktsøket og automatiske forslag på ordrelinjene kommer i egne leveranser. Migrasjon: 20261016900035
Masterordre: aktivaliste-siden (mock-data) er fjernet inntil videre
Siden «/subscription/assets» viste fiktive demo-skip fra en mock-tjeneste som om de var ekte data. Ruten og menyvalget er fjernet til et ekte API for aktiva finnes; komponentene beholdes i kodebasen for senere gjenbruk.
Masterordre: malpakker i produktsøket og forslag på ordrelinjene
Produktsøket på ordrelinjene har fått en ny fane «Pakker» som viser de aktive malpakkene: velg en pakke, se forbrukslinjene med beregnet antall (antallsfaktor × valgt antall) og frekvens (støtte eller leie per rad), og sett inn linjene i én operasjon — pris/rabatt fylles automatisk fra kundens prisbetingelser når feltene er blanke, og dobbeltklikk/nettverks-retry kan aldri sette inn linjene to ganger. I tillegg: når du velger et produkt på en ordrelinje som er triggerprodukt for en malpakke, vises et diskret forslag over griden («MB10387 har en malpakke: N forbrukslinjer») med Legg til/Avvis — linjer settes aldri inn automatisk.
Masterordre/CRM: nøytrale feltnavn i API-kontrakten for aktør-klassifiseringen
De fire klassifiseringsfeltene fra NXT byttet tekniske feltnavn fra shipping-spesifikke til kildenøytrale navn (imoNo/customerTypeCode/bppStatusCode/fleetCode → actorInfo1/actorGroup1Code/actorGroup3Code/actorPriceGroupCode) i API-svar og grid-kolonnenøkler — visningsnavnene er uendret. Lagrede kolonneoppsett som refererte de gamle nøklene mister stille disse kolonnene (ufarlig: kolonnene var skjult som standard og har vært ute i få dager — slå dem på igjen via kolonnevalg).
Masterordre/CRM: aktør-klassifiseringens feltnavn kan nå tilpasses per kunde
Feltene IMO-nr, Kundetype, BPP-status og Flåte er Bruusgaard-navn på generiske NXT-felter (information1, group1, group3, employeePriceGroup). Navnene kan nå endres per kunde under Innstillinger → Abonnement – feltoppsett → fanen for feltnavn (feltnøklene ActorInfo1/ActorGroup1/ActorGroup3/ActorPriceGroup) — masterordre-listens kolonnetitler og kundekortets «ERP-klassifisering»-etiketter følger katalogen, med dagens norske navn som standard (migrasjonen seeder dem, så eksisterende kunder ser ingen endring). Migrasjon: 20261016900041
Masterordre-regler: regelhandling-nedtrekket viser bare de lovlige valgene per regel
I regel-editoren (Innstillinger → Masterordre-regler) filtreres «Handling»-nedtrekket nå til de regelhandlingene som faktisk er lovlige for regelen, i tråd med motorens autorisasjonsmatrise: en systemregel (S1/S4/N1/S5/R3) viser sin egen handling, og S1/S4 kan i tillegg konservativt byttes til «stopp for gjennomgang» (en gjennomgangsstopp uten dato-effekt) — N1/S5/R3 er låst til sin egen handling. En frittstående regel viser det trygge frittstående settet («marker avvik» / «stopp for gjennomgang»). Før tilbød nedtrekket «marker avvik» også på systemregler og skjulte systemregelens egen handling; serveren avviste allerede ulovlige bytter ved lagring, men nedtrekket viste dem.
Masterordre: filtrer lista på klassifisering (kundetype, BPP-status, flåte)
Skipets NXT-klassifisering filtreres direkte fra smart-grid-kolonnenes egne filtre i masterordrelista — kundetype, BPP-status og flåte, med tenantens egne feltnavn fra «Abonnement – feltoppsett». Filtrene kan flervelges og kombineres med søk og øvrige filtre.
Masterordre: ordrehodet er lettere å lese
Detaljpanelet skilte tidligere så vidt mellom sidebakgrunn, ordrehodekortet og feltene inni det, og alle ledetekster var like tunge, så innholdet fløt sammen. Kortet står nå tydelig frem, verdi per år og planlegging er samlet i ett felt, og tallene er tyngre enn ledetekstene sine. Ordrenummeret vises uten «MO-»-forstavelsen, skipets kundenummer står foran skipsnavnet, og merkelapper for kopiert/låst/slettet aktør er flyttet ned på egen linje slik at bare statusen står ved tittelen. Knappen «Vis ordreforslag» er fjernet fra ordrehodet — køen åpnes fra Abonnement → Ordreforslag. På ordrelinjene er de to dato-knappene («Datohistorikk» og «Hvorfor endret datoen seg?») samlet under én Datoer-knapp med meny, så handlingskolonnen blir smalere.
Masterordre-listen laster videre når du scroller
Sidevelgeren under masterordre-listen er erstattet med uendelig scroll: listen henter flere ordrer av seg selv når du nærmer deg bunnen, så du kan bla gjennom utvalget uten å klikke deg side for side. På telefon laster lista maksimalt 1 000 masterordrer — du får beskjed nederst om at søket må avgrenses for å se resten.
Masterordre: datohistorikken på en linje er blitt en tidslinje
«Hvorfor endret datoen seg?» og «Endringslogg» viste de samme radene i to former, og begge listet én kort per motorkjøring med alle faktaene synlige. På en linje som vurderes hver natt druknet de få reelle datoendringene i identiske «ingenting skjedde»-kort. De to er nå én Datohistorikk: en tidslinje med dato og klokkeslett, en norsk overskrift for hva som skjedde, en forklaring av regelen som avgjorde det, og faktaene bak en utvider. Tidslinjen viser de fem siste datoendringene pluss dagens tilstand, med «vis mer» for eldre — og en avkryssingsboks for også å ta med vurderingene uten endring, som sier hvor mange de er. Simuleringer fra regeladministrasjonen holdes utenfor: en tørrkjøring er ikke noe som har skjedd med linjen. Forklaringene er oversatt til norsk; de var engelske før.
Avansert filter på tilbudslinjer
Linjetabellen på tilbud har nå samme «Nytt avansert filter»-knapp som linjetabellen på masterordre, slik at du kan bygge filterregler med flere betingelser også på tilbudslinjene.
CRM (15 endringer)
Bedre møteoversikt
Møtesiden har fått en kompakt verktøylinje, en tydelig toukerskalender og en rikere oversikt over kommende møter med tid, kunde, sted og møtetype. Seks måneder vises som uker og tolv måneder som måneder, med klikk tilbake til detaljvisning. Listevisningen er fortsatt standard på mobil.
CRM: varsel ved ulagrede endringer + tilgjengelighets- og valideringsforbedringer
Navigerer du bort fra kundekortet, ny salgsmulighet eller ny avtale med ulagrede endringer i skjemaet, får du nå en bekreftelsesdialog («Du har ulagrede endringer…») i stedet for at endringene forsvinner stille. I tillegg: egendefinerte felter er nå skjermleservennlige (klikkbare feltetiketter og påkrevd-merking), fanene under CRM-innstillinger kan betjenes med tastatur, lagre-knappen på aktivitetsdetaljer deaktiveres når skjemaet er ugyldig, og «Lagre kategorier» på kundekortet viser lagre-spinner og tåler dobbeltklikk.
CRM: fire brukeropplevelse-forbedringer
Kundekortets og avtaledetaljsidens faner kan nå deles og bokmerkes (aktiv fane speiles i adresselinjen som ?tab=, så oppdatering og delte lenker åpner riktig fane), en vunnet salgsmulighet feires med en kort trofé-/konfetti-animasjon og en varmere melding med tittel og verdi (animasjonen droppes automatisk ved redusert bevegelse i operativsystemet), tidslinjens datogrupper og status-/retningsmerker vises nå på riktig språk, og entitetslenkene på korrespondansedetaljer (kunde/kontakt/møte) er ekte klikkbare og tastaturtilgjengelige lenker.
CRM: UI-konsistens på kundekortet
Kundekortets knapper og merker følger nå prosjektets designkonvensjoner konsekvent: primærhandlinger (lagre, «+ Ny …») bruker mørk handlingsknapp i stedet for den blå/gull-varianten, avbryt-knapper er ensartet nøytrale, og tomme lister bruker samme dempede ikonstil. Ren visuell opprydding — ingen endring i oppførsel.
CRM: enhetlig filter og paginering i listene
Aktivitets-, møte- og korrespondanselistene bruker nå smart-gridens innebygde paginering (samme sidefot med sidevelger som kunde-, kontakt- og avtalelisten) i stedet for en egen pagineringsrad, og filter-knappen i møte- og oppgavetavle-visningen lyser nå med samme aktiv-farge som resten av CRM. Ren visuell/strukturell opprydding — samme filtrering, søk og sidestørrelser (25/50/100/200) som før.
CRM: enhetlig filter-idiom i deal-pipeline
Salgsmulighet-pipelinen (kanban) bruker nå samme sammenleggbare «Filter»-knapp (trakt-ikon med tellemerke) som resten av CRM: filtrene på ansvarlig og tag ligger i et panel som slås av/på i stedet for en alltid synlig filterlinje. Samme filtrering som før — kun presentasjonen er ryddet.
CRM: tydelige laste-/tomtilstander på grafer
Grafene på CRM- og avtale-dashbordene og pipeline-visningene viser nå en tydelig «Ingen data tilgjengelig»-tilstand med ikon når det ikke finnes data, i stedet for at grafkortet forsvinner eller står som en tom akseramme. Alle CRM-grafer bruker samme laste-/tomtilstand-mønster (spinner mens data lastes, ensartet tom-tilstand ellers). Ren visuell opprydding — ingen endring i data eller beregning.
Engelsk språkvalg viser ikke lenger rå Crm.*-nøkler
CRM-blokken i den engelske språkfilen var bare delvis speilet (155 av 1044 nøkler), så engelsk språkvalg viste rå nøkkelnavn på det meste av CRM-flaten. Alle manglende nøkler er nå speilet inn (norsk tekst som midlertidig plassholder — oversettelse kommer som eget arbeid).
Globalt søk finner nå salg og loggførte e-poster
Søket (Ctrl+K) dekker nå også salgsmuligheter (tittel/kunde) og loggførte e-poster (emne/avsender/mottaker/kunde). E-postinnholdet søkes ikke.
Outlook-tillegget: vedlegg valideres ved lagring
Vedlegg som lagres fra Outlook kontrolleres nå mot tillatte filtyper og maksimal filstørrelse (samme regler som arbeidsordre-dokumenter). Avviste vedlegg rapporteres tilbake i tillegget; e-posten lagres uansett. E-postinnholdet lagres nå også i renset form.
Outlook-tillegget: tydeligere lagring og penere koblingsvalg
Lagre-knappene har fått full bredde med forklarende undertekst, koblings-chipsene og panelene følger ePortals nye panel-design, søket viser «Vis flere» i stedet for å kutte treff, forslag vises kun når e-posten har en kjent kunde, og «Koble til møte»-seksjonen er erstattet av møtevalg direkte i koblingsvelgeren (nytt møte foreslås kun når e-posten er en møteinnkalling).
CRM kundekort — Brønnøysund fyller også inn e-post, telefon og nettside
«Hent fra Brønnøysund» på en ny kunde fyller nå også inn e-post, telefon og nettside (nettsiden får automatisk «https://» foran) i tillegg til navn, adresse og bransje. På en eksisterende kunde tar «Oppdater fra Brønnøysund»-dialogen med e-post/telefon/nettside som egne avhukbare felt, så du selv velger om registerets kontaktinfo skal overskrive din egen.
CRM kundekort — land velges fra søkbar liste med flagg
Land-feltet på kundekortet (hovedadresse og adressemodal) er nå en søkbar nedtrekksliste med flagg i stedet for et fritt tekstfelt. Du kan søke på norsk eller engelsk navn eller landkode, og landet lagres som ISO-landkode. Eksisterende verdier beholdes.
CRM kundekort — selger og ansvarlig velges fra brukerliste
Feltene «Selger» og «Ansvarlig» under Kommersielle vilkår er nå søkbare nedtrekkslister over ePortal-brukere i stedet for frie tekstfelt. Du søker og velger en bruker på navn; ansattnummeret lagres som før, og en eksisterende selger/ansvarlig er forhåndsvalgt når du åpner kunden.
Outlook-tillegget: tydeligere tekst og bedre lesbarhet
Gjennomgående typografi-opprydding i tillegget: klarere seksjonsoverskrifter, konsistente merker, og e-postadresser som ikke lenger brytes midt i.
Bankavstemming og konsernavstemming (29 endringer)
Bankavstemming: nytt dashboard-oppsett
Kontooversikten har fått én tydelig statuskolonne, gruppeheadere per regnskapsklient og en redusert KPI-rad. Kolonnene for uavstemte poster, avstemmingsstatus og siste import er samlet til én statuskolonne med fire tilstander (Ikke konfigurert, Ikke importert, Pågår, Avstemt) og lenke rett til riktig handling; kontoer som krever handling sorteres øverst. Hver regnskapsklient har nå sin egen gruppeheader med Avstemt X/Y og differanse per valuta, i stedet for en egen klientoversikt over tabellen (fjernet); totalraden er forenklet til én linje for hele utvalget, og grupper kollapses automatisk når tenanten har mer enn 5 regnskapsklienter. KPI-raden øverst er redusert fra fire til tre kort: «Uavstemt» (slått sammen fra to tidligere kort), «Differanse» (ett hovedbeløp med en «Per valuta»-utvider ved flere valutaer) og «Perioder avstemt» (med fremdriftsindikator).
«Vis flere» i avstemmingslistene — ingen poster er lenger utenfor rekkevidde
Arbeidsbenkene for bankavstemming og konsernavstemming viste maks 200 poster per liste uten mulighet til å hente resten; på kontoer med mange åpne poster var de eldste (og viktigste) radene utilgjengelige. Nå viser en «Vis flere»-knapp nederst i hver liste de neste 200, og etter en match eller import beholdes det utvidede vinduet. Totaler, antall og «velg alle» dekker som før hele utvalget.
Bankavstemming: samlet «Mer»-meny og periode som måned
Verktøylinjen samler «Administrer kontoer» og «Automatisk avstemming» i en ny «Mer»-meny i stedet for to faste knapper, mens Rapporter-menyen står som før. Periodevelgeren viser nå måned og t.o.m.-dato (f.eks. «August 2026 · t.o.m. 31.08») i stedet for et rått datofelt, siden en avstemmingsperiode alltid er en hel måned.
Konsernavstemming: samme verktøylinje som bankavstemming
Konsernavstemmingsdashboardet får den samme verktøylinjen som er beskrevet over: «Administrer par» og «Automatisk avstemming» ligger nå i en «Mer»-meny, og periodevelgeren viser måned og t.o.m.-dato.
Bankavstemming: valuteringsdato (ValDt) styrer nå avstemmingsperioden
Hovedbokspostenes valuteringsdato (ValDt) — ikke bilagsdatoen (VoDt) — er nå den datoen som avgjør hvilken periode en post hører til, saldoberegning, matchevinduet, låsing av lukkede perioder og rapport-cutoff. En post uten valuteringsdato er et datakvalitetsavvik: den utelates fra periodesaldoen (aldri «gjettet» til bilagsdatoen), vises med et varselikon i arbeidsflaten (bilagsdatoen vises da), og en periode kan ikke fullføres (heller ikke automatisk lukkes) så lenge den inneholder hovedboksposter uten valuteringsdato — fullføringen blokkeres med et handlingsrettet antall. (Automatisk matching bruker bilagsdatoen som reserve når valuteringsdato mangler, slik at matchingen ikke blir dårligere enn før.) Valuteringsdatoen fylles inn automatisk ved neste hovedbok-import (self-heal), så etter oppgradering bør hver bankkontos hovedbok importeres på nytt én gang slik at eksisterende poster får valuteringsdato. I arbeidsflaten vises nå valuteringsdatoen som primær dato med bilagsdatoen under når de er ulike. Migrasjon: 20261016900087
Konsernavstemming: valutadifferanse per valuta synliggjøres (FX-gap)
Konsernavstemmingens differanse regnes på hjemmebeløp, så en valuta-revalueringsdifferanse som balanserer på totalen men ikke per valuta var usynlig. Snapshotet lagrer nå per-valuta-summer (SumA/SumB/differanse per ISO-valuta) som child-rader, og en link flagges som avvik også når én enkelt valuta er ubalansert utover toleransen — selv om totalen går i null. En blank valutakode bokføres på regnskapsklientens hjemmevaluta (NOK — det finnes i dag ingen per-klient hjemmevaluta i systemet, og regnskapsklientene er norske), aldri tvunget over på linkens fremmedvaluta. Nytt endepunkt gir per-valuta-oversikten til dashboard/rapport (visningen kommer i en koordinert frontend-leveranse). Migrasjon: 20261016900090
Bankavstemming: valuta- og NOK-beløp i hver sin kolonne
I avstemmings-arbeidsflaten (bank- og hovedbokslistene) vises valutabeløpet og NOK-beløpet nå i hver sin kolonne («Beløp» og «NOK») i stedet for stablet i samme celle, med sifrene høyrejustert og tabulær-justert så beløpene er lette å sammenligne. På en NOK-konto (uten eget valutabeløp) viser NOK-kolonnen en tankestrek. Kun visuelt — ingen funksjonsendring.
Bilag fra bankavstemming overføres til Visma med en gang
Når du oppretter et bilag fra bankavstemmingen sendes det nå til Visma Business NXT umiddelbart, og du får beskjed om det ble bokført eller bare overført. Tidligere lå bilaget og ventet på neste planlagte overføring.
Bankavstemming: NOK-kolonne i Excel-eksport og NOK-sum i bunnlinjen
Excel-eksporten av bank- og hovedbokslistene («Rapporter»-menyen) har nå en egen NOK-kolonne med hjemmebeløpet ved siden av beløpskolonnen, i tråd med visningen på skjermen. På en valutakonto viser i tillegg bunnlinjen i hver liste NOK-summen ved siden av valutasummen («… · NOK …») for både «Uavstemt» og «Total».
Bankavstemming: overstyr matchetoleranser per kjøring
«Automatisk avstemming»-dialogen viser nå Beløps-, Valuta- og Dagstoleranse forhåndsfylt fra kontoinnstillingene, og du kan endre dem for den aktuelle kjøringen uten å endre den lagrede innstillingen (samme fleksibilitet som konsernavstemmingen). Tomme/uendrede felt bruker kontoinnstillingen som før.
Bankavstemming: slå av summatching per kjøring
«Automatisk avstemming»-dialogen har fått en av/på-bryter for summatching (N:1 / 1:N / N:N), forhåndsfylt fra kontoinnstillingen. Slå den av for å kjøre kun én-mot-én-matching i den aktuelle kjøringen — nyttig når du vil unngå at flere små poster grupperes mot én stor. Den lagrede kontoinnstillingen endres ikke.
Bankavstemming: avstemmingsbro
Under «Logg»-menyen i avstemmings-arbeidsflaten finner du nå «Avstemmingsbro»: et panel som for en valgt dato forklarer differansen mellom banksaldo og hovedbokssaldo — differansen brytes ned til åpne (uavstemte) poster, og det som eventuelt står igjen er restdifferansen. En grønn melding viser «ren timing» når restdifferansen er tilnærmet null, en rød melding «reelt avvik» når den er større enn 0,01.
Bankavstemming: se åpne poster ved periodefullføring og per periode
Dialogen «Fullfør periode» lister nå de åpne (uavstemte) postene du er i ferd med å overføre, så du ser nøyaktig hva du bekrefter før perioden lukkes. I tillegg har periodehistorikken fått en «Åpne poster»-knapp per periode som viser de postene som ble overført da perioden ble fullført.
Bankavstemming: kontooversikten kan nå sorteres, filtreres og søkes i
Oversikten på dashboardet var en fast tabell uten sortering, kolonnefilter, søk eller sidevisning; den er nå en smart-grid, så du kan sortere ved å klikke en overskrift, filtrere per kolonne, søke i fritekst over alle kolonner, bla i sider og selv velge hvilke kolonner du vil se. Kontonummer står låst til venstre når du ruller sidelengs, og har du flere regnskapsklienter grupperes radene per selskap. «Hovedbokskonto» er delt i eget nummer og navn slik at du kan sortere og filtrere på hver av dem, og «Regnskapsklient»-kolonnen er tatt bort siden gruppeoverskriften allerede viser den. Verktøylinja hadde åtte likestilte knapper og ingen tydelig førstehandling — «Importer alle kontoer» er nå den ene mørke knappen, med CAMT-filimport som valg under samme knapp. En konto som mangler import kan importeres direkte fra raden, og beløp vises i kontoens egen valuta i stedet for alltid i kroner.
Bankavstemming: beløpene i «balanserer ikke»-meldingene vises nå med norsk tallformat
De to meldingene du får når en match eller netting ikke går opp formaterte beløpene etter serverens egen språkinnstilling, ikke etter norsk. Avhengig av hvilken server som svarte kunne samme avvik derfor stå som 1,000.00 i én melding og 1 000,00 i en annen. Formatet er nå eksplisitt norsk uansett. Selve meldingsteksten er uendret.
Bankavstemming: kontooppsettet kan nå sorteres, filtreres og søkes i
Siden «Kontooppsett» var en fast tabell: ingen sortering, ingen kolonnefilter, ingen søk, og ingen sidevisning uansett hvor mange kontoer selskapet har. Den er nå samme tabelltype som resten av modulen, så du kan sortere ved å klikke en overskrift, filtrere per kolonne, søke i fritekst, bla i sider og selv velge hvilke kolonner du vil se — valget huskes til neste gang. «Hovedbokskonto» er delt i eget nummer og navn slik at du kan sortere og filtrere på hver av dem. Har du flere regnskapsklienter grupperes radene per selskap som før; skulle to selskaper være registrert med helt likt navn og kode, vises de nå som to adskilte grupper i stedet for å bli slått sammen. Kolonnen «Initialisert» sorterer på datoen, så kontoer som aldri er tatt i bruk samler seg.
Bankavstemming: valutaen står nå i egen kolonne på dashboardet
Beløpene på kontooversikten har vist kontoens egen valuta en stund, men valutaen fantes ikke som kolonne, så den måtte leses ut av tallformatet. Nå står den mellom hovedbokskontoen og saldoene, og kan sorteres og filtreres som de øvrige kolonnene. Kontoer-siden har hatt kolonnen fra før.
Bankavstemming: «Status» het det samme på tre sider, men betydde ikke det samme
På Kontoer forteller kolonnen om selve kontoen er i bruk (Aktiv/Inaktiv), mens den på Oversikt og Konsern forteller hvor langt avstemmingen er kommet (Avstemt, Ikke avstemt, Fullført). Fordi ordet læres på Oversikt, ble det lest som fremdrift også på Kontoer — der det ikke sier noe om avstemmingen i det hele tatt. Kolonnene heter nå Kontostatus og Avstemmingsstatus etter hva de faktisk viser, både i tabellene og i PDF- og Excel-eksportene av avstemmingsrapportene. Statuskolonner andre steder i modulen (regler, transaksjoner, filimport) er uendret.
Konsernavstemming: paroversikten kan nå sorteres, filtreres og søkes i — og batch auto-match må bekreftes
Paroversikten var en fast tabell; den er nå en smart-grid med sortering, kolonnefilter, fritekstsøk, sidevisning, kolonnevelger og avansert filter (også slått på for bankavstemmingens kontooversikt). Kjør auto-match ber nå om bekreftelse først, og dialogen sier eksplisitt om den gjelder de merkede parene eller alle synlige — omfanget avhenger av filteret, så filter-knappen viser tydelig når et filter er satt. Videre: «Nettoavvik» og «Nettodifferanse» het det samme to steder på samme skjerm og heter nå Netto differanse begge steder, «Ikke påbegynt» er nå «Ikke startet» som ellers i modulen, fortegnsformelen vises per par (den er konfigurerbar per par, så den kan ikke stå én gang i kolonneoverskriften), KPI-ikonene får farge etter verdien i stedet for etter hva kortet heter, og siden veileder deg nå når det ikke finnes par ennå.
Bankavstemming: differanse vises per valuta
Har du bankkontoer i flere valutaer, viste oversikten én netto- og bruttodifferanse for alle sammen. Beløp i ulike valutaer kan ikke legges sammen til ett tall — 100 USD og 100 NOK er ikke 200 av noe — og to differanser i hver sin valuta kunne til og med utligne hverandre til null, slik at det så avstemt ut mens begge sto åpne. Nøkkeltallet viser nå én linje per valuta, merket «Per valuta», og grønt hake-ikon betyr at hver valuta går opp. Beløpene regnes ikke om mellom valutaer. Har alle kontoene samme valuta, ser kortet ut som før. Det samme gjelder tallene per selskap: de står i selskapets egen valuta, og har ett selskap kontoer i flere valutaer, vises også selskapets netto og brutto per valuta i stedet for én sammenslått sum.
Bankavstemming: lagrede visninger på kontooversikten
Kontooversikten har fått lagrede visninger, slik at du kan lagre og hente fram igjen ditt eget oppsett av sortering, filtre og kolonner i stedet for å sette det opp på nytt hver gang.
Bankavstemming: kontonavn først i kontooversikten
Kontonavn er flyttet først i tabellen, står låst til venstre sammen med kontonummeret og har fått bredere plass, slik at du kjenner igjen kontoen når du blar sidelengs. «Type» er skjult som standard — kolonnen finnes fortsatt og kan slås på igjen under «Kolonner». Har du allerede lagret et eget kolonneoppsett for denne tabellen, beholder du ditt, og ser endringen først når du nullstiller kolonnene.
Bankavstemming: totaler per valuta i oversiktseksporter og summeringslinje
Når kontoene i bankavstemmingsoversikten står i flere valutaer, viser summeringslinja under tabellen og bunnsummene i PDF- og Excel-eksporten nå banksaldo, hovedbokssaldo og differanse per valuta i stedet for én sum på tvers av valutaene. Eksportene har fått en egen Valuta-kolonne per konto. Med kontoer i én valuta er visningen uendret, og ingen beløp regnes om mellom valutaer.
Hovedboksposter uten valuteringsdato holdes ikke lenger utenfor avstemmingen
Mangler en hovedbokspost valuteringsdato, plasseres den nå på bilagsdatoen sin. Den er med i saldoen, i antall uavstemte poster, i åpen-post-dokumentasjonen og i periodelåsen — akkurat som den allerede ble tatt med i matchingen. Perioden kan fullføres selv om slike poster finnes, både manuelt og ved automatisk lukking. Det gule varselmerket beholdes, men betyr nå at importen mangler valuteringsdato, ikke at noe holdes utenfor tallene. Merk to synlige konsekvenser: en periode som tidligere viste «0 / 0 / 0» kan vise et avvik ved første lasting etter oppdateringen — beløpet var der hele tiden, men ble ikke regnet med — og en slik post med bilagsdato i en låst periode kan ikke lenger matches inn i den uten at perioden gjenåpnes.
Forslagspanelet i bankavstemming holder seg på plass og er alltid oppdatert
Panelet med tvetydige forslag har nå begrenset høyde med egen scroll og låste kolonneoverskrifter, så bank- og hovedbokslistene blir stående på skjermen selv når auto-match har lagt mange forslag i kø. Køen lastes også på nytt hver gang du avstemmer et par, slik at forslag som peker på linjer du nettopp har brukt opp forsvinner med én gang i stedet for å bli stående som valgbare.
Bankavstemming: ryddigere kontooversikt
Kontooversikt-griden viser ikke lenger sumrad og feltsum nederst, og «ikke importert»-badgen med importknappen stables nå vertikalt i stedet for på rad.
Konsernavstemming: valg-/match-linjen er flyttet øverst i arbeidsflaten
Oppsummeringen av valgte transaksjoner og «Match»-knappen lå tidligere nederst i transaksjonsseksjonen og krevde nedscrolling; den vises nå rett under toppseksjonen så snart noe er valgt.
Konsernavstemming: verktøylinje og initialisering på linje med bankavstemming
Dashboardet har fått knappen «Automatisk avstemming» i knappegruppe med «Administrer par» (samme planleggingsside som bankavstemmingen, der automatisk konsernmatching kan slås på), og «Initialiser» vises nå som egen knapp/dato-badge i statuskolonnen i par-listen — samme mønster som bankkontolisten. Migrasjon: 20261016900112
Nytt/rediger par og bankkonto åpnes i skuff i stedet for modal
Begge avstemmingseditorene (konsernpar og bankkonto) åpnes nå i en skuff fra høyre med Selskap A og B side ved side (par), samlet Matcheregler-seksjon, Aktiv-bryter i toppen og faste Avbryt/Lagre-knapper nederst — hele skjemaet er synlig uten scrolling.
Plattform og komponenter (17 endringer)
Smart-grid globalt søk: roligere debounce + Enter/blur/søkeknapp
Det globale søkefeltet i smart-grid søkte for tidlig (250 ms) — du rakk ikke skrive ferdig før den søkte. Debouncen er nå 400 ms (og kan overstyres per grid), og du kan søke umiddelbart ved å trykke Enter, forlate feltet (miste fokus) eller klikke den nye søkeknappen til høyre i feltet. Gjelder alle lister/tabeller som bruker smart-grid.
Smart-grid: ryddigere filterdropdown
Den ene «Filter»-knappen åpner nå en kompakt dropdown etter samme mønster som «Visninger», med filterbetingelser, lagrede filtre og lagring samlet i én vertikal arbeidsflyt uten å skyve tabellen ned. Dropdownen har bedre tomtilstand og hindrer lagring før et faktisk filter er aktivt.
Tilbudslinjer: full verktøylinje som masterordre-linjene
Tilbudets linjegrid har fått samme verktøysett som masterordre-linjene: globalt søk, eksport, kolonnevalg/-rekkefølge, lagrede visninger/filtre, filterpanel, reset, utklippstavle-innliming, totalrad, produktsøk-modal og en fler-valg-linje for å slette valgte linjer eller rekalkulere priser.
Smart-grid: tastaturnavigasjon virker nå på virtualiserte grid
På store grid med rad- eller kolonnevirtualisering (f.eks. abonnement-arbeidsbenken og SQL-editoren) var piltast-/Home/End-navigasjon stille deaktivert; nå ruller griden automatisk målcella inn i vinduet (vertikalt for rader, horisontalt for kolonner) og flytter fokus dit, og skjermlesere annonserer riktig rad-/kolonneposisjon (aria-rowindex/aria-colindex) også når bare et vindu er i DOM.
Smart-grid: merk rader med tastaturet
I grid med radmerking (f.eks. abonnement-arbeidsbenken og masterordre-ordrelinjer) kan du nå merke rader uten mus: Mellomrom merker/avmerker raden i fokus, Shift+Mellomrom merker et sammenhengende radområde fra forrige merking, og Ctrl/Cmd+A merker alle rader i utvalget. Skjermlesere annonserer merket tilstand (aria-selected).
Smart-grid: visningsvelger for detaljpanel (Kun liste / Delt / Kun detaljer)
Grid med integrert detaljpanel (f.eks. abonnement-arbeidsbenken og masterordre-listene) har fått en 3-delt visningsvelger i verktøylinjen ved siden av høyre/bunn-vekslerne. «Kun liste» skjuler detaljen så listen får full bredde (skann mange rader / vis mange kolonner); «Kun detaljer» skjuler listen så detaljpanelet maksimeres (nyttig på små skjermer); «Delt» viser begge som før. Valget huskes i lagrede visninger.
Smart-grid: fullskjerm for masterordre- og tilbudslister
Masterordre-listen, tilbudslisten og abonnement-arbeidsbenken har fått en fullskjerm-knapp i verktøylinjen. Klikk løfter hele gridet (verktøylinje + liste/detaljer) til fullskjerm så du bruker hele flaten — spesielt nyttig på små skjermer og nettbrett. Kombinert med «Kun detaljer» får du én masterordre på hele skjermen. Esc eller knappen lukker igjen.
Smart-grid: bedre automatisk kolonnebredde på store/virtualiserte grid
Autostørrelse måler nå et jevnt fordelt sample av de synlige radene (via canvas-tekstmåling) i stedet for bare de første radene i DOM-vinduet, så kolonner får riktig bredde selv når bredere innhold ligger lenger ned i et virtualisert grid (f.eks. SQL-editoren). Nye valg autoSizeSampleSize/autoSizeStrategy/autoSizeMode styrer oppførselen; custom-innhold, tre- og reorder-kolonner måles fortsatt fra faktisk rendret celle.
Smart-grid: én samlet «Filter»-knapp i stedet for to
Verktøylinjen hadde tidligere to nesten like knapper — «Filtre» (lagrede filtre) og «Filter» (avansert filterbygger) — som var lette å forveksle. De er nå slått sammen til én «Filter»-knapp (trakt-ikon) som åpner ett panel med både den avanserte filterbyggeren og «Lagrede filtre»-seksjonen, pluss en «Nytt filter»-handling som starter et blankt filter. Knappen viser fortsatt et tellemerke når filtre er aktive.
Tabellkolonner blir ikke lenger klemt sammen til uleselig bredde
Tabeller får nå en minstebredde beregnet fra kolonnene sine, så en kolonne aldri presses smalere enn innholdet den viser. Er det ikke plass, får tabellen vannrett rulling i stedet for å stable teksten. Kolonner som med vilje er satt smale forblir smale.
Smart-grid — Ctrl+F viser/skjuler filterraden
Når fokus er i en smart-grid-tabell veksler Ctrl+F (Cmd+F på Mac) den per-kolonne filterraden på/av (kun der tabellen har filtrerbare kolonner). Snarveien er avgrenset til tabellen, så den overstyrer ikke nettleserens vanlige søk ellers på siden.
Smart-grid — veksle detaljpanel mellom høyre og bunn fra verktøylinjen
Tabeller med detaljpanel kan nå (opt-in) vise en høyre/bunn-veksler i verktøylinjen ved «Kolonner» og «Visninger», så du velger om detaljene ligger til høyre for eller under listen. Valget huskes i lagrede visninger som før.
Smart-grid — filterraden fester seg under header ved scrolling
Når filterraden er åpen fester den seg nå rett under kolonneoverskriftene når du scroller nedover i tabellen, så filterfeltene alltid er tilgjengelige (høyden på header måles så raden legger seg presist under, uansett tetthet/zoom). Festede kolonner beholder filterfeltene på plass også horisontalt.
Smart-grid — lagre og hente egne visninger
Smart-grid har fått en «Visninger»-nedtrekk (opt-in) der du kan lagre gjeldende oppsett (kolonner, sortering, filter, grupper, sidestørrelse) som en navngitt visning, hente den igjen senere, oppdatere en valgt visning med gjeldende oppsett, tilbakestille til standard, sette én som standard og slette. Slått på først på Anleggsregister → Anleggsoversikt.
Smart-grid — server-side query-kontrakt (SmartGridQueryState)
Ny serialiserbar kontrakt (getQueryState()) som representerer hele gridets spørring — side, sidestørrelse, globalt søk, sortering, legacy + avansert filter, gruppering, kolonnetilstand og selection-scope — med et C#-speil (SmartGridQueryStateDto) for backend-mapping. Additivt/opt-in; legacy filter-events er uendret. Grunnmur for lagrede visninger, avansert filter-UX, bulk dry-run, server-side eksport og kommende Masterordre-lister.
Smart-grid PDF-eksport får firmalogo og header
PDF-eksport fra alle smart-grid-tabeller (godkjenningsoversikten, CRM-listene m.fl.) har fått en profesjonell topptekst med firmalogoen øverst til høyre og tittel/undertittel til venstre, med en tynn skillelinje over tabellen — samme stil som bankavstemmings-rapportene. Logoen hentes fra tenantens oppsett (samme som app-logoen); mangler den, vises headeren uten logo.
Mer plass til innhold med kompakt topplinje
Modultittel, undersider, globalt søk, varsler og bedriftslogo er samlet i en 66 piksler høy rad på desktop som flukter med logoflaten i venstremenyen. Modultittelen er mindre og ligger tettere inntil venstremenyen uten å endre luftingen i sideinnholdet, den aktive undersiden markeres med en mørk strek, og den 35 piksler store varselsbjellen har tydelig avstand fra søkefeltet. Overflødige menypunkter samles automatisk under tre prikker når plassen blir knapp, og den separate breadcrumb-raden er fjernet. I trange bredder komprimeres søk, tenantbytte og logo uten å forsvinne; søkeresultatlisten beholder full bredde, og undersider med egne valg kan åpnes fra en separat pilknapp med mus eller tastatur. Varselantallet vises tydelig festet til bjellens øvre hjørne.
Systemadministrasjon (1 endring)
Menyadministrasjon: kollapset trestruktur, sortering som sidemenyen, gruppering og globalt søk
Trestruktur-fanen (Innstillinger → Meny) vises nå som standard kollapset, så store menyer er lesbare — utvid grenen du jobber med. Undernivå-menyen (Menu2) er som standard sortert på overordnet meny og deretter sorteringsrekkefølge, og sub-undernivå-menyen (Menu3) på begge foreldrene og rekkefølge — listene leser dermed som den faktiske sidemenyen. Alle tre listene har i tillegg fått globalt søkefelt og grupperingspanel.
Forbedringer (3 endringer)
Menyraden blir synlig ved scrolling
Portalheaderen med modultittel, varsler, modulmeny og navigasjonssti er nå festet øverst på skjermen, slik at brukeren beholder navigasjonen når lange sider rulles. Support-listen bruker ett samlet scrollområde, mens masterordre-arbeidsflaten holder siden i skjermhøyden og lar de to gridene scrolle innenfor arbeidsområdet.
Globalt søk: navnet i trefflista er like tydelig som nummeret
I søkeresultatene øverst sto identifikatoren («Masterordre 101078») i vanlig tekst mens navnet ved siden av («TORM Gloria») var grått og mindre — men det er navnet du kjenner igjen. Navnet vises nå i samme farge og størrelse som resten av treffet, i alle seksjonene: tilbud, masterordre, kunder, prosjekter, arbeidsordre, kontakter, dokumenter og de øvrige.
Kildelenkene i håndboken virker igjen
Håndboksidene lenker til koden de beskriver, men lenkene pekte på master-grenen. Den ligger langt bak, og de fleste av filene det lenkes til fantes ikke der i det hele tatt — 195 av 287 unike kildefiler ga «finner ikke filen». Alle lenker peker nå på den grenen koden faktisk ligger på, og det samme gjelder «Rediger denne siden».
Support (3 endringer)
Hurtigregistrering (Quick Capture) er bredere og har riktekst-beskrivelse
Skuffen som åpnes med Ctrl+Alt+N (eller fra «Opprett oppgave» på en supportsak) er nå omtrent dobbelt så bred, og beskrivelsesfeltet er en riktekst-editor i stedet for et enkelt tekstfelt, slik at du kan formatere beskrivelsen (fet, kursiv, lister, lenker) på samme måte som i oppgavedetaljene.
Supportsaker sortert på saksnummer synkende
Både forsidewidgeten og sakslisten under Support viser nå nyeste sak (høyest saksnummer) øverst, i stedet for sist oppdatert.
Supportsaker — saksnummersøk, Type/Etiketter/Tildelt-kolonner og per-kolonne filtrering
Sakslisten (/support/freshdesk) lar deg nå søke på saksnummer (med eller uten #), og har fått kolonnene Type, Etiketter og Tildelt samt en server-side filterrad for fritekst-kolonnene (Emne, Innmelder, Type, Etiketter, Tildelt). «Tildelt» kobler Freshdesk-agenten til en ePortal-bruker på e-post og viser ePortal-navnet når det finnes, ellers agentnavnet. Migrasjon: 20261016900030
KontiConnect / Integrasjoner (2 endringer)
Aktørsynk: ERP-kobling fjernes når aktøren er borte fra NXT
Ved full synk (delta-synk avslått) avstemmer aktørsynken nå ePortals aktørregister mot det komplette NXT-uttrekket: aktører hvis kunde-/leverandørnummer ikke lenger finnes i NXT får ERP-koblingsfeltene (kunde-/leverandørnummer og NXT-klassifiseringen) fjernet — aktøren slettes eller deaktiveres aldri og lever videre i CRM. En sikkerhetsgrense hopper over avstemmingen når uttrekket ser ufullstendig ut (under 50 % av lokalt koblede aktører), og kjøringsloggen viser «X aktører fikk fjernet ERP-kobling (finnes ikke lenger i NXT)». Kan slås av med integrasjonsinnstillingen ReconcileMissingActors=false.
Kjøringshistorikk med liste og detaljer side om side
Historikkfanen på en Konti Connect-integrasjon viser nå kjøringene i en kompakt liste og detaljene for valgt kjøring ved siden av. Den nyeste kjøringen velges automatisk, og sidevalg og antall rader håndteres direkte i tabellen. På smalere skjermer stables detaljene under listen.
Nyheter (1 endring)
Bilder i nyheter og systemvarsler komprimeres automatisk ved opplasting
Store bilder (typisk mobilfoto på flere MB) nedskaleres til maks 1600 px og komprimeres i nettleseren før lagring; et 2 MB-foto ender vanligvis på 100–300 KB. Forsiden med nyhetsbilder blir dermed vesentlig raskere å laste. Transparente logoer beholder gjennomsiktighet, og animerte GIF-er beholdes uendret.
Utviklere og API (1 endring)
API-svar slankes — fast-bredde-utfylling strippes globalt ved serialisering
Alle JSON-svar fra API-et får nå fjernet etterfølgende mellomrom som stammer fra char(n)/nchar(n)-kolonnenes fast-bredde-utfylling (et lagrings-artefakt uten mening). En global serialiseringskonverter trimmer kun etterfølgende ASCII-mellomrom (0x20) på skrivesiden — ledende mellomrom og annen etterfølgende whitespace (tab/linjeskift/hardt mellomrom) i ekte brukerdata bevares, og innlesing (deserialisering) er uendret. Erstatter behovet for per-spørring RTRIM og per-endepunkt trim-hjelpere; timegodkjenningens metadata-nedlasting (LoadApprovalData) forventes ~38 % mindre. Ingen UI-endring.
Timeregistrering (6 endringer)
Timegodkjenning — oversikten laster raskere (slankere datauttrekk)
Oversikt-siden under Godkjenning (/approval/overview) henter nå timeradene via et dedikert, slankere serveruttrekk: en ny lese-prosedyre returnerer bare de ~28 kolonnene siden faktisk bruker (dropper bl.a. et tungt dags-sum-underspørring og to bruker-navneoppslag), bruker et indeksvennlig datofilter og JOIN-baserte oppslag i stedet for per-rad-underspørringer. I tillegg strippes fast-bredde-utfylling (etterfølgende mellomrom) fra arbeidsordre-tekstene i metadata-nedlastingen, så nyttelasten blir merkbart mindre. Samme rader og samme oppførsel som før (gruppering per ansatt, redigering, eksport, KAI-avviksanalyse) — bare raskere. Rapportsidene som deler det gamle uttrekket er uendret. Migrasjon: 20261016900018
Godkjenningsoversikten kan eksporteres til PDF (i tillegg til Excel)
Timeoversikten under Godkjenning (/approval/overview) har fått PDF som eksportformat ved siden av Excel. «Eksporter»-knappen over tabellen tilbyr nå både Excel (rå/formatert) og PDF fra samme nedtrekk, bygget fra de samme kolonnene og radene.
Sjekk timer — kolonnevelger, søk, lagrede visninger, kolonneflytting og eksport (Excel + PDF)
Kontroll-tabellene under Godkjenning → Sjekk timer (/approval/check-hours) har fått samme smart-grid-verktøy som timeoversikten: globalt søk, kolonnevelger, kolonneflytting, lagrede visninger, filterrad (Ctrl+F) og eksport til både Excel og PDF (med firmalogo). Gjelder både ansattlista og den valgte ansattes timetabell.
Mer effektiv kontroll av timer per ansatt
Kontroll av timer har fått en kompakt arbeidsflate der du søker etter ansatt på nummer eller navn og velger periode i samme rad. Ansattlisten viser treffantall og tydelig markering av aktivt valg. En tilbakepil tar deg tilbake til ansattoversikten. Alle nøkkeltall er beholdt med ikoner og filtrering, samlet i fire ryddige grupper slik at handlingsknappene og timelisten kommer høyere opp på skjermen — de faste 15 vises alltid, og vakt-/vikartallene for ansatte med vaktordning (Vaktuker, Vaktuker mont., Vikarvakt, Vikarvakt mont.) dukker opp i Vakt-gruppen når de er ulik null, akkurat som før. Lengre KPI-navn kan bruke to linjer over ikon og verdi, i stedet for å bli unødvendig avkortet.
Tidsbank med samlet saldo og historikk
Vaktordning, fleksitid og ferie vises nå i én samlet saldooversikt der detaljene kan åpnes direkte på raden med mus eller tastatur. Saldoverdier eksponeres med type, timer og dager som én komplett tekst for skjermleser, uten dupliserte tall, og seksjonene har tydelige navn. Utbetaling har fått et tydelig eget kort og handlingen heter nå Overfør til lønn. Godkjente bevegelser er samlet i én kronologisk tabell med tilgjengelige filterknapper for alle bevegelser eller én bestemt ordning.
Ryddigere og mer kompakt timeregistrering
Dato, dagsnavigasjon og summer er samlet i en tydelig topplinje, mens I dag ligger i datovelgeren så handlingen ikke vises dobbelt og kan nås med tastatur. Registreringsfeltene ligger nå i ett avgrenset kort i samme naturlige rekkefølge både visuelt og med tastatur, og søkbare valglister har fått tydeligere rader og en varm beige markering med mørk kant. Arbeidsordre viser ordrenummer og beskrivelse først, med avdeling og prosjekt som lesbar sekundærinformasjon. Arbeidsordrelisten åpnes bredt på desktop når plassen tillater det, mens valglistene følger feltbredden på mobil; begge kantene holdes innenfor skjermen. Handlingsknappene hører sammen med skjemaet, og dags- og månedslisten starter tettere på registreringen. Når en liste er tom, vises en forklaring i stedet for et stort blankt område.
Anleggsregister (2 endringer)
Anleggsregister — gruppering, globalt søk og raskere anleggsoversikt
Anleggsoversikten (/fixed-asset/display-fixed-asset) har fått grupperingspanel (dra/velg en kolonne under «Gruppering») og et globalt søkefelt som filtrerer på tvers av synlige kolonner. Ytelse: avdelings-kolonnen memoiseres nå (den kjørte tung tekst-parsing per rad ved hver oppdatering og fikk store lister til å henge), grupper med mange rader starter sammenslått (auto-collapse) så ikke alle rader rendres på én gang, og en spinner vises mens gruppering av større sett beregnes.
Anleggsregister — filtrer anleggsoversikten på anleggsgruppe (laster kun valgte)
Over anleggsoversikten er det nå en multiselect for anleggsgrupper. Velger du én eller flere grupper, henter serveren kun disse (server-side IN-filter), så du slipper å laste hele registeret når du bare vil se noen grupper. Tomt valg = alle grupper (som før).
Feilrettinger¶
Anleggsregister (3 endringer)
Excel-maler og grunnlagsfiler følger med API-et
Nedlasting av importmalen i Anleggsregister fungerer igjen, og øvrige grunnlagsfiler i API-ets Content-mappe blir med ved publisering.
Firmainnstillinger i Anleggsregister feilet for kunder med Visma Business NXT
Siden krasjet med en serverfeil fordi AccountX-registerets (R9) nøkkelfelt fra Visma NXT ble lest som et tall, mens Visma faktisk sender det som tekst. AccountX-nedtrekkslisten laster nå riktig.
Nedlasting av Excel-importmal i Anleggsregister feilet med serverfeil
Nedlastingen av importmalen (og NIS-avgangsmalen) kunne krasje med en generell serverfeil i stedet for å laste ned filen, fordi filbanen ble slått opp på en måte som er upålitelig under IIS in-process-hosting. Malen lastes nå ned pålitelig.
CRM (22 endringer)
Nykundeveiviser: manglende engelske tekster
Engelskspråklige administratorer så en rå oversettelsesnøkkel i stedet for meldingen om at egen SQL-server krever egne admin-legitimasjoner, og hjelpeteksten for databasenavn manglet 22-tegnsgrensen. Begge de engelske tekstene er på plass.
Nykundeveiviser: SQL-legitimasjon kan ikke lenger smugle inn tilkoblingsinnstillinger
Brukernavn og passord som oppgis for en egen SQL-server settes nå inn som rene verdier i tilkoblingsstrengen (aldri tolket som nøkkelord), og integrert sikkerhet tvinges alltid av. Tidligere kunne et passord som inneholdt «;Integrated Security=true» få API-ets egen tjenesteidentitet sendt mot en vilkårlig oppgitt server.
Nykundeveiviser: sikrere lagring av database-passord
Tenant-databasepassordet lagres nå med moderne autentisert kryptering (AES-GCM) når nøkkelen Encryption:MasterKeyV2 er konfigurert, provisjoneringen avbrytes hvis krypteringen feiler (tidligere kunne et tomt passord bli lagret uten feilmelding), og ferdigsjekken åpner en reell tilkobling med det LAGREDE passordet før kunden meldes klar.
Nykundeveiviser: egen SQL-server krever egne admin-legitimasjoner
Angis en annen SQL-server enn standardserveren, krever veiviseren og API-et nå SQL Admin-brukernavn og passord for den serveren. Tidligere kunne systemets sentrale databasekonto bli brukt mot en vilkårlig oppgitt server.
Nykundeveiviser: samme domenenavn kan ikke lenger registreres to ganger
To samtidige provisjoneringer med samme domenenavn men ulikt databasenavn kunne tidligere begge fullføre og etterlate to domenerader, med uforutsigbar innlogging for kunden som resultat. Nye unike indekser reserverer både domenenavn og databasenavn, og sikkerhetsindeksenes faktiske tilstand lagres nå varig: mangler en indeks (f.eks. pga. eksisterende duplikater), nekter provisjonering og gjenforsøk å kjøre med en tydelig feilmelding til duplikatene er ryddet og migrasjonens SQL er kjørt på nytt. Migrasjon: 20261016900020
Nykundeveiviser: gjenforsøk overskriver aldri en samtidig gjenoppretting
Frigivelse av et feilet gjenforsøks krav på domenet skjer nå kun hvis domenet fortsatt står som InProgress; har en operatør i mellomtiden satt domenet til Ready, røres det ikke (tidligere kunne det bli satt tilbake til Failed og åpne for destruktivt gjenforsøk). Eierskapsflaggene for både gjeldende og historisk kjøring nullstilles i én atomisk databaseoperasjon, slik at en delvis skriving aldri kan etterlate en historisk kjøring med eierskap til en manuelt gjenopprettet database.
Nykundeveiviser: samtidige kjøringer mot samme database sperres
To samtidige provisjoneringer eller gjenforsøk mot samme database kunne tidligere opprette dupliserte domener eller slette hverandres ressurser. Nå tillater systemet kun én aktiv kjøring per databasenavn (unik indeks), gjenforsøk tar domenet atomisk (kun ett vinner), og eierskapsflagg nullstilles og lagres umiddelbart etter hver opprydding slik at et senere gjenforsøk aldri kan slette en manuelt gjenopprettet database. Migrasjon: 20261016900019
Nykundeveiviser: databasenavn begrenses til 22 tegn
Databasenavn på 23-40 tegn passerte tidligere valideringen, men feilet ved domeneregistreringen etter at database og SQL-login allerede var opprettet (feltene i domenetabellen er CHAR(30), og SQL-loginet er databasenavnet med eportal_-prefiks). Veiviseren, API-et og tjenesten håndhever nå maks 22 tegn.
Nykundeveiviser: provisjonering feilet på meny-steget
Provisjonering av ny kunde stoppet på steget «Applying module menus and document defaults» med feilen «Invalid object name 'wv_Module'», og opprettet database og SQL-login ble rullet tilbake. Modulvalideringen leste en systemdatabase-tabell over kundedatabase-tilkoblingen; den går nå mot systemdatabasen.
SharePoint-dokumentpanel: ryddigere verktøylinje
Dokumentpanelet (brukes på møter, kundekort, prosjekter, oppgaver og HMS) har fått én samlet verktøyrad: en «Ny»-meny med navngitte valg (ny mappe, Word-, Excel- eller PowerPoint-dokument, filopplasting) i stedet for rene ikonknapper, og en «Mer»-meny for oppdater, åpne i SharePoint og koble til/fra bibliotek. Den store dra-og-slipp-sonen er erstattet av et diskret hint — slippsonen vises når du faktisk drar en fil over panelet. På møter er «Ny møtemappe» flyttet inn i Ny-menyen, og den overflødige infolinjen om standardbibliotek er fjernet.
Systemadmin: feilrapport-oversikten krasjet for migrerte kunder
Den kryss-tenant-oppsummeringen på Systemadmin → Feilrapporter feilet for kunder som allerede hadde fått admin-svar-kolonnene (Bug report fan-out failed for tenant …, InvalidCastException fra System.Int16 til int?). Årsaken var at eksistens-sjekken av kolonnene leste COL_LENGTH(...) — som returnerer SMALLINT — inn i et int?, noe RepoDb ikke konverterer når kolonnen finnes (og som paradoksalt nok bare traff de migrerte kundene). Sjekken caster nå resultatet til INT.
CRM: slettet relasjonsmål merkes i relasjonspanelet
Peker en relasjon på kundekortet (fakturakunde, KAM, forvaltning m.fl.) på en aktør som senere er slettet, vises målet nå med et rødt «Slettet»-merke ved navnet i stedet for umerket — du ser umiddelbart at relasjonen bør ryddes eller pekes om.
CRM: aktørrelasjons-API-et er nå styrt av Datatilgang
Endepunktene for aktørrelasjoner (relasjonspanelet på kundekortet og relasjonstype-administrasjonen) krevde kun innlogging: alle brukere i tenanten kunne opprette og slette relasjoner som styrer fakturering og visning. Tilgangen styres nå av den nye datatilgangstypen «Aktørrelasjoner (CRM)» (se/opprette/endre/slette — seedes med full tilgang for alle brukernivåer, så ingen mister noe før admin strammer inn), og relasjonstyper som vedlikeholdes av ERP-synkroniseringen kan ikke lenger legges inn manuelt via API-et (avvises med tydelig melding). Migrasjon: 20261016900042
Outlook-tillegget: e-poster viste feil retning i CRM
E-poster lagret fra Outlook ble vist med feil retningsmerke (inn/ut) i korrespondanselisten, og automatiske arbeidsflytregler på retning traff dem aldri. Nye e-poster lagres nå med riktig retning, og eksisterende rader rettes automatisk. Migrasjon: 20261016900094
Outlook-tillegget: bedriftsforslag fra private e-postadresser
En kunde med f.eks. gmail-adresse gjorde at alle avsendere fra samme e-postleverandør ble foreslått som den bedriften. Vanlige e-postleverandører (Gmail, Hotmail, osv.) brukes ikke lenger til bedriftsmatching.
Outlook-tillegget: «Siste aktiviteter» viste ikke de siste
Kontaktpanelets aktivitetsliste kunne vise vilkårlige historikkrader i stedet for de nyeste. Listen viser nå faktisk siste aktiviteter og e-poster.
Outlook-tillegget: fest-knappen (pin) manglet
Knappen for å feste CRM-panelet slik at det følger med når du bytter e-post, ble aldri vist fordi manifestet deklarerte funksjonen på feil sted. Rettet i manifest v1.2.2.0 — administrator må laste opp nytt manifest i Microsoft 365 Admin Center.
Visma Business NXT produkt- og prisoppslag er nå isolert per kunde
Mellomlagrede NXT-produkter, priser og KontiConnect-tilgangstokener deles ikke lenger på tvers av kundemiljøer i samme applikasjonsprosess; hver kunde får kun egne data servert fra mellomlageret. I tillegg kan et NXT-tilgangstoken ikke lenger gjenbrukes av en konfigurasjon som oppgir samme klient-ID med feil klienthemmelighet — hemmeligheten må bekreftes mot Visma før et token utleveres.
CRM: kunde-/leverandørlisten krasjet ved lasting
Kundelisten (/crm/customers), Excel-/PDF-eksporten og kundekortet feilet med en serverfeil fordi rollefeltene Kunde/Leverandør ble returnert som tall fra databasen mens API-modellen forventet ja/nei — hele spørringen feilet ved mapping (RepoDb godtar ikke Int32→Boolean). Rolleflaggene kastes nå eksplisitt til BIT i alle tre spørringene (liste, eksport, detalj), og en delt projeksjon med formtest hindrer at liste og eksport driver fra hverandre igjen.
Globalt søk fant ikke kunder, kontakter eller dokumenter
Søket i toppfeltet (Ctrl+K) feilet stille for CRM-kunder, CRM-kontakter og dokumentbiblioteket og ga null treff i disse kategoriene, uansett søkeord. Andre kategorier (arbeidsordre, møter, aktiviteter osv.) var upåvirket.
Sletting av CRM-dokument feilet på enkelte klienter
Retter en feil der sletting av et opplastet dokument på kunde/tilbud/kontakt kunne feile med en databasefeil for klienter som ble opprettet i et smalt tidsvindu i mars 2026. Migrasjon: 20261016900107
Nye ePortal-databaser refererer ikke lenger kundespesifikke Visma-baser
Baseline-skriptet inneholdt 39 referanser til firmadatabasene F0340/F8340 (fra kilde-tenanten) i seks legacy-anleggsviews og to prosedyrer; alle er byttet til dummy-basen F9999 slik at nye tenants aldri leser en annen kundes produksjonsdata. NB: databasen F9999 må finnes på databaseserveren for at provisjoneringen skal fullføre (viewene kolonne-bindes ved opprettelse).
Plattform og komponenter (14 endringer)
Provisjonering: nye database-passord krever konfigurert krypteringsnokkel
Uten Encryption:MasterKeyV2 ble nye tenant-databasepassord og OAuth-databasepassord lagret med den gamle, reverserbare krypteringen og kjøringen meldte likevel suksess. Nå avvises nye lagringer med tydelig feilmelding til nøkkelen er konfigurert (eksisterende verdier kan fortsatt leses), og API-et logger Critical ved oppstart når nøkkelen mangler. Et eget utviklingsunntak (Encryption:AllowLegacyCredentialWrites) virker kun når miljøet er Development.
Lagrede visninger tåler at kolonner endres
En lagret visning eller et lagret filter som ble laget før en kolonne fikk nytt feltnavn eller ble fjernet, kunne gjenopprette gruppering på det gamle feltet (gruppeoverskriften viste da det tekniske feltnavnet), en sortering på feltet, og et kolonnefilter eller en avansert filterbetingelse som fortsatte å skjule rader uten at brukeren hadde noen kolonne å fjerne det fra. Slike felt forkastes nå ved gjenoppretting; faller hele grupperingen bort, brukes tabellens standardgruppering.
Smart-grid: kopier én celle og fyll et helt utvalg
Merk én celle, kopier (Ctrl+C), dra-merk flere blanke celler og lim inn (Ctrl+V) → verdien fylles nå inn i ALLE de merkede cellene (Excel-oppførsel). Tidligere fikk kun den første cella verdien. Gjelder redigerbare smart-grid som masterordre-ordrelinjer.
Smart-grid: ny linje ruller automatisk i syne
Når en ny ordrelinje legges til (via «+ Ny linje» eller produktsøk) ruller griden nå automatisk ned til den nye raden i stedet for å la den ligge under skjermkanten.
Smart-grid: pinnede kolonner ligger tett
Rettet en visuell feil der det ble et tomrom mellom to pinnede (fastlåste) kolonner når en kolonne var smalere enn 150px. Pinnede kolonner ligger nå kant-i-kant.
Smart-grid: dra-merk og kopier/lim inn i grupperte grid
Celleområde-valg med dra-merk og klipp/kopier/lim inn virker nå også når griden er gruppert (f.eks. masterordre-ordrelinjer gruppert på gruppe) — tidligere var det helt av i grupperte grid. Utvalget holder seg innenfor én gruppe og krysser aldri en gruppegrense (verken ved dra, piltaster eller innliming).
Handlingsknappene i tabeller kunne ikke klikkes
På sider der tabellens sortering eller filter ble satt opp av siden selv, kunne knappene i radene (rediger, slett, og lignende) se helt normale ut, men ikke reagere på klikk. Årsaken var at tabellen bygde radene på nytt igjen og igjen, så knappen du trykket på ble byttet ut mellom du trykket ned og slapp opp — nettleseren rakk aldri å registrere klikket. Tabellen bygger nå bare om når innholdet faktisk er endret.
Smart-grid: verktøylinje-knapper og produktsøk-liste fikset
Egendefinerte verktøylinje-knapper (f.eks. «Ny rad» på innstillings-tabellene) forsvant på tabeller uten grupperingspanel — verktøylinje-sporet finnes nå i begge verktøylinje-variantene. Og nedtrekkslisten i celle-produktsøket (masterordre-linjer) kunne horisontal-scrolle og klippe teksten på lange produktnavn — den bryter nå teksten i stedet.
Smart-grid: trestruktur er nå synlig også med tallkolonner
I hierarkiske tabeller (tre-modus) var innrykket usynlig når tre-kolonnen var høyrejustert (f.eks. linjenummer) — barnerader så ut som søsken. Dybden vises nå med synlige nivå-linjer og en kobling fra barnerad til noden over, uavhengig av kolonnejustering.
Smart-grid: aktiv rad markeres nå på alle rader
I tabeller med master/detalj-visning ble den aktive raden bare fargelagt på annenhver rad — en CSS-spesifisitetsfeil der zebra-stripingen overstyrte aktiv-markeringen på partallsrader. Aktiv rad markeres nå konsekvent på alle rader, og de festede (sticky) kolonnene på aktiv rad har ugjennomsiktig bakgrunn så innhold fra kolonner som scroller under ikke lenger lekker igjennom og overlapper teksten.
Smart-grid: kopiér/lim inn legger ikke lenger verdier i feil kolonner, og Ctrl+C kopierer nå bare det som er valgt
Å kopiere et celleområde i gridet og lime inn på andre rader kunne forskyve alle verdiene like mange kolonner når markøren sto på en annen kolonne enn kopien startet i (f.eks. frekvens i antall, dato i enhet, antall i enhetspris). Ved innliming av gridets egen kopi mappes hver verdi nå til sin opprinnelige kolonne uansett markørposisjon; ikke-redigerbare kolonner hoppes over og telles. I tillegg er kopisemantikken lagt om til Excel-oppførsel: Ctrl+C på én fokusert celle kopierer nå kun den cellen (før: hele raden — å «kopiere Antall» limte i praksis inn alle radens felt og ga «N celler hoppet over»-varsel), og et klikk på en annen celle nullstiller aktivt merket område så neste Ctrl+C aldri gjenbruker en gammel markering. Hel rad kopieres fortsatt når rader er huket av i utvalgskolonnen. Innliming fra Excel/eksterne kilder er fortsatt posisjonsbasert fra markøren, der en hoppet kolonne forbruker sin klippebordcelle.
Smart-grid: skriv-for-å-redigere lagrer nå alle tegn korrekt
Å skrive direkte på en tallcelle (type-to-edit) mistet det første tegnet fordi el.select() ble kalt etter at første tegn allerede var skrevet. Nå beholdes hele inntastingen.
Smart-grid: kolonnevelger flyttet ikke lenger avkryssnings-kolonnen når en kolonne skjules
I tabeller med en avkryssnings-kolonne (utvalg) og kolonnevelger — f.eks. Godkjenning → Kontroll av timer (/approval/check-hours) — hoppet avkryssnings-kolonnen til høyre kant (etter handlinger) og feilrendret så snart en vanlig kolonne ble skjult via «Kolonner». Avkryssnings- og handlings-kolonnene er nå låst til hver sin kant (utvalg helt til venstre, handlinger helt til høyre), holdes utenfor kolonnevelgeren, og en skjult kolonne fjernes rent uten å forskyve noe.
Innlogging på tenants med legacy V3-personellskjema
Innlogging feilet med serverfeil (500) på tenants der de gamle personaltabellene avviker fra baseline-skjemaet, fordi en migrasjon re-utstedte fire legacy-prosedyrer uten vern mot skjemaavvik. Re-utstedelsen hopper nå over prosedyrer som ikke lar seg kompilere på tenantens skjema, og innloggingen fullfører som normalt. Migrasjon: 20261016900061
Abonnement / Masterordre (12 endringer)
Nykundeveiviser: Abonnement- og Innstillinger-menyene manglet for nye kunder
Nye kunder med Abonnement (modul 50) valgt fikk menypunktene lagret i databasen, men menyprosedyrens lenkefilter skjulte både Abonnement- og Innstillinger-roten, og ferdigsjekken meldte likevel klar. Prosedyren slipper nå gjennom lenkene for tenanter som faktisk har modulen (rettighetssjekken i prosedyren avgjør fortsatt synligheten - tenanter uten rettigheter ser ingenting nytt), og ferdigsjekken kjører selve menyprosedyren for den nye administratoren og krever at alle utrullede menyrøtter faktisk vises. Migrasjon: 20261016900116
Til-og-med-datoen i «Lag ordreforslag» viste én dag for tidlig
Datoen ble regnet om via UTC før den ble vist, slik at en dato som skulle vært 30. november kom opp som 29. november. Det avgjorde igjen hvilke linjer som ble forhåndsvalgt i dialogen. Datoen viser nå riktig dag, og forhåndsvalget følger den.
Masterordre: listen krasjet ved henting for enkelte tenants
Masterordre-listen (Abonnement → Masterordrer, SubscriptionMasterOrder/search) kastet en SQL-feil (8124) fordi årsverdi-per-valuta ble regnet ut som en aggregat (SUM/MAX) som både refererte den effektive valutaen fra en ytre apply og linjekolonner i samme uttrykk — ulovlig i SQL Server. Utregningen er flyttet til en avledet tabell per linje, så aggregatene kun ser linjekolonner. Årsverdi summeres fortsatt aldri på tvers av valutaer (B-069).
Masterordre: tilbudslivssyklus (produser → send → purr → utfall) med akseptlenke
MO-015 S5 leverer hele tilbuds-motoren bak abonnementsmodulen: et ordreforslag konverteres til et fornyelsestilbud (idempotent, stempler anbefalt dato tilbake på de dekkede linjene), tilbud kan produseres, sendes og purres via brevmottaker-matrisen (Til/Kopi/Blindkopi + arkiv-blindkopi, testmodus, inaktive kontakter gir synlig «Feilet»-rad — aldri stille), utfall (Akseptert/Avslått/Utgått) registreres manuelt eller via en anonym akseptlenke kunden klikker, og en batch-kjøring auto-produserer/-sender og rydder utløpte tilbud. Aksept av et nysalg føder en masterordre (utkast) med snapshot av avtale-id. NXT salgsordre ved aksept er bevisst utsatt (MO-003). Migrasjon: 20261016900011
Masterordre: Tilbud-fanen bruker nå ekte data
MO-015 S5.5 kobler Tilbud-listen (/subscription/offers) og Tilbud-fanen på masterordren fra mockdata til den ekte tilbudstjenesten: reell søk/liste, ?offer=-direktelenke som slår opp på serveren, utsendelseslogg (Utsendelser), og handlingene Produser/Send/Purr/Registrer utfall mot de faktiske endepunktene. PDF-produksjon er ikke i v1 (tilbud sendes som e-post) og knappen er deaktivert med et hint.
Masterordre: Kontakter-fanen med brevmottaker-matrise
MO-015 S6 kobler Kontakter-fanen på masterordren til kundekortet i CRM: kontaktene hentes fra skipets aktør, og brevmottaker-matrisen (Ordreforslag/Enkelt tilbud/Purring/Følgebrev) lagres per kontakt via et replace-set-endepunkt med audit. Kontakter deaktivert i CRM etter at de ble satt som mottakere vises fortsatt, gråtonet med «Deaktivert»-merke, så utsendelser aldri stille mister en mottaker.
Masterordre: Instrumenter-fanen viser ekte serviceobjekter med avledet servicestatus
MO-015 S7 kobler Instrumenter-fanen på masterordren fra mockdata til det ekte serviceobjekt-registeret (§14): objektene hentes for skipets aktør og status utledes per visning — Utgått når sertifikatet er utløpt, ellers Service forfaller når siste service er eldre enn 11 måneder (eller mangler), ellers OK. B-073 auto-registrering av serviceobjekter fra bekreftede instrument-linjer er levert som logikk + registreringspunkt (påkalles av NXT-import-sømmen når den klassifiserende importflyten kommer).
Masterordre: produktvelger på ordrelinjene (søk + strukturekspansjon)
Produktnummer-kolonnen på masterordre-linjene er nå redigerbar: skriv direkte i cellen for produktsøk (produktnr/beskrivelse), eller åpne «Produktsøk»-knappen i verktøylinjen for en søkedialog. Velges et strukturprodukt (pakke-hode) åpnes et ekspansjonspanel der medlemslinjene (med antall = faktor × hodets antall) er forhåndsvalgt og kan velges bort enkeltvis — eller alle ved å fjerne krysset på hodet; innsettingen er alt-eller-ingenting og serveren eier alltid strukturmalen og faktor-matematikken (NXT). Produktbytte på en eksisterende linje oppdaterer beskrivelse/enhet/grupper fra det nye produktet; produktbytte på strukturlinjer er sperret i v1.
Søk i masterordre-listen mistet treff som lå i skjulte kolonner
Søkefeltet spør serveren, som leter i blant annet fakturakunde, IMO, management, selger og valuta. Lå treffet i en kolonne du har skjult, ble raden likevel filtrert bort igjen i listen, og du fikk «Ingen masterordrer funnet» selv om ordren fantes. Nå vises treffet uansett hvilke kolonner som er synlige. Det samme gjaldt kunde-, kontakt-, tilbuds- og Freshdesk-listene, som også er rettet.
Oppfølging-filter i lagrede avanserte filtre ble stille ignorert
La du oppfølging inn i et avansert eller lagret filter, viste listen seg som filtrert mens serveren svarte uten filteret — altså alle ordrene. Oppfølging kan bare filtreres fra filterraden, så avansert filter tilbyr ikke lenger kolonnen, og et lagret filter som bruker den blir enten oversatt riktig eller merket tydelig med at oppfølging-delen ikke ble brukt.
En feilet lasting av masterordre-listen så ut som «ingen treff»
Feilet lastingen, forsvant feilmeldingen etter noen sekunder og siden ble stående med «Ingen masterordrer funnet» — ikke til å skille fra et søk som faktisk ikke ga treff. Nå blir feilen stående med en Prøv igjen-knapp til listen er lastet.
Riktig levert antall ved delleveranser i masterordre
Datomotoren regner nå levert antall som summen av alle bekreftede delleveranser på en masterlinje, ikke bare den siste transaksjonen. Linjer levert i flere omganger (f.eks. 3 + 2 av bestilt 5) vurderes dermed som fullt levert i stedet for å få feilaktig leveringsavvik, og valget av styrende leveranse er nå stabilt når to leveranser har samme bekreftede dato. Kreditordrer trekkes fortsatt ikke fra levert mengde.
Aktivering timer (2 endringer)
Aktivering timer: manglende timer i rapporten for Variant A
To ansatte som jobbet samme dato, avdeling, prosjekt og arbeidsordre med samme antall timer kunne miste den enes timer fra rapporten (og dermed fra bilaget), uten feilmelding. Migrasjon: 20261016900115
Pilknappene i Aktivering timer bommet på månedsslutt
Når perioden sluttet på den siste dagen i måneden, flyttet pilene til feil dato. Med periode lik hele kalendermåneden kunne ett klikk fremover fra januar gi 01.02–03.03, altså en periode som strakk seg inn i en tredje måned; og blar du flere måneder bakover krympet perioden gradvis, slik at januar endte som 01.01–28.01. Pilene flytter nå perioden nøyaktig én måned, og en hel kalendermåned forblir en hel kalendermåned uansett hvor mange ganger du blar.
Bankavstemming og konsernavstemming (7 endringer)
Smart-grid: gruppesummer viser riktige tall
Gruppesummer viser ikke lenger interne feltnavn, og antall vises uten desimaler.
Bankavstemming — \"avstemt til og med\"-dato fikk én konsistent betydning i saldoer, arbeidsflate og åpneposter
Datoen for hvor langt en bankkonto er avstemt hadde tvetydig betydning på tvers av flere steder i modulen: saldosummer, lister/matching og bro-beregningen (differansen mellom bank og hovedbok forklart av utestående poster) brukte inkonsekvente regler for hvilke rader som skal telle med, særlig for åpningsposter brakt fram fra forrige periode. Én konsistent konvensjon er nå på plass: saldosummene ekskluderer åpningsposter (de ligger allerede i den lagrede åpningssaldoen), mens lister, matching og broens utestående-summer inkluderer dem — slik at en konto med en umatchet åpningspost nå kan komme i balanse i broen. Konsekvensen er synlig flere steder i grensesnittet: Fra-dato i avstemmingsarbeidsflaten (ved åpning av kontoen, smart-standardverdien, og om-klemming når du endrer datoen selv) og minimumsdatoen i ERP-import-modalen bruker nå avstemt-til-og-med + 1 dag som nedre grense, siden selve avstemt-til-og-med-datoen er inkludert i det som allerede er avstemt. Bank- og hovedbokslistene bruker nå den samme grensen: en ordinær rad datert nøyaktig på avstemt-til-og-med-datoen vises ikke lenger i listene, slik at listene og totalene under dem viser det samme som saldoene og antallet umatchede poster allerede gjorde. Åpningsposter vises fortsatt uansett hvilken datoperiode du filtrerer på. Standarddatoen for en ny åpnepost i initialiseringsmodalen (kontolisten og CAMT-filimport) er nå avstemt-til-og-med-datoen selv, i tråd med at åpningssaldoen er saldoen PÅ denne datoen; CAMT-filimportens modal har i tillegg fått samme øvre datogrense som kontolistens modal allerede hadde, slik at en åpnepost ikke kan dateres etter avstemt-til-og-med-datoen uansett hvilken modal du bruker; knappen for å legge til en åpnepost er nå deaktivert helt til avstemt-til-og-med-datoen er satt, slik at en post aldri kan opprettes uten dato. Til sist er en tidssonefeil rettet: den foreslåtte avstemt-til-og-med-datoen for en aldri-initialisert konto (normalt 1. i inneværende måned) kunne i tidssoner foran UTC vise siste dag i forrige måned, og en nyopprettet åpnepost arvet i så fall samme feil dato — begge stedene bruker nå konsekvent lokal datoformatering.
Bankavstemming — initialiseringsmodalens tekster og kontolistens saldokolonner byttet fra \"startdato\"/\"åpningsbalanse\" til \"avstemt til og med\"
Feltetiketten i begge initialiseringsmodalene (kontolisten og CAMT-filimport) het fortsatt "Startdato" i grensesnittet, selv om feltet faktisk styrer hvilken dato kontoen er avstemt til og med. Etiketten, forklaringsteksten øverst i modalen, saldofeltenes etiketter og hjelpeteksten under «Hent saldi»-knappen er nå alle rettet til konsekvent å bruke "avstemt til og med"/"avstemt-dato"-terminologien, slik at ingen av tekstene lenger antyder at datoen er starten på noe uavstemt. Saldofeltene heter nå «Banksaldo per avstemt-dato» og «Regnskapssaldo per avstemt-dato» (tidligere «Åpningsbalanse bank» / «Åpningsbalanse regnskap») — denne teksten brukes også som kolonneoverskrift i bankkontolisten, ikke bare i initialiseringsmodalen.
Bankavstemming — poster med valuteringsdato etter avstemt-til-og-med-datoen hentes nå fra regnskapssystemet, og åpneposter får kontoens egen valuta
To feil kunne gi en bankkonto en differanse i broen som ikke lot seg avstemme bort. (1) Ved import fra Visma Business hentet vi bare poster ut fra bilags-/bokføringsdato, mens resten av modulen avgjør hvilke poster som hører til perioden ut fra valuteringsdato. En post bokført på selve avstemt-til-og-med-datoen, men valutert etter den, ble derfor aldri hentet i det hele tatt — den kunne ikke matches, fordi den aldri kom inn. Hentegrensen bruker nå valuteringsdato, med bilags-/bokføringsdato som reserve når posten ikke har valuteringsdato. Samme retting gjør at rene hovedboksposter uten valuteringsdato (typisk interne konti) igjen blir hentet; disse falt tidligere ut av hovedboksimporten uavhengig av dato. (2) Åpneposter lagt inn manuelt ved initialisering ble lagret uten valuta. På en konto i utenlandsk valuta ble posten derfor holdt utenfor broens valutafiltrerte sum, samtidig som den fortsatt ble talt med i antall umatchede poster — resultatet var en differanse uten synlig post bak. Åpneposter lagres nå i bankkontoens egen valuta, slik at bro og antall er enige. Migrasjon: 20261016900108
Sletting av konsernpar feilet alltid
«Slett»-knappen for et konsernpar under Administrer par ga alltid en generell serverfeil, uansett om paret hadde matchhistorikk eller ikke, på grunn av en datatype-feil i sjekken som skal avgjøre om sletting er trygg. Sletting fungerer nå som dokumentert: blokkeres med en tydelig feilmelding hvis paret har matchhistorikk, ellers slettes det.
Konsernavstemming: «Fjern match» feilet på matchgrupper som ikke var bekreftet
Å fjerne matchingen på en ubekreftet eller gjenåpnet matchgruppe stoppet med en generell feilmelding, og gruppen ble stående matchet. Årsaken var revisjonsloggen: oppføringen om slettingen pekte fortsatt på gruppen som nettopp var slettet, og hele operasjonen ble derfor rullet tilbake. Bekreftede grupper var upåvirket, siden de settes tilbake til ubekreftet i stedet for å slettes — noe som fikk feilen til å se tilfeldig ut. Nå fjernes matchingen som forventet, og revisjonsloggen beholder oppføringen med hvilken gruppe som ble slettet.
Lesbare kolonner i konsernavstemmingsoversikten
Kolonnene i par-listen har fått fornuftige minimumsbredder: beløp og tidspunkt brytes ikke lenger midt i et tall, hovedbokskonto-suffikset bak selskapsnavnet holdes samlet, og «Sist oppdatert» viser tidspunktet og statusmerket på hver sin linje.
KontiConnect / Integrasjoner (32 endringer)
Konti Connect: NXT-organisasjonsenhet-integrasjon feilet på gammel oppsett-config
Den planlagte NXT OrgUnits-integrasjonen kunne feile hver kjøring med «Invalid configuration field 'TargetEntity'» på integrasjoner som ble opprettet før feltene TargetEntity/SyncDirection ble påkrevd, eller der verdien var lagret med annen bokstavstørrelse. Valideringen godtar nå verdier uansett bokstavstørrelse (og normaliserer dem), og eldre oppsett uten disse feltene fylles med de dokumenterte standardverdiene (SyncDirection = Pull, TargetEntity = ResponsibleUnit) i stedet for å feile.
Konti Connect: NXT-integrasjon med selskapsnummer som tekst kunne ikke kjøres
En Visma Business NXT-integrasjon (f.eks. OrgUnits/ansvarsenheter) feilet ved kjøring med «Invalid configuration field 'CompanyNo' … must be a positive integer» når selskapsnummeret var lagret som tekst («5986422») i konfigurasjonen. Et numerisk selskapsnummer godtas nå enten det er lagret som tall eller tekst (og normaliseres til tall); et manglende eller ikke-numerisk selskapsnummer avvises fortsatt.
«Last mal» kunne overskrive lagrede API-nøkler med en eksempelverdi
Lagrede hemmeligheter skjules for nettleseren, så «Last mal» oppfattet dem som manglende og fylte inn malens eksempelverdi. Ble integrasjonen så lagret, erstattet eksempelverdien den ekte nøkkelen, og integrasjonen feilet med autentiseringsfeil ved neste kjøring. Hemmelighets-felt fylles nå aldri inn på en integrasjon som finnes fra før, og forsøk på å lagre en eksempelverdi stoppes med en tydelig melding.
NXT-bilagsintegrasjon kunne verken lagres eller kjøres
Bilagsintegrasjoner som ble satt opp før bilagseksporten ble skrevet om, feilet med «Unknown configuration field(s)» på både lagring og kjøring. De gamle feltene migreres nå automatisk ved første lagring eller kjøring: avskrivningsserien beholder verdien sin, utgåtte felter fjernes, og synkroniseringsretning rettes til Eksport.
PowerOffice Go-tilgangstokener er nå isolert per legitimasjonssett
Et mellomlagret PowerOffice Go-token kunne tidligere gjenbrukes av en integrasjon som oppga samme klient-ID med feil klienthemmelighet, fordi mellomlageret ble lest før hemmeligheten ble brukt i autentiseringen. Hemmeligheten må nå bekreftes mot PowerOffice Go før et token utleveres, og hvert komplette legitimasjonssett har sin egen mellomlagrede oppføring.
Microsoft 365: tilgangstokener er nå isolert per kunde og per bruker
Mellomlagrede Microsoft Graph-tokener deles ikke lenger på tvers av kundemiljøer i samme applikasjonsprosess. Tidligere kunne det første kundemiljøet som logget på Graph fylle et felles mellomlager, slik at andre kundemiljøer ble servert det tokenet — med den kundens Graph-rettigheter. Tilsvarende deles ikke lenger et on-behalf-of-token mellom to brukere eller på tvers av endrede app-innstillinger. Et token utleveres ikke lenger til en konfigurasjon som oppgir riktig klient-ID med feil klienthemmelighet — hemmeligheten må bekreftes mot Entra ID først — og ufullstendig M365Graph.*-konfigurasjon avvises før kallet gjøres.
Priser fra Business NXT: standardpris i produktregisteret og automatisk pris ved produktvalg
Prisene i Business NXT bor i pris- og rabattmatrisen, ikke på produktet. Produktsynken henter nå standardprisen (matriserad uten kunde-dimensjon, dato- og kvantumsgyldig) og skriver den til produktregisteret. Og når et produkt velges på en masterordre-linje (celle eller Produktsøk, inkl. strukturmedlemmer) slås KUNDENS pris opp live — kundeavtale foran kundegruppepris foran standard — og enhetspris/rabatt fylles automatisk på linjen (kun når feltene står tomme; oppslagsfeil blokkerer aldri innsettingen). Produktsøk-dialogen viser pris med kilde (Kundepris/Kundegruppepris/Standard).
NXT produktsynk: fjernet død KontiConnect-videresending
Etter lokal lagring POSTet produktsynken hvert produkt til KontiConnect-API-et, som skrev til en tabell (wv_Product) som ikke finnes i noen database — hvert kall feilet med HTTP 400, og payloaden sendte uansett pris/kost hardkodet til 0. Steget er fjernet: produktregisteret i ePortal-databasen (samme base som KontiConnect bruker) er lagringsstedet, uten HTTP-omvei. Synken blir raskere og kjøringsloggen slipper tusenvis av støy-advarsler.
NXT produktsynk hentet 0 produkter ved full import
KontiConnect-produktsynken mot Business NXT hadde changedDate-filteret hardkodet i spørringen; ved full import (delta av) ble filteret evaluert mot tom verdi og NXT returnerte stille null rader — en førstegangsimport kunne aldri hente noe. Filteret bygges nå kun når delta-synk faktisk har en dato. Merk også at delta-synk ser 7 dager tilbake — sett EnableDeltaSync=false for engangs-/førstegangsimport.
NXT aktør-synk: krasjet på ikke-numerisk organisasjonsnummer
Synk av kunder/leverandører fra Business NXT kastet en JSON-feil («could not be converted to Int64») så snart en aktør hadde et companyNo som ikke var et rent tall (f.eks. utenlandsk org.nr., eller lengre enn Int64). Feltet leses nå som tekst, i tråd med NXT-skjemaet (associate.companyNo = String).
NXT aktør-synk: full synk feilet med GraphQL-valideringsfeil
Full synk (delta av) av kunder og leverandører fra Business NXT feilet med «Variable '$fromDate' is never used in operation» fordi spørringen deklarerte $fromDate i operasjonen uten å bruke den når delta-filteret var av. Deklarasjonen og delta-filteret bygges nå sammen, så full synk kjører og henter inn alle aktørene.
NXT aktør-synk: skriver nå kunder/leverandører rett til aktørregisteret (uten KontiConnect-mellomledd)
Import-retningen av NXT aktør-synk skriver nå hver kunde/leverandør direkte til wv_Actor via en felles, testet aktør-upsert i stedet for å POST-e til KontiConnect (/api/v2/Actor) over HTTP. Dette fjerner batch-atomisiteten som lot én dårlig aktør (ugyldig e-post eller manglende navn) felle hele batchen på 50, og lar hver aktør lykkes/feile/hoppes over for seg. Upserten bevarer sammenslåing på organisasjonsnummer (samme juridiske enhet som både kunde og leverandør får ikke dupliserte rader), renser e-post likt som før, og hopper over aktører uten navn eller med «0»/tomt referansenummer. Eksport-retningen er uendret.
NXT aktør-synk: skriving til KontiConnect feilet med HTTP 400 for alle aktører
Etter at lesingen fra NXT ble rettet, ble hver aktør avvist av KontiConnect (POST /api/v2/Actor) med HTTP 400. Årsak: Visma-aktørenes e-postfelt inneholder ofte flere adresser (a@x.no;b@y.no) eller fritekst, og KontiConnect validerer e-post med [EmailAddress] — én ugyldig e-post fikk hele batchen på 50 aktører til å feile. E-post renses nå før sending (beholder kun én gyldig adresse, ellers tom), og aktører helt uten navn hoppes over (KontiConnect krever navn — én navnløs aktør felte ellers hele batchen), så alle gyldige aktører lagres. I tillegg vises nå KontiConnect-svarteksten i feil-/advarselmeldingen (ikke bare «HTTP 400»), så den reelle valideringsårsaken er synlig i integrasjonsloggen.
Tallfelt i integrasjonsoppsettet kunne ikke lagres
Endret du et tallfelt i oppsettet til en Visma Business NXT-integrasjon — for eksempel «Antall dager tilbake for delta-synk», «Batch-størrelse» eller «Nivå for organisasjonsenhet» — ble lagringen avvist med «Konfigurasjonsfeltet må være et positivt tall», selv om verdien var et gyldig tall. Integrasjonen kunne dermed ikke redigeres i skjemavisningen i det hele tatt. Feilen oppsto først når du faktisk skrev i feltet, så en integrasjon du ikke hadde rørt fortsatte å virke. Nå lagres tallfeltene som forventet.
«Kopier konfigurasjon fra en annen integrasjon» var ikke synlig
Funksjonen som ble lansert i forrige versjon kom aldri til syne: nedtrekket «Kopier fra …» vises bare når det finnes integrasjoner å kopiere fra, og listen ble alltid tom fordi integrasjonene ble lest med feil feltnavn. Nå fylles listen som den skal, og du kan kopiere innstillinger fra en eksisterende integrasjon i skjemavisningen. Samtidig ble to synkroniseringsposisjoner for masterordre lagt til i listen over verdier som aldri kopieres, slik at en ny integrasjon ikke starter midt i tidslinjen og hopper over data.
Passord og tokens i integrasjonsoppsettet ble sendt til nettleseren
Når integrasjonslisten og et integrasjonsoppsett ble hentet, fulgte lagrede passord, JWT-tokens, API-nøkler og OAuth-tokens med i svaret i klartekst. De var ikke synlige i skjermbildet, men lå i dataene nettleseren mottok. Nå fjernes alle slike verdier før svaret sendes — også når de ligger nestet inne i en oppsettsstruktur — og de vises aldri i skjemaet. Samtidig ble lagringen sikret: et tomt passordfelt betyr «behold det som er lagret», så du kan redigere og lagre en integrasjon uten at en fungerende innlogging blir overskrevet.
OAuth-merket på integrasjonslisten var alltid borte
Integrasjoner som er autorisert med OAuth, for eksempel Visma Business NXT via Visma Connect, skulle vise et «OAuth»-merke i listen, gult når tokenet utløper om mindre enn sju dager. Merket kom aldri fram, fordi statusen det leser ikke ble sendt fra serveren. Nå vises merket igjen, og du ser dermed på listen hvilke integrasjoner som må re-autoriseres før de begynner å feile med 401. Selve tokenet sendes fortsatt aldri til nettleseren — bare status og utløpsdato.
Klient-hemmelighet kunne bli byttet ut med en gammel verdi ved lagring
På integrasjoner som stammer fra tiden før hemmeligheter ble lagret kryptert, kunne det ligge igjen en utdatert kopi av Client Secret i konfigurasjonen. Lagret du integrasjonen uten å røre feltet, ble den gamle kopien tatt i bruk igjen og overskrev den nyere, krypterte verdien — og neste kjøring feilet med autentiseringsfeil. Nå er den krypterte verdien alltid den som gjelder, uansett hvordan nøkkelen er skrevet med store og små bokstaver, og den gamle kopien fjernes. Integrasjoner som allerede har fått lagret to varianter av samme nøkkel, ryddes opp neste gang de lagres.
«Kopier fra …» viste ingenting mens den lastet
Åpnet du fanen Konfigurasjon, sto området der kopier-nedtrekket hører hjemme helt tomt mens integrasjonene ble hentet, og like tomt hvis det ikke fantes noen å kopiere fra. De to situasjonene så like ut som en funksjon som mangler. Nå vises «Henter integrasjoner du kan kopiere fra …» mens den laster, og en tydelig melding når det ikke finnes andre integrasjoner ennå.
Av/på-bryteren i integrasjonslisten endret mer enn av og på
Skrudde du en integrasjon av eller på fra listen, mistet den samtidig integrasjonstypen, tidsplanen (cron-uttrykket) og parameteroppsettet sitt. En integrasjon uten type har ingen kobling å kjøre mot, så den startet aldri igjen — heller ikke etter at du skrudde den på. Bryteren endrer nå bare av/på-statusen og lar alle andre innstillinger stå urørt. Integrasjoner som allerede har mistet oppsettet må settes opp på nytt: åpne integrasjonen, velg riktig type og legg inn tidsplan og parametere igjen. Bryteren er dessuten låst mens endringen lagres, så to raske klikk ikke lenger kan ende med motsatt status av den du ser.
Å lagre en integrasjon nullstilte kjørehistorikk og neste kjøretidspunkt
Hver gang en integrasjon ble lagret — fra redigeringsskjemaet eller ved å slå på debug-logging fra detaljsiden — ble «Sist kjørt», «Neste kjøring» og status for siste kjøring tømt, fordi lagringen skrev tilbake felter den aldri hadde fått med seg. Integrasjonsoversikten så da ut som om integrasjonen aldri hadde kjørt, og fordi et tomt «Neste kjøring» regnes som forfalt, startet en planlagt integrasjon dessuten en ekstra kjøring rett etter lagring. Disse feltene eies nå av selve kjøringen og røres ikke av en lagring: historikken står, og lagring utløser ikke lenger en kjøring — planen fortsetter som før.
Debug-bryteren på integrasjonens detaljside slettet parameteroppsettet
Slo du debug-logging av eller på, ble parametertypen satt tilbake til «Ingen» og parameter-mappingen tømt, fordi lagringen sendte færre felter enn den skrev. Integrasjonen kjørte etterpå uten datoparametrene sine. Bryteren beholder nå hele oppsettet, og lagringen avvises med en tydelig feilmelding hvis den mangler et felt i stedet for å skrive tomme verdier.
Delta sync-bryterne i integrasjonsoppsettet gjorde ingenting
Fanen «Avansert» hadde to brytere, «Aktiver delta sync» og «Fallback til full sync ved feil». De skrev til en kolonne ingen integrasjon leser, og lagringen tok dem aldri med, så de sto uendret uansett hva du valgte — samtidig som integrasjonslisten viste en grønn «Delta Sync»-brikke på alle integrasjoner, også de som har delta sync avslått. Brytere og brikke er fjernet. Delta sync styres der den faktisk virker for integrasjonstypene som kjører i dag: nøkkelen EnableDeltaSync i integrasjonens konfigurasjon. Fanen «Avansert» viser fortsatt siste vellykkede kjøring og antall poster.
Deaktivert integrasjon ble liggende igjen under «Kun aktive»
Skrudde du av en integrasjon i standardvisningen, ble kortet stående i lista selv om lista bare skal vise aktive integrasjoner. Det så ut som om avskruingen ikke hadde tatt, og en ny oppfriskning av siden fikk den til å forsvinne uten forklaring. Nå forsvinner kortet med én gang, og tastaturfokus flyttes til Kun aktive-bryteren — slå den av for å se integrasjonen igjen. Har du filteret av, blir kortet stående som før, nå merket «Inaktiv».
Å slette en integrasjon kunne overskrive endringer som skjedde samtidig
Sletting deaktiverer integrasjonen i stedet for å fjerne den, men gjorde det ved å lese hele raden og skrive hele raden tilbake. En kjøring eller en lagring som skjedde i mellomtiden ble dermed overskrevet av det slettingen hadde lest et øyeblikk tidligere — kjørehistorikk, oppsett eller nøkler kunne gå tapt. Sletting skriver nå bare av/på-statusen, akkurat som bryteren i lista. Sletting av en integrasjon som ikke finnes svarer nå med en feilmelding i stedet for å melde suksess.
Feilmeldinger fra integrasjonslagring kom på engelsk
Avviste ePortal en lagring fordi den manglet felter, kom meldingen på engelsk midt i et norsk skjermbilde. Den er nå oversatt, og lista over felter som mangler navngis i teksten. Det samme gjelder de to meldingene fra av/på-bryteren: at forespørselen manglet status, og at integrasjonen du slo av/på eller slettet ikke finnes.
Varslingsinnstillinger kunne ikke lagres på Visma Business NXT-integrasjoner
Varslingsrammeverket leser mottakerliste, varselnivå og minste tid mellom varsler fra hver integrasjon, men de tre feltene ble avvist som ukjente ved lagring på alle NXT-typer. Per-integrasjon-varsling kunne dermed ikke skrus på i det hele tatt. Nå godtas de, og minste tid mellom varsler tolkes også når verdien er skrevet inn som tekst — tidligere ble den stille ignorert og falt tilbake til 60 minutter. Lagringen kontrollerer samtidig at verdiene er gyldige (kjent varselnivå, mottakere som tekst, minst 1 minutt mellom varsler) og retter opp store/små bokstaver i feltnavnene, slik at et lagret varslingsoppsett aldri blir stående stille ubrukt. Feiler en kjøring før den kommer i gang — for eksempel ved ugyldig oppsett — varsles det nå på samme måte som når selve kjøringen feiler.
Debug-logging-bryteren endret mer enn debug-logging
Slo du debug-logging av eller på på en integrasjon, mistet integrasjonen samtidig parameteroppsettet sitt. Hadde konfigurasjonen i tillegg en formatfeil, ble hele konfigurasjonen erstattet av bare debug-innstillingen — altså alle innstillinger borte etter ett klikk på en loggebryter. Bryteren endrer nå bare debug-innstillingen, og en konfigurasjon som ikke kan leses blir avvist med feilmelding i stedet for å bli overskrevet. Lagret du samtidig fra redigeringsskjemaet, kunne endringene dine i tillegg bli overskrevet av bryteren; nå leses og skrives konfigurasjonen under samme lås, så den ene kan ikke lenger spise den andre. Bryteren er låst til endringen er avklart — også mens innstillingen leses på nytt fra serveren etter en nettverksfeil — og stilles tilbake hvis lagringen avvises, slik at bryteren viser det som faktisk er lagret.
Bilag til Visma Business NXT kunne få samme bilagsnummer som et bilag registrert et annet sted
Ved overføring av bilag fra ePortal ble bilagsnummeret hentet ved å lese neste ledige nummer og deretter skrive det eksplisitt til NXT. NXT validerer ikke at et eksplisitt angitt bilagsnummer faktisk er ledig, så hvis noen andre (f.eks. en regnskapsfører i NXT-klienten) rakk å ta samme nummer i mellomtiden, ble to ulike bilag stille registrert med samme nummer. Hvert bilag som overføres får nå sitt eget bilagsnummer reservert atomisk hos NXT rett før det opprettes — ingen synlig ekstra rad legges til i regnskapet, tallet skrives direkte på det ekte bilaget. Hvis reservasjonen feiler, avbrytes hele bunten den gjelder for og prøves igjen ved neste kjøring i stedet for å falle tilbake til en usikker nummerering.
Kontosaldo og transaksjonsuttrekk fra Visma Business og Visma Business NXT bruker nå samme dato-regel gjennomgående
Ved uttrekk av saldo og transaksjoner brukes nå valuteringsdato, med fallback til bilagsdato når valuteringsdato mangler eller er 0. For lokal Visma Business (bank og konsernavstemming) gjelder dette nå både saldo og transaksjonslister. For NXT gjaldt regelen fra før for hovedbokstransaksjoner; reskontro-transaksjoner (kunde-/leverandørreskontro) og kontosaldoen er nå også lagt om — kontosaldoen beregnes ikke lenger fra NXT sin periodesaldo (som følger bokføringsdato), men summeres på samme valuteringsdato-akse som transaksjonslistene, slik at saldo og lister alltid stemmer overens. Dette kan endre saldoer og transaksjonslister for kontoer med rader uten valuteringsdato. Migrasjon: 20261016900110
Integrasjoner: «ClientSecret is required» rett etter lagring
Abax-, Visma Payroll- og CRM-aktøreksport-integrasjonene leste klienthemmeligheten kun fra konfigurasjonen, mens lagring flytter den til det krypterte autentiseringslageret. Kjøringer feilet derfor med «ClientSecret is required» selv om lagringen lyktes og hemmeligheten var intakt. Adapterne leser nå fra det krypterte lageret først, med fallback til eldre konfigurasjonslagring.
Abax: dato- og periodefilter ble ikke sendt riktig til ABAX
Adapteren sendte parameternavn ABAX-API-et ikke kjenner (startDate/endDate/pageSize), så ABAX ignorerte dem og returnerte sin standardperiode i stedet for det konfigurerte importFromDays-vinduet. Adapteren bruker nå de riktige parameterne (date_from/date_to/page/page_size, ISO 8601 UTC), og perioder lengre enn ABAX-grensen på 3 måneder deles automatisk i flere fortløpende delperioder slik at f.eks. importFromDays: 200 faktisk henter hele perioden. Turklasse- og ansattnummerfilter håndheves in-memory (endepunktet støtter ikke disse som parametre).
Support (3 endringer)
Feilrapport: Freshdesk-sak opprettes igjen (ugyldig sakstype)
Innsending av feilrapport (KAI-bug) opprettet ikke lenger en Freshdesk-sak, men falt tilbake til e-post, fordi feltet «type» ble sendt som «Bug» — en verdi som ikke finnes i denne Freshdesk-kontoens tilpassede type-liste (Freshdesk svarte 400 «Validation failed»). Sakene sendes nå med den gyldige typen «ePortal Timemodule».
Blank side ved åpning av supportsak fra forsiden-widgeten
Å klikke en sak i forsidewidgeten «Supportsaker» kunne åpne en tom detaljpanel uten innhold. Detaljpanelet åpnes nå korrekt med saksinformasjonen, også når du klikker en ny sak i widgeten mens sakslisten allerede er åpen.
Support: sortering av sakslisten viste feil rekkefølge
Sakslisten hentes én side om gangen fra Freshdesk, men gridet sorterte den innlastede siden på nytt lokalt. Resultatet kunne se sortert ut uten å være det: radene lå riktig innenfor siden du så på, men rekkefølgen stemte ikke med sorteringen på tvers av alle sider. I tillegg ga shift-klikk inntrykk av sortering på flere kolonner, mens tjeneren bare sorterer på én. Nå beholdes tjenerens rekkefølge, og sorteringsmerkene viser kun den sorteringen som faktisk brukes.
KAI — AI-assistent (5 endringer)
Feilrapport: skjermbildet lastes opp igjen (KAI brukte feil lagringskonto)
Skjermbilder i feilrapporter ble ikke lagret på tenants som setter opp lagring via Managed Identity + kontonavn (uten connection string) — opplastingen feilet med DNS «No such host is known» mot en gammel, hardkodet konto (eportalworkorderstorage), selv om dokumentopplasting i prosjekt virket fint. KAI-opplastingen leser nå den samme delte innstillingen (AzureStorage.StorageAccountName) som dokumentopplastingen bruker, før den faller tilbake på KAI-spesifikke verdier.
KAI: rettelser i regnskapsspørringer mot ERP
KAI live-regnskap ga tidligere feil svar på flere spørsmål mot Visma Business NXT og PowerOffice Go: topp leverandører (fakturert kontra netto), saldobalanse (kontonavn, fortegn og inngående/utgående balanse), budsjett og PowerOffice Go-årsfilter. Disse er nå rettet slik at tallene KAI oppgir stemmer med regnskapet.
KAI «Rett opp» logges nå i revisjonsloggen
Feltendringer utført via KAI-handlingen «Rett opp» i godkjenningsbildet ble ikke skrevet til revisjonsloggen, selv om dokumentasjonen sa det. Hver endring logges nå per felt med gammel og ny verdi (handling KAI_ACTION_APPLY).
KAI-regler med gruppeomfang feilet for alle som tilhører en ansattgruppe
Regler satt opp for en ansattgruppe kunne ikke hentes: oppslaget bygde en ugyldig databasespørring, og kallet stoppet med feil i stedet for å returnere reglene. Det traff kun brukere som er medlem av minst én gruppe — er du ikke i noen gruppe, virket alt som normalt, og det er trolig derfor feilen kunne stå. Regler med omfang «alle» og «enkeltperson» var aldri berørt.
KAI-assistentens svar er nå isolert per kunde og per bruker
Mellomlagrede KAI-svar, avviksrapporter og ML-genererte mønsterforklaringer deles ikke lenger på tvers av kundemiljøer i samme applikasjonsprosess. Assistentsvar er i tillegg isolert per innlogget bruker, siden svaret bygges på de registreringene den enkelte brukeren sendte inn. Kan verken kundemiljø eller bruker identifiseres, mellomlagres ingenting — svaret blir like riktig, men hentes ikke fra mellomlageret.
Utviklere og API (1 endring)
Feilrapport-opptak fanger nå også API-feil (HTTP 200 med success:false)
Opptaksknappen i feilrapport-verktøyet fanget kun nettverksfeil med HTTP-statuskode ≥ 400, og gikk dermed glipp av alle ePortal-feil som returneres som HTTP 200 med { success: false } (vår faste ApiResponse-konvensjon). Opptaket inspiserer nå svar-body-en og logger slike forretnings-/serverfeil som «APIERROR» med endepunkt og feilmelding, slik at de faktisk havner i feilrapporten.
Notifikasjoner og varsling (1 endring)
Varsel-bjellen lukkes når du klikker utenfor
Nedtrekket fra varsel-bjellen ble stående åpent til du klikket på bjellen igjen; det lukkes nå automatisk når du klikker utenfor.
Feilrettinger (5 endringer)
Bilagsoverføringer rapporterer nå feil ved mislykket bokføring
Kjøringer der selve bokføringen i Visma feilet ble tidligere rapportert som vellykket. De rapporteres nå som feilet, og feilvarsling sendes.
Feilrapport: skjermbilde-vedlegg feilet ved opplasting til blob-lagring
Skjermbilder på feilrapporter (og KAI-chatvedlegg) ble stille hoppet over på tenants uten KAI-spesifikk lagringskonfigurasjon: opplastingstjenesten gikk rett på Managed Identity mot en hardkodet lagringskonto i stedet for å bruke den delte Azure Storage-tilkoblingen som arbeidsordre-vedlegg allerede bruker. Tjenesten faller nå tilbake til AzureStorage.ConnectionString fra systemkonfigurasjonen når Chat_StorageConnectionString ikke er satt.
Sikkerhet: brukerdata-nedlasting lekket ikke lenger DB-passord
Endepunkter som returnerer ansatt-/brukerlister til nettleseren (bl.a. timegodkjenning, tidskonfigurasjon, meldinger) tok med server-interne felt (userPassword, tenantens DB-brukernavn/-passord, clientConfig, tenant-DB-navn/-domene) i JSON-svaret selv om de aldri ble brukt av frontend. Disse feltene er nå merket med [JsonIgnore] og sendes ikke lenger til klienten. Innlogging, JWT og server-side DB-tilkobling er uendret (de leser C#-verdiene direkte, ikke JSON).
Abonnement-menyen lå seedet for alle tenants selv om modulen ikke var aktivert
Menyraden «Abonnement» (med fem undermenyer: Dashboard, Masterordrer, Forslag, Tilbud, Datoendringer) ble lagt inn i menytreet for enhver tenant, synlig i Menyadministrasjon, selv om modulen ikke er kjøpt eller aktivert. Sluttbrukere så aldri menyen (null-rettigheter holdt den skjult i sidemenyen), men den lå der som en konfigurerbar post en administrator kunne se og aktivere ved et uhell. Menyraden fjernes nå — samme mønster som Support-menyen og CRM-snarveiene til Tilbud/Masterordre, som allerede er opt-in per tenant via Menyadministrasjon. Migrasjon: 20261016900106
Oppretting av ny ePortal feilet under skjemainitialisering
Provisjonering av ny tenant stoppet med SQL-feil 207 fordi meny-prosedyren i baseline-skriptet (dbscript.sql) var endret til en versjon som refererer kolonnen wv_Menu3.AngularIcon, som først legges til av en senere migrasjon ved første innlogging. Prosedyren er tilbakestilt til baseline-versjonen (den nye versjonen re-utstedes fortsatt av migrasjon 20261010120000), og hele skjemascriptet er verifisert feilfritt mot en fersk database.
Timeregistrering (5 endringer)
Godkjenning: Oversikt åpner nå på samme periode som Kontroller timer — og ble ikke lenger blank den 31.
Alle tre godkjenningssidene regnet standardperioden hver for seg, og utregningene hadde kommet i utakt. Oversikt manglet håndteringen av at man er forbi klippdatoen, og viste derfor forrige periode i stedet for den åpne — står klippdatoen på 25 og det er 31. i måneden, viste den 26. forrige måned til 25. denne, mens Kontroller timer viste 26. denne til 25. neste. Nå viser de det samme. Merk at Oversikt derfor åpner på en annen periode enn før — den åpne, ikke den forrige. I tillegg bommet utregningen når dagens dato ikke finnes i måneden før: den 31. juli ble «forrige måned» til juli i stedet for juni. På Oversikt ga det en fra-dato etter til-datoen, og siden viste ingenting i det hele tatt uten feilmelding; på Kontroller timer og Aktivering ga det feil periode. Dette traff bare månedsskifter der forrige måned er kortere — 31. juli, 31. mai, 31. oktober, 31. desember og dagene rundt februar — som er grunnen til at det kunne stå uoppdaget. Velger du selv en fra-dato etter til-datoen, får du nå beskjed i stedet for en tom skjerm.
Egenmelding: dagene vises på hver sin linje
Oversikten over egne egenmeldinger viste alle dagene en egenmelding dekker som én sammenslått tekst i Dager-kolonnen. Hver dag får nå sin egen linje, og en tom verdi vises som blank i stedet for teksten «null».
Oversikt: KontoX kan filtreres og sorteres
KontoX ble tegnet inne i Prosjekt-cellen på Oversikt-siden og kunne derfor verken filtreres eller sorteres. KontoX har nå sin egen kolonne. Samtidig er det avanserte filteret slått på for tabellen, slik at du kan filtrere på flere verdier samtidig (operatoren «er én av»). Kolonnen er skjult for virksomheter som ikke bruker KontoX.
Timeregistrering: endringshistorikk på en timeføring feilet med tidsavbrudd
Endringshistorikken (hvem endret hva på en timeregistrering) leser fra oppdateringsloggen wv_Time_WageReg_updlog, som ikke hadde noen indeks — hvert oppslag skannet hele den stadig voksende loggen og fikk «Timeout expired» på store tenants. En ny indeks på wrID gjør oppslaget til et direkte søk. Migrasjon: 20261016900020
Sikkerhet: sorteringen i timegodkjenning-oversikten kan ikke lenger misbrukes
De to lese-prosedyrene bak timegodkjenning-oversikten (/approval/overview) bygde sorteringen (ORDER BY) dynamisk fra brukerens lagrede sorteringsvalg (Overview_UserSetting) uten validering. Verdien saniteres nå server-side: kun et vanlig [alias].[kolonne]-navn og asc/desc godtas, alt annet faller tilbake til standard (dato, synkende). Ren herding — sortering på en kolonne virker nøyaktig som før, ingen funksjonell endring. Migrasjon: 20261016900019
Systemadministrasjon (2 endringer)
Datoer og beløp vises nå alltid på norsk — også for brukere satt til engelsk
Serveren valgte datoformat og tallformat ut fra brukerens språkinnstilling. Brukere uten språk satt — trolig de aller fleste — ble behandlet som engelske og fikk amerikansk format (7/31/2026 og 1,234.50), og brukere en administrator hadde satt til «EN» fikk det samme. Nå er dato- og beløpsformat alltid norsk (31.07.2026 og 1 234,50) uansett språkvalg; språkvalget styrer bare selve tekstene. Engelske brukere får dermed engelske etiketter og norske datoer og tall. Er en tekst ikke oversatt til engelsk, vises den norske teksten i stedet for nøkkelnavnet, slik den gjorde før. Merk at rapporter og skjermbilder for disse brukerne kan se annerledes ut enn før oppdateringen.
Datatilgang håndheves nå på flere HMS- og CRM-operasjoner, kundetidslinjen, globalt søk og CRM-kunder/-kontaktpersoner
Enkelte operasjoner sjekket ikke rollens datatilgang: åpning av ett enkelt avvik (også utenfor eget/avdelingens omfang), registrering og statusendring av avvik, opprettelse av CRM-aktiviteter, korrespondanse, salgsmuligheter og møter, samt møtepunkter på møter brukeren ikke hadde innsyn i. I tillegg viste tidslinjen på kundekortet aktiviteter, korrespondanse, møter og avtaler uten radfiltrering, og globalt søk kunne treffe arbeidsordrer, håndbøker, tilbud og masterordrer utenfor rollens datatilgang. CRM-kundelisten og kontaktpersonlisten (med kundekort, kontaktdetaljer, eksport og oppretting av kontaktpersoner) hadde ingen datatilgangsstyring i det hele tatt — to nye objekttyper, CRM Kunde og CRM Kontaktperson, kan nå konfigureres per rolle (standard er Alle, som bevarer dagens oppførsel). Alle disse følger nå innstillingene under Innstillinger → Datatilgang. Migrasjon: 20261016900098
Innstillinger (6 endringer)
En innstilling kunne i en kort periode vise en annen kundes verdi
Innstillinger leses fra hver kundes egen database, men mellomlagringen som gjør oppslaget raskt skilte ikke mellom kunder. Var to kunder aktive samtidig, kunne den ene få den andres verdi i inntil 15 minutter etter at verdien ble lest første gang. Det traff alle innstillinger, ikke en bestemt funksjon, og ga ingen feilmelding — verdien så helt normal ut. Mellomlagringen skiller nå på både databaseserver og database, slik at to kunder med likt databasenavn på hver sin server også holdes fra hverandre. En jobb som kjører uten innlogget kunde mellomlagrer ikke lenger i det hele tatt; den leser riktig verdi hver gang. Du trenger ikke gjøre noe.
Innstillinger: tømming av innstillingsbufferen virker nå på tvers av forespørsler
Når en admin-handling tømte innstillings-hurtigbufferen etter en masseoppdatering, tok tømmingen tidligere bare effekt for forespørselen som selv hadde lastet verdiene — andre forespørsler kunne fortsette å bruke utdaterte innstillingsverdier i opptil 15 minutter. Tømmingen invaliderer nå hele innstillingsbufferen for kunden umiddelbart, uten å påvirke andre kunder.
Abonnement – feltoppsett: hent verdikatalogen fra ordrelinjene
Verdikataloger-fanen har fått en «Hent verdier fra ordrelinjer»-knapp som automatisk oppretter katalogoppføringer for alle gruppe-verdier (Group1–6) som faktisk er i bruk på masterordre-linjene (f.eks. etter NXT-importen) — verdien settes inn med tallet som midlertidig visningsnavn, så døper administratoren dem om etterpå. Idempotent: eksisterende oppføringer røres ikke, og manuelle navn beholdes. Det er bevisst ingen FK fra linjenes gruppefelter til katalogen (ERP-verdier skal aldri blokkeres) — denne knappen lukker gapet andre veien.
Abonnement – feltoppsett: redigerbare tabeller og ryddet sidetopp
De tre fanene under Innstillinger → Abonnement – feltoppsett (Feltetiketter, Verdikataloger, Serviceobjekt-typer) bruker nå smart-grid med redigering direkte i cellen, kopier/lim inn fra Excel, globalt søk, eksport og en samlet Lagre/Forkast-verktøylinje (best-effort per rad — feilede rader blir stående som ulagret) i stedet for skjemadialoger. Nøkkelfelt er fortsatt låst etter opprettelse (feltnøkkel, katalogverdi og typekode). Den doble sideoverskriften er fjernet (innstillings-skallet eier tittelen).
Masterordre: feltoppsett-administrasjon (etiketter, verdikataloger, serviceobjekt-typer)
MO-015 S7 gir en ny admin-side under Innstillinger → «Abonnement – feltoppsett» der tenant-etikettene for gruppefeltene (Group1–6/Free1–3), verdikatalogene bak gruppe-selectene (Group1–6) og serviceobjekt-typene vedlikeholdes (opprett/rediger/deaktiver; type-koden er låst etter opprettelse). Gated av den nye datatilgangen Subscription.Configuration. Migrasjon: 20261016900012
Masterordre: dokumentnedlasting/-sletting og arbeidsflyt-oppsummeringer herdet (MO-015-lukking)
Nedlasting og sletting av masterordre-dokumenter er nå avgrenset til dokumentets egen ordre (et dokument-ID under feil masterordre gir «ikke funnet» i stedet for å strømme/slette), arbeidsflyt-oppsummeringer (digest) og varsler kan ikke lenger aktiveres uten en mottaker som faktisk kan nås (bruker eller ekstra e-postadresse) — dette håndheves nå på serveren uansett hvor du aktiverer (bygger, «Aktiver»-bryteren i arbeidsflytlisten eller API), ikke bare i byggeren, så en importert mal med tom mottaker ikke kan gå aktiv og stille hoppe over hver kjøring, og alle seks tilbudshendelser (Produsert, Sendt, Purret, Akseptert, Avslått, Utgått) er nå tilgjengelige som arbeidsflyt-utløsere og fyrer pålitelig både fra manuell handling og fra den automatiske tilbudsmotoren (auto-send/purr/utløp) — en oppsatt hendelse-arbeidsflyt går ikke lenger glipp av en auto-utsendelse.
Lager (2 endringer)
Lager: transaksjonslisten krasjet ved henting
Lager → transaksjoner (Stock/GetAllTransactions) kastet en RepoDb-materialiseringsfeil (String→Int32 på CreatedBy) så snart en tenant hadde lagertransaksjoner, fordi spørringen projiserte brukernavnet inn i et int-felt. «Opprettet av» vises nå via et eget CreatedByName-felt, mens CreatedBy forblir bruker-ID-en.
Lager: auto-overføring til lager løser nå lageret når ett aktivt lager finnes
Eksterne AO-linjer via Integrasjons-API-et og «Rekalkuler eksterne uttak» auto-velger nå lageret når det finnes nøyaktig ett aktivt lager (IsActive=1, IsDeleted=0), ikke bare når det finnes ett lager totalt. Tenants med flere lagerrader der bare ett er aktivt fikk tidligere ikke opprettet lager-transaksjoner (StockNo ble ikke løst).
Breaking changes / Viktig for deploy¶
KontiConnect / Integrasjoner (1 endring)
NXT ordreconfig valideres strengere
Ordreintegrasjonen støtter nå eksplisitt bare SyncDirection=Export og numerisk OrderType=2; ukjente config-felt avvises. Eksisterende avvikende oppsett må korrigeres før første kjøring. Et ordrelinjeutfall markert Unknown skal kontrolleres i NXT og skal ikke rettes direkte i databasen. Migrasjon: 20261016900056 Breaking change.
Bankavstemming og konsernavstemming (1 endring)
Konsernavstemming må initialiseres per par etter denne utrullingen
Et konsernpar får nå samme initialisering som en bankkonto: du setter hvilken dato paret er avstemt til og med, saldoen på hver side per den datoen, og eventuelle åpningsposter som er utestående over cutoff. Tidligere hadde et par verken cutoff eller inngående saldo, så lastevinduet ble funnet opp ved lesetidspunktet: et par ingen hadde bekreftet leste rullerende 30 dager, alt eldre var usynlig, en post som faktisk var åpen fra før vinduet forsvant i stedet for å vises som åpen — og paret så avstemt ut, fordi det eneste som ble summert var de siste 30 dagene. Saldoen var heller ingen saldo, men en vindussum som endret seg hver gang vinduet endret seg. Nå er saldoen inngående saldo pluss postene etter cutoff — den er den samme uansett hvilken periode du ser på, og det samme tallet vises på dashbordet, i arbeidsflaten og i rapporten. Et par uten cutoff blokkerer med en tydelig melding i stedet for å vise et tall ingen kan etterprøve. Det finnes ingen datamigrering — alle eksisterende par er uinitialiserte by design. Migrasjon: 20261016900111 Breaking change.
Migrasjons-sammendrag¶
| Migrasjon | Endring |
|---|---|
20261016900009 |
Masterordre automatiske jobber (interne jobber i Konti Connect) |
20261016900010 |
Masterordre auto-supportbrev og påminnelser (interne jobber) |
20261016900011 |
Masterordre: NXT-overføring (kø) — ny intern jobb i Konti Connect |
20261016900084 |
Konfig-drevet klassifiseringsmapping (Kundetype/BPP-status/Flåte/Kundestatus følger felt-mappingen) |
20261016900093 |
Produktpakker: sett inn en hel produktbunt fra produktsøket |
20261016900093 |
Produktpakker: administrer i Innstillinger → Abonnement – feltoppsett |
20261016900102 |
Akseptert tilbud oppretter nå instrumentene automatisk |
20261016900103 |
Akseptert tilbud oppretter nå instrumentene automatisk |
20261016900105 |
Akseptert tilbud oppretter nå instrumentene automatisk |
20261016900077 |
Tilbud og masterordre kan slettes (hard/myk med tilgangsstyring) |
20261016900071 |
NXT-klassifisering: egne navn på kodene + alle åtte grupper på kundekortet |
20261016900075 |
Masterordre: dokumentmalene har nå ferdigdefinerte standardmaler |
20261016900078 |
Tilbud: rediger tilbudshodet (ansvarlig, selger, valuta, notat, ansvarsenheter) |
20261016900037 |
Masterordre kan opprettes på nytt fra et akseptert tilbud |
20261016900046 |
Masterordre: ny «Ordrer»-fane med NXT-overføringer |
20261016900048 |
Masterordre-linjer: rabatt i kroner (enten % eller kr) |
20261016900064 |
Masterordre: «Bruk beregnede datoer» på en ordre |
20261016900064 |
Masterordre: «Bruk beregnede datoer» må aktiveres per rolle (fail-closed) |
20261016900076 |
Supportbrev rendres nå med supportbrev-malen (ikke tilbudsmalen) |
20261016900054 |
Leveringsadresse på masterordre |
20261016900061 |
Leveringsadresse: 4. adresselinje og kontakt-/referanseinstruks lagres nå |
20261016900060 |
Tilbud: kopier et tilbud til nytt utkast |
20261016900060 |
Masterordre: kopier en ordre til nytt utkast |
20261016900113 |
Tilbudshode: nye klassifiseringsfelt |
20261016900045 |
CRM: admin-justerbare terskler for Kundepuls |
20261016900083 |
Kundestatus (NXT group9) på kundekortet og som listefilter |
20261016900005 |
CRM: daglig «Min dag»-digest |
20261016900006 |
CRM: KAI kundebrief — «hva bør jeg vite før jeg ringer?» |
20261016900006 |
CRM: KAI kundebrief må aktiveres per rolle (fail-closed) |
20261016900067 |
CRM: NXT-prisgruppe og valuta på kundekortet |
20261016900094 |
Outlook: koble e-posten til hva som helst i ePortal |
20261016900001 |
KAI: utvid oppgave med deloppgaver |
20261016900109 |
Slutt på varsel-spam ved raske endringer på en oppgave |
20261016900024 |
Eksterne timeregistreringer rutes igjen til riktig utbetaling/timebank |
20261016900018 |
Ny intern jobb: serienummer fra Visma Business NXT |
20261016900056 |
NXT-integrasjoner: trygg cursor og gjenopptak av ordrelinjer |
20261016900017 |
Freshdesk: schedulert synkronisering av supportsaker |
20261016900025 |
Bilagsimport for Fjordkraft og Altibox |
20261016900021 |
NXT-bilag: Bilagshistorikk-fane med «Kjør på nytt» |
20261016900016 |
Outlook: KAI foreslår notat og tolker signatur |
20261016900006 |
Svar på feilrapporter |
20261016900014 |
Ny ePortal: komplett standardoppsett, flere SQL-servere og sikker retry |
20261016900015 |
Systemvarsler: last opp bilde + rettet redigeringsvindu |
20261016900097 |
E-postutsending slått over i produksjonsflyt, og kan nå styres per kunde |
20261016900105 |
Migrasjonen som sikrer instrumentregisteret sier fra når den ikke fikk installert garantiene |
20261016900013 |
Masterordrer — kommentarer og dokumenter (MO-015 S8) |
20261016900010 |
Masterordrer — ordreforslagskø: generer, se og beslutt (MO-015 S4) |
20261016900009 |
Masterordrer — rediger, legg til og avslutt abonnementslinjer (MO-015 S2) |
20261016900008 |
Masterordrer — liste, ordrehode og linjer leser nå reelle data (MO-015 S1) |
20261016900004 |
Tilbuds-datamodell (CRM) + motor-fakta |
20261016900007 |
Abonnement — rev 4b-datamodell (serviceobjekter, brevmottakere, gruppefelt) |
20261016900022 |
Supportsaker (Freshdesk) i portalen |
20261016900081 |
Smart-grid: lagrede visninger og filtre kan deles med alle |
20261016900101 |
Språkvalget kan nå hentes og lagres fra Min profil |
20261016900117 |
Abonnement: grunnmur for serienummer-kobling av tilbudsfødte ordrer |
20261016900087 |
Bankavstemming: valuteringsdato (ValDt) styrer nå avstemmingsperioden |
20261016900090 |
Konsernavstemming: valutadifferanse per valuta synliggjøres (FX-gap) |
20261016900079 |
Masterordre-listen laster nå på under ett sekund |
20261016900049 |
Tilbud: rabatt i kroner eller prosent på tilbudslinjer (enten/eller) |
20261016900051 |
Dokumenter på tilbud |
20261016900031 |
Masterordre: rikere ordrehode fra NXT |
20261016900032 |
Aktør-klassifisering fra NXT: IMO-nr, kundetype, BPP-status og flåte |
20261016900033 |
Masterordre: verdikatalog-navn for ordrehodets NXT-koder |
20261016900047 |
Masterordre: Transaksjonsgruppe 1 kan navngis i verdikatalogene |
20261016900035 |
Masterordre: administrasjon av malpakker (produktmaler) |
20261016900041 |
Masterordre/CRM: aktør-klassifiseringens feltnavn kan nå tilpasses per kunde |
20261016900018 |
Timegodkjenning — oversikten laster raskere (slankere datauttrekk) |
20261016900030 |
Supportsaker — saksnummersøk, Type/Etiketter/Tildelt-kolonner og per-kolonne filtrering |
20261016900112 |
Konsernavstemming: verktøylinje og initialisering på linje med bankavstemming |
20261016900020 |
Nykundeveiviser: samme domenenavn kan ikke lenger registreres to ganger |
20261016900019 |
Nykundeveiviser: samtidige kjøringer mot samme database sperres |
20261016900116 |
Nykundeveiviser: Abonnement- og Innstillinger-menyene manglet for nye kunder |
20261016900115 |
Aktivering timer: manglende timer i rapporten for Variant A |
20261016900042 |
CRM: aktørrelasjons-API-et er nå styrt av Datatilgang |
20261016900094 |
Outlook-tillegget: e-poster viste feil retning i CRM |
20261016900098 |
Datatilgang håndheves nå på flere HMS- og CRM-operasjoner, kundetidslinjen, globalt søk og CRM-kunder/-kontaktpersoner |
20261016900020 |
Timeregistrering: endringshistorikk på en timeføring feilet med tidsavbrudd |
20261016900019 |
Sikkerhet: sorteringen i timegodkjenning-oversikten kan ikke lenger misbrukes |
20261016900011 |
Masterordre: tilbudslivssyklus (produser → send → purr → utfall) med akseptlenke |
20261016900012 |
Masterordre: feltoppsett-administrasjon (etiketter, verdikataloger, serviceobjekt-typer) |
20261016900106 |
Abonnement-menyen lå seedet for alle tenants selv om modulen ikke var aktivert |
20261016900107 |
Sletting av CRM-dokument feilet på enkelte klienter |
20261016900108 |
Bankavstemming — poster med valuteringsdato etter avstemt-til-og-med-datoen hentes nå fra regnskapssystemet, og åpneposter får kontoens egen valuta |
20261016900110 |
Kontosaldo og transaksjonsuttrekk fra Visma Business og Visma Business NXT bruker nå samme dato-regel gjennomgående |
20261016900061 |
Innlogging på tenants med legacy V3-personellskjema |
20261016900056 |
NXT ordreconfig valideres strengere |
20261016900111 |
Konsernavstemming må initialiseres per par etter denne utrullingen |