Økonomi

Slik Fungerer IBAN-Validering (og Slik Finner Du en Skrivefeil Før en Overføring)

7 min lesetid

Et gyldig IBAN er ikke bare et langt tall. De to siste sifrene i landkoden er en kontrollsum regnet ut med MOD-97, og den fanger opp nesten enhver skrivefeil før pengene i det hele tatt forlater kontoen din.

Hva som faktisk står i et IBAN

Et IBAN (International Bank Account Number) består av tre deler satt sammen etter en fast oppskrift. Først kommer en 2-bokstavers ISO-landkode, for eksempel DE for Tyskland eller NO for Norge. Deretter følger to kontrollsifre, regnet ut med MOD-97-algoritmen beskrevet under. Resten av nummeret er BBAN-en (Basic Bank Account Number), som inneholder bankkode og kontonummer i et format som varierer fra land til land, Tyskland strukturerer sin BBAN annerledes enn Frankrike, som igjen skiller seg fra Norge.

Det er lett å blande sammen et IBAN med en BIC- eller SWIFT-kode, men de gjør to helt forskjellige jobber. BIC identifiserer banken (og ofte en spesifikk filial), mens IBAN identifiserer selve kontoen hos den banken. Ved en del internasjonale overføringer trenger du begge deler samtidig, og det ene erstatter ikke det andre.

Verdt å presisere med en gang: et gyldig IBAN beviser bare at nummeret er matematisk riktig bygget opp. Det sier ingenting om hvorvidt kontoen faktisk finnes, om den er aktiv, eller om den tilhører personen du tror den tilhører. Det kan kun mottakerbanken bekrefte, typisk gjennom en egen kontonavn-sjekk som noen banker tilbyr ved SEPA-overføringer.

Ta et norsk eksempel: NO93 8601 1117 947. Landkoden NO og kontrollsifrene 93 følger samme MOD-97-regel som alle andre land, mens de resterende 11 sifrene er selve den norske kontostrukturen, fire siffer for bank/register etterfulgt av seks sifre for kontonummer og et internt kontrollsiffer i tillegg. Det norske kontonummersystemet var på plass lenge før IBAN ble en europeisk standard, og IBAN-formatet ble i praksis lagt som et ekstra lag utenpå det som allerede fantes. Det er derfor strukturen innenfor BBAN-delen ser så forskjellig ut fra land til land: hvert land beholdt sitt eget system og pakket det bare inn i samme ytre format.

MOD-97-kontrollsummen, steg for steg

Standarden bak dette er ISO 13616, og selve testen er alltid den samme: skriv om nummeret til et stort tall, del på 97, og se hva som blir igjen. Vi bruker det klassiske tyske eksempel-IBAN-et som brukes over hele verden i lærebøker og dokumentasjon:

DE89 3704 0044 0532 0130 00

StegHandlingResultat
1Fjern mellomrom, flytt de første 4 tegnene (landkode + kontrollsiffer) til slutten370400440532013000DE89
2Gjør om hver bokstav til et tall (A=10, B=11 … Z=35), så D→13 og E→14370400440532013000131489
3Regn ut hele dette 24-sifrede tallet modulo 97Resten blir 1

ISO 13616 krever nøyaktig at resten skal være 1 for at et IBAN skal regnes som gyldig. Siden resten her faktisk blir 1, går dette IBAN-et gjennom kontrollen.

Nå til det interessante: hva skjer hvis noen taster feil på siste siffer? Endre nummeret til DE89 3704 0044 0532 0130 01 (den siste 0-en er blitt en 1). Gjennom de samme tre stegene:

StegHandlingResultat
1Fjern mellomrom, flytt de første 4 tegnene til slutten370400440532013001DE89
2Bokstaver om til tall370400440532013001131489
3Modulo 97Resten blir 28

28 er ikke 1, så kontrollsummen feiler umiddelbart, og verktøyet markerer nummeret som ugyldig før noe skjema i det hele tatt sendes videre. Det som gjør MOD-97 så nyttig i praksis, er nettopp at én endret siffer flytter resten helt bort fra 1 i de aller fleste tilfeller, enten sifferet byttes ut, faller bort eller havner i feil rekkefølge.

Grunnen til at nettopp 97 er valgt, er en egenskap ved primtall: 97 er det største primtallet under 100, og siden alle sifre i det ombygde tallet er under 100 (bokstaver blir jo tosifrede tall, 10 til 35), garanterer den matematiske egenskapen at algoritmen kan skille de aller fleste vanlige tastefeil fra hverandre uten at man trenger noen egen sjekksumtabell utenom selve delingen. Man trenger ingen bankforbindelse og ingen internettoppslag for å avsløre et feiltastet IBAN, bare en kalkulator, og det er nettopp derfor kontrollen kan kjøres lokalt i nettleseren din i verktøyet under.

Sjekk ditt eget IBAN

Lim inn et kontonummer under, så kjøres nøyaktig den samme MOD-97-utregningen på det direkte i nettleseren.

Land -
Lengde -
Kontrollsum (MOD-97) -
IBAN-validator
Gratis, ingen registrering, fungerer på alle enheter.
Åpne hele verktøyet

Vanlige feil

Å tro at en hvilken som helst streng på 15 til 34 tegn som starter med to bokstaver er et gyldig IBAN. Det stemmer ikke. Hvert land har én fast lengde, ikke et intervall. Tyskland bruker alltid 22 tegn, Frankrike alltid 27, og Norge har med sine 15 tegn det korteste IBAN-et som finnes. Et IBAN med feil lengde for landet det oppgir er ugyldig uansett hva kontrollsummen sier.

LandIBAN-lengde
Norge (NO)15
Tyskland (DE)22
Frankrike (FR)27

Å blande IBAN med BIC/SWIFT. Som nevnt over identifiserer disse to forskjellige ting. Å fylle inn en BIC-kode i et IBAN-felt, eller omvendt, gir et nummer som verken har riktig lengde eller riktig kontrollsum for noe land.

Å tro at en godkjent kontrollsum betyr at kontoen er ekte. Kontrollsummen sjekker bare den matematiske strukturen. Den vet ingenting om banken faktisk har utstedt akkurat det kontonummeret, eller om det tilhører mottakeren du har avtalt med. Svindelforsøk med et matematisk gyldig, men oppdiktet IBAN, går rett gjennom denne testen.

Å forveksle O med 0, eller I og l med 1, når nummeret skrives av for hånd. Bokstaver er faktisk lovlige i BBAN-delen i mange land, så dette er ikke automatisk feil, men det er en av de vanligste kildene til at folk taster inn feil tegn uten å merke det selv.

Å skrive IBAN-et med eller uten mellomrom og tro at det er to forskjellige nummer. Mellomrommene i et IBAN, gruppert fire og fire tegn, er kun en visuell konvensjon for å gjøre nummeret lettere å lese og skrive av. De har ingen betydning for verken lengde, kontrollsum eller gyldighet, og et hvilket som helst valideringsverktøy fjerner dem før utregningen starter, akkurat som i steg 1 over.

Ofte stilte spørsmål

Hva er MOD-97 helt konkret? Det er en kontrollsumberegning der hele IBAN-nummeret, etter at bokstavene er gjort om til tall og landkoden er flyttet til slutten, deles på 97. Resten skal alltid være nøyaktig 1 for et gyldig IBAN. Metoden er valgt fordi den er god til å oppdage nettopp enkeltsifferfeil og ombytting av naboliggende sifre, som er de vanligste tastefeilene mennesker gjør.

Betyr en godkjent kontrollsum at kontoen er ekte og aktiv? Nei. Den viser bare at tallet er bygget opp riktig matematisk. Om kontoen faktisk eksisterer, er åpen, og tilhører riktig person, er noe bare banken som eier kontoen kan bekrefte, for eksempel gjennom en kontonavn-sjekk ved overføringen.

Hvorfor har land forskjellige IBAN-lengder? Fordi BBAN-delen er nasjonalt bestemt og bygget rundt hvert lands eget banksystem, ikke en europeisk standard. Norge trenger færre sifre for å identifisere bank og konto enn Tyskland gjør, derfor blir norske IBAN-er kortere. Lengden er fast per land nettopp for at systemer skal kunne validere den uten å måtte gjette.

Fanger denne kontrollen virkelig opp enhver mulig skrivefeil? Nesten, men ikke bokstavelig talt alle. MOD-97 er svært god på enkeltsifferfeil og på å bytte om to sifre ved siden av hverandre, den typen feil dekkes i praksis alltid. Men det finnes teoretiske unntak: en spesifikk kombinasjon av flere feil kan i sjeldne tilfeller likevel gi et tall der resten fortsatt blir 1, og da glipper feilen gjennom. Dette er ekstremt lite sannsynlig ved vanlig manuell tasting, men det er grunnen til at en godkjent kontrollsum aldri kan erstatte bankens egen bekreftelse av mottaker.

Trenger jeg internett eller en app for å sjekke om et IBAN er gyldig? Nei, og det er poenget med hele algoritmen. MOD-97 er et rent regnestykke som ikke slår opp noe register eller kontakter noen bank, det bekrefter kun at strukturen og kontrollsifrene stemmer overens. Verktøyet på denne siden kjører nøyaktig den samme utregningen lokalt i nettleseren din, uten at kontonummeret sendes til noen server.

IBANBankoverføringSEPAInternasjonale Betalinger
IBAN-validator
Prøv det nå selv med hele verktøyet.
Prøv nå