Manuell matching av transaksjoner¶
I arbeidsbenken (avstemmingsvinduet) for en bankkonto kan du krysse av banktransaksjoner og hovedboksposteringer som hører sammen, og opprette en avstemmingsgruppe manuelt. Dette er typisk neste steg når auto-match ikke har klart å koble alle linjene — for eksempel ved splittede betalinger, manglende referanse eller avvikende beløp.
Tilgang¶
| Hvem | Hva trengs |
|---|---|
| Modul | Bankavstemming (moduleId 42) |
| Rute-vakt | ActivateService + ModuleGuard på /bank-reconciliation/reconcile/:id (bank-reconciliation-routing.module.ts:21) |
| Tilleggsrettighet | wv_BankAccountAccess.CanReconcile = 1 på bankkontoen (admin styrer dette på siden Bankavstemming → Tilganger) |
Tilgangsrettighetene CanView, CanReconcile og CanApprove er definert i BankAccountAccess.cs:13-15. Selve matchingsoperasjonen sjekker acc.CanReconcile via HasAccessAsync (BankReconciliationRepository.cs:4332).
Slik kommer du til arbeidsbenken¶
Arbeidsbenken er ikke en menyrute du går direkte til — du må først velge en konto:
- Åpne Bankavstemming → Dashboard (
/bank-reconciliation/dashboard) eller Bankavstemming → Kontoer (/bank-reconciliation/accounts). - Klikk på den bankkontoen du vil avstemme.
- Du havner i arbeidsbenken på URL
/bank-reconciliation/reconcile/{kontoId}.
Konfigurerbare menyruter for modulen er definert i bank-reconciliation.menu.ts (Dashboard, Kontoer, Selskap, Konsernavstemming, KAI-metrikker, Regler, Tilganger og Plan).
Slik er arbeidsbenken bygd opp¶
Arbeidsbenken viser to lister side om side (bank-reconciliation-workspace.component.html:431):
- Bank — banktransaksjoner (
wv_BankTransaction) - Hovedbok — posteringer (
wv_LedgerEntry)
Hver liste har sitt eget filter, søkefelt og sorteringsmuligheter:
Filter (bankMatchFilter / ledgerMatchFilter) |
Verdi | Tekst i no.json |
|---|---|---|
| Alle | all |
"Alle" |
| Uavstemte | unmatched (standard) |
"Uavstemte" |
| Avstemte | matched |
"Avstemte" |
Standard datospenn settes til siste fullførte periode + neste måned i loadSmartDates() (bank-reconciliation-workspace.component.ts:429).
Statusbåndet på toppen viser sanntidsstatus for perioden — "Avstemt", "Ikke avstemt", "Mangler hovedbok", "Mangler bank" eller "Ingen data" — beregnet i reconciliationStatusType (bank-reconciliation-workspace.component.ts:743).
Beløp og NOK i hver sin kolonne¶
Både bank- og hovedbokslisten viser beløpet i to kolonner ved siden av hverandre — «Beløp» og «NOK» — i stedet for stablet i samme celle:
- «Beløp» viser primærbeløpet: valutabeløpet på en valutakonto, ellers NOK-beløpet.
- «NOK» (hjemmebeløpet) vises alltid. På en valutakonto viser den NOK-motverdien (med vekslingskurs i parentes når den finnes); på en NOK-konto viser den et eventuelt valutabeløp, eller en tankestrek når det ikke finnes noe sekundærbeløp.
Sifrene er høyrejustert og tabulær-justert så beløpene er lette å sammenligne loddrett.
På en valutakonto viser bunnlinjen i hver liste i tillegg NOK-summen ved siden av valutasummen (… · NOK …) for både «Uavstemt» og «Total», slik at du ser begge målestokkene samtidig.
Excel-eksporten av bank- og hovedbokslistene («Rapporter»-menyen) speiler dette: den har en egen NOK-kolonne med hjemmebeløpet i tillegg til beløpskolonnen.
Velg linjer som skal matches¶
Klikk på en rad eller bruk avkrysningsboksen for å velge en linje. Allerede matchede linjer kan ikke velges (isMatched-sjekken i toggleBankSelection / toggleLedgerSelection — bank-reconciliation-workspace.component.ts:640).
Når noe er valgt dukker en utvalg-bar opp øverst med (bank-reconciliation-workspace.component.html:163-220):
- Antall valgte hovedboksposter + sum
- Antall valgte banktransaksjoner + sum
- Differanse — beregnes som
selectedBankTotal - selectedLedgerTotalmed to desimalers presisjon (bank-reconciliation-workspace.component.ts:722)
Knappene i utvalg-baren:
| Knapp | Hva den gjør | Krav |
|---|---|---|
| Avstem | Oppretter manuell match | Minst én hovedbokspost må være valgt (canMatch returnerer false hvis bare bankrader er valgt — bank-reconciliation-workspace.component.ts:726) |
| Opprett bilag | Åpner bokføringsmodal | Minst én banktransaksjon må være valgt |
| Fjern utvalg | Tømmer både bank- og hovedboksvalg | — |
Opprett bilag og overfør til Visma¶
Klikk Opprett bilag for å bokføre valgte banktransaksjoner mot en hovedbokskonto uten at det finnes en matchende hovedbokspostering fra før — typisk gebyrer, renter eller andre poster som skal inn i hovedboken, ikke matches mot en eksisterende postering. Bokføringsmodalen foreslår motkonto, beløp, dato og tekst fra den valgte banktransaksjonen (initVoucherModal — bank-reconciliation-workspace.component.ts:1613); velg debet-/kredit-konto og bekreft med Opprett bilag.
Har transaksjonen fra før ett eller flere bilag, varsler modalen om dette med antallet, og viser dem i en liste merket Overført eller I kø — slik unngår du å opprette et duplikat ved en feil.
Konto i utenlandsk valuta (BRQ-11)¶
Kommer banktransaksjonen fra en konto i utenlandsk valuta (f.eks. USD), viser bokføringsmodalen en
egen linje under beløpsfeltet med transaksjonens valuta, valutabeløp og kurs, samt hvilket NOK-beløp
det bokføres som — slik at det alltid er tydelig hvilket tall som er hvilket
(initVoucherModal / voucherCurrency — bank-reconciliation-workspace.component.ts:1613).
Bilaget som opprettes tar valuta, kurs og valutabeløp fra selve banktransaksjonen
(BankReconciliationRepository.CreateVoucherAsync — BankReconciliationRepository.cs:4451), slik at den etterfølgende avstemmingen sammenligner banktransaksjonens og bilagets beløp i samme valuta — før dette ble en USD-transaksjon bokført med kun NOK-beløpet, og avstemmingsbildet leste NOK-tallet som USD og viste en differanse som ikke fantes.
Har ikke Visma Business NXT en valutakode som samsvarer med transaksjonens valuta i tenantens egen valutatabell, opprettes bilaget ikke — du får en feilmelding i stedet for et bilag som stille ville blitt bokført feil. Kontroller valutaoppsettet i Visma og prøv igjen.
Umiddelbar overføring til Visma Business NXT (BRQ-8)¶
Så snart bilaget er opprettet i ePortal, forsøker portalen straks å overføre det til Visma Business NXT (postCreatedVoucher — bank-reconciliation-workspace.component.ts:1583) — du venter ikke lenger på neste planlagte kjøring av bilags-integrasjonen. En fremdriftsindikator viser opprettelse og overføring som to steg, og du får beskjed om utfallet (handlePostOutcome — bank-reconciliation-workspace.component.ts:1610, utfallene definert i PostVoucherResult.cs):
| Utfall | Melding | Hva det betyr |
|---|---|---|
| Bokført i Visma | «Bilaget er bokført i Visma» (med bilagsnummer når Visma faktisk oppgir ett) | Overført og bokført i hovedboken. Ferdig — ingen videre handling. |
| Overført, men ikke bokført | «Bilaget er overført til Visma. Det må bokføres manuelt der.» | Batchen er opprettet i Visma, men bokføring kjørte ikke automatisk — enten fordi tenantens integrasjon har automatisk bokføring (AutomaticBatchUpdates) avslått, eller fordi bokføringskontrollen avviste batchen. Bokfør bilaget i Visma. |
| Overført, men bokføringen feilet | «Bilaget er overført til Visma, men bokføringen feilet. Bilaget må bokføres i Visma.» — med Vismas feilmelding vist i klartekst i modalen | Bilaget nådde Visma og bokføring ble forsøkt der, men feilet. ePortal tilbyr ingen ny overføring her — bilaget er allerede ute av ePortals kø. Fullfør bokføringen i Visma. |
| Allerede overført | «Bilaget er allerede overført til Visma» | En planlagt kjøring rakk å ta bilaget rett før din overføring. Ingen handling nødvendig. |
| Ligger i kø | «Bilaget er opprettet og ligger i kø. En overføring pågår allerede og tar det med seg innen få minutter.» | En annen overføring for samme integrasjon pågikk allerede; bilaget blir med i den innen kort tid. Ikke en feil. |
| Feilet | Feilmelding med Vismas tekst, i en bekreftelsesdialog med et «Prøv igjen»-alternativ (retryPostVoucher) |
Selve overføringen feilet. Bilaget står fortsatt i køen, så et nytt forsøk kan lykkes. |
Merk om bilagsnummer: et bilagsnummer er ofte ikke tilgjengelig — mange Visma-oppsett nummererer bilag automatisk uten at ePortal får vite nummeret (NxtVoucherNo er null i dette tilfellet). Meldingene viser bilagsnummer kun når Visma faktisk oppgir det.
Tenanter uten en aktiv Visma Business NXT bilags-integrasjon ser ingen endring — bilaget opprettes som før og legges i den vanlige køen for neste planlagte overføring (utfallet «Ikke konfigurert» gir ingen synlig melding).
Bilag vises fortsatt i modalens liste over eksisterende bilag etter overføring — nå merket Overført i stedet for å forsvinne fra listen.
Bilagstype sendt til Visma (BRQ-9)¶
Bilagstypen (voucherType) som følger med bilaget til Visma Business NXT styres av innstillingen Accounting.BankReconciliationVoucherType (standard 0, samme mønster som Accounting.DefaultVoucherSeries — resolves i BankReconciliationController.CreateVoucher). Standardverdien 0 betyr at ePortal ikke sender noen bilagstype i det hele tatt, slik at Visma bruker bilagsseriens egen standardtype — dette fungerer uten oppsett for de fleste selskaper. Krever selskapet en bestemt bilagstype, kan admin sette den i Innstillinger → Systemkonfigurasjon. Se Visma Business NXT-integrasjon → Bilagstype som sendes til NXT for bankavstemmings-bilag for detaljer.
Vedlegg til bilaget (BRQ-10)¶
Bokføringsmodalen har en Vedlegg-seksjon der du kan laste opp filer (PDF, PNG, JPG, XLSX, XLS, CSV, DOC, DOCX, maks 25 MB) knyttet til bilaget — dra og slipp, eller velg fil.
Så lenge bilaget er overført og et bilagsnummer er kjent for denne åpne dialogen (nxtBatchNo/nxtVoucherNo fra overføringsutfallet — bank-reconciliation-workspace.component.ts:1610), sendes hvert opplastet vedlegg automatisk rett til det bilaget i Visma Business NXT (maybePushAttachmentToNxt — bank-reconciliation-workspace.component.ts:1814, backend-endepunkt UploadVoucherAttachmentToNxt) — en grønn hjelpetekst over listen viser bilagsnummeret, og hvert vedlegg får et Sendt til Visma-merke når opplastingen til Visma lykkes.
Vinduet er den åpne dialogen — lukker du dialogen og åpner den på nytt, er bilagsnummeret borte fra denne sesjonen (det leses ikke tilbake), og seksjonen viser i stedet en grå hjelpetekst om at vedlegg kun lagres i ePortal. Dette er en produktbeslutning i frontenden, ikke en teknisk begrensning i serveren — serveren tar uansett aldri imot bilagsnummeret fra deg; den slår opp det virkelige bilagsnummeret i Visma selv, hver gang. Det samme gjelder:
- vedlegg lastet opp før en vellykket overføring,
- vedlegg lastet opp etter at overføringsforsøket feilet, eller
- der Visma aldri oppga et bilagsnummer (autonummerering).
Klarer ikke ePortal å sende et opplastet vedlegg videre til Visma (f.eks. en midlertidig feil mot Visma), vises vedlegget med et Ikke sendt til Visma-merke — filen er likevel trygt lagret i ePortal, og du kan laste den opp manuelt i Visma om nødvendig.
Match valgte linjer¶
Klikk Avstem. Hvis utvalget går i null går matchingen rett gjennom. Hvis det er differanse åpner et bekreftelsesvindu (matchWarningModal) med teksten "De valgte transaksjonene går ikke i null. Er du sikker på at du vil avstemme med en differanse?" — du må bekrefte "Avstem likevel" for å fortsette (bank-reconciliation-workspace.component.ts:817, i18n-nøkler matchWarningTitle / matchWarningMessage / matchAnyway).
API-et POST /matchTransactions sender felt:
bankAccountIDbankTransactionIds(kan være tom hvis du kun matcher hovedboks-linjer mot hverandre)ledgerEntryIdsmatchType: 'Manual'— dette er strengen som faktisk lagres iwv_BankReconciliationMatch.MatchType(bank-reconciliation-workspace.component.ts:838)
Ved suksess vises toast "Avstemming opprettet" og listene lastes på nytt. Ved feil vises "Feil ved avstemming" med eventuell backend-melding via toastService.showApiError(...).
Alle linjer som matches manuelt får felles MatchGroupID (Guid) i wv_BankReconciliationMatch. Match-grupper opprettet i denne flyten har MatchType = 'Manual' (auto-match-strategier bruker andre verdier som AutoMatch_Rule:<navn>, AutoMatch_SumNToOne osv. — se BankReconciliationService.cs:1140).
KAI-forslag er et eget, ikke-postert spor: KAI skriver aldri en rad i wv_BankReconciliationMatch, den staker i stedet sitt foretrukne forslag inn i den tvetydige-review-køen som en kandidat med Strategy = 'KAI', klar for ett-klikks manuell godkjenning (KaiAmbiguousBatchPlanner.cs:11-19).
Opphev en feilaktig match¶
På hver matchet rad vises en liten "X"-knapp (bi-x-lg) som åpner unmatchConfirmModal (bankside bank-reconciliation-workspace.component.html:566-568, hovedbokside 816-818, selve modalen 1466). Bekreftelsesteksten er "Dette vil oppheve hele avstemmingsgruppen. Alle banktransaksjoner og reskontroposter i denne matchingen blir frigjort." (i18n-nøkkel unmatchConfirmMessage).
Bekrefter du, kalles POST /unmatchTransactions med bankAccountID og matchGroupID. Ved suksess vises toast "Avstemming opphevet" (unmatchSuccess).
Legg til kommentar på en linje¶
For uavstemte linjer som ikke kan matches — for eksempel der bilaget kommer i neste periode — kan du legge igjen en kommentar slik at konteksten ligger på linjen i revisjonsloggen.
Klikk chat-ikonet (bi-chat-text) på linjen for å åpne kommentarmodalen (bank-reconciliation-workspace.component.ts:1128). Tidligere kommentarer på samme linje hentes med GET /comments?bankTransactionID=… (eller ledgerEntryID).
Send-knappen er deaktivert hvis tekstfeltet er tomt ([disabled]="!newCommentText.trim()"). Eksisterende kommentarer vises som antall i et badge (tx.commentCount / entry.commentCount).
Fullfør perioden¶
Når listene er i null kan du klikke Fullfør periode i toppmenyen (bi-check-lg) for å låse perioden. Knappen er deaktivert med begrunnelse i tooltip når noe stopper fullføringen — tekstene kommer fra completeDisabledReasonKey (bank-reconciliation-workspace.component.ts:804):
| Situasjon | Tekst |
|---|---|
| Mangler hovedbok | "Kan ikke fullføre før hovedboksposteringer er importert eller perioden er kontrollert." |
| Mangler bank | "Kan ikke fullføre før banktransaksjoner er importert eller perioden er kontrollert." |
| Ingen data | "Kan ikke fullføre en periode uten bank- eller hovedboksposter." |
| Differanse ≠ 0 | "Kan ikke fullføre før differansen er 0,00." |
| Uavstemte linjer | "Kan ikke fullføre før alle poster er avstemt." |
| Auto-match var trunkert | "Auto-match var ikke fullstendig (for mange poster). Snevre datoperioden og kjør på nytt før perioden fullføres." |
Har perioden uavstemte linjer du likevel vil fullføre med, må du krysse av "Jeg bekrefter at uavstemte poster er forventede åpne poster …" og skrive en forklaring på minst 10 tegn (bank-reconciliation-workspace.component.ts:1192). Forklaringen lagres i revisjonsloggen.
Beløpsfeltene i dialogen er skrivebeskyttet. De er systemets egne saldoer, hentet fra serveren når dialogen åpnes, og brukes som kontroll på at ingen andre har endret grunnlaget mens du sto i bildet. Tidligere var de redigerbare og forhåndsutfylt med panelsummene, som regnes ut på en annen måte — uten åpningsbalanse — slik at kontroller med åpningsbalanse eller fremmed valuta aldri kunne gå gjennom.
Valuta på en valutakonto¶
På en konto i annen valuta enn NOK teller saldoen bare poster som faktisk står i kontoens valuta. En norsk postering på en USD-konto — typisk en valutakorrigering — regnes ikke inn i USD-summen. Den forsvinner ikke: summen av slike poster vises i kroner som Andre valutaer (NOK) i avstemmingsbroen og på kontooversikten.
Slike poster regnes heller ikke som uavstemte, siden de per definisjon ikke har en bankmotpart. Du slipper dermed å begrunne dem hver måned ved fullføring.
Skillet bygger på valutanummeret fra regnskapssystemet. Nummereringen er kundespesifikk, så hvilke numre
som betyr innenlandsk settes i innstillingen BankReconciliation.DomesticCurrencyNumbers (standard
0,47). Poster som mangler valutanummeret vises med et varsel per konto — da faller systemet tilbake på
valutakoden, og saldoen er foreløpig til hovedbok og bank er importert på nytt.
Nett ut poster i hovedboken¶
To hovedboksposter som opphever hverandre — en faktura og en kreditnota, for eksempel — kan avstemmes mot hverandre uten bankpost. Velg begge; går utvalget i null, endrer knappen seg til Nett ut.
Automatisk avstemming klarer ikke dette tilfellet: nettingstrategien matcher en gruppe hovedboksposter mot én banktransaksjon på nettobeløpet, og et par som går i null ville krevd en banktransaksjon på 0,00. Manuell netting er derfor eneste vei.
Vanlige problemer¶
"Avstem"-knappen er deaktivert selv om jeg har valgt rader¶
canMatch returnerer false så lenge det ikke er minst én hovedbokspost i utvalget (bank-reconciliation-workspace.component.ts:726). Et utvalg med bare banktransaksjoner kan altså ikke matches — i det tilfellet vil du sannsynligvis Opprett bilag først, slik at banklinjene har en motpostering å matches mot.
Toast: "Feil ved avstemming"¶
Returneres når backend setter success = false på matchTransactions eller når kallet feiler. Detaljert årsak vises via toastService.showApiError(response.errorMessage, ...) når backend leverer en feilmelding (bank-reconciliation-workspace.component.ts:848).
«Overføring feilet»-dialogen etter Opprett bilag¶
Vises når selve overføringen til Visma Business NXT feiler (utfall Feilet — PostVoucherOutcome.Failed), for eksempel ved en midlertidig kommunikasjonsfeil mot Visma. Bilaget er allerede opprettet i ePortal og ligger fortsatt i overførings-køen, så dialogen tilbyr «Prøv igjen» (retryPostVoucher). Meldingen «Bilaget er overført til Visma, men bokføringen feilet» er noe annet — der er overføringen allerede vellykket og det finnes derfor ingen «Prøv igjen»-knapp; bokføringen må da fullføres i Visma.
«Voucher type X does not exist» i feilmeldingen¶
Visma avviser hele batchen når bilagstypen som sendes ikke finnes i selskapet. Kontroller innstillingen Accounting.BankReconciliationVoucherType (se Bilagstype sendt til Visma over) — verdien må enten være 0 (send ingen bilagstype, la Visma bruke seriens standard) eller en bilagstype som faktisk finnes i selskapet i NXT. «Prøv igjen» hjelper ikke før innstillingen er rettet, siden den samme ugyldige typen ellers sendes på nytt.
Match-knappen finnes ikke når jeg åpner kontoen¶
Hvis brukeren mangler CanReconcile på bankkontoen vil backend-kall (matchTransactions, unmatchTransactions, completeReconciliation) returnere feil. Admin må gi tilgang via Bankavstemming → Tilganger (/bank-reconciliation/access) — der vises de tre rettighetene Kan se, Kan avstemme og Kan godkjenne.
Klarer ikke å fullføre perioden¶
Tooltip på Fullfør-knappen viser hvorfor den er deaktivert. Vanligste årsaker er at listene ikke er i null eller at det ligger uavstemte linjer igjen — se tabellen over.
Relaterte sider¶
- Matche transaksjoner — auto-match først
- Importere bankutdrag — forutsetning før matching
- Konsernavstemming — på tvers av selskaper
- Generere rapport — sluttdokumentasjon
- For administratorer


