Ekonomi

Så Fungerar IBAN-Validering (och Så Hittar Du Ett Skrivfel Innan en Överföring)

7 min läsning

Ett IBAN valideras genom att man skriver om det till ett enda långt tal och kontrollerar det talet mot en fast regel: dividerat med 97 ska resten alltid bli exakt 1. Den enda uträkningen, definierad i ISO 13616 och kallad MOD-97, är anledningen till att en bank kan avvisa ett felstavat kontonummer på en bråkdel av en sekund, innan några pengar ens har rört sig.

Vad som faktiskt finns i ett IBAN

Ett IBAN är ingen godtycklig teckensträng. Det byggs alltid upp i samma ordning:

  1. En 2-bokstavs ISO-landskod (DE för Tyskland, SE för Sverige, FR för Frankrike).
  2. 2 kontrollsiffror, samma siffror som MOD-97-formeln kontrollerar.
  3. BBAN (Basic Bank Account Number): bankkod och kontonummer. Hur långa dessa delar är och hur de delas upp inbördes bestäms av varje land för sig, inte av någon gemensam standard.

Det är värt att slå fast vad ett IBAN inte är. Det är inte en BIC, ibland kallad SWIFT-kod. En BIC pekar ut banken själv, en specifik institution och ibland ett specifikt kontor, medan IBAN:et pekar ut kontot hos den banken. Vid en internationell överföring frågar formuläret ofta efter båda, och de går inte att byta ut mot varandra: du kan ha ett helt korrekt IBAN och ändå skicka pengarna till fel bank om BIC:en är fel, eller tvärtom.

Det är heller inte ett bevis på att kontot är öppet eller tillhör en viss person. Ett IBAN kan klara varje strukturell kontroll som beskrivs nedan och ändå peka på ett stängt konto, eller ett konto som tillhör någon annan än den som gav dig numret. Strukturell giltighet och kontots verkliga status är två olika frågor, och bara den mottagande banken kan svara på den andra.

MOD-97-kontrollsumman, steg för steg

Ta ett riktigt, giltigt tyskt IBAN, samma exempel som används världen över som referens: DE89 3704 0044 0532 0130 00.

Steg 1: ta bort mellanslagen och flytta de första 4 tecknen till slutet.

DE893704004405320130 00 blir, när DE89 flyttas bakåt:

370400440532013000DE89

Steg 2: omvandla varje bokstav till en siffra. Regeln är A=10, B=11, C=12 och så vidare upp till Z=35. Det ger D=13 och E=14. Sätter man in det i den omordnade strängen får man ett rent 24-siffrigt tal:

370400440532013000131489

Steg 3: dividera talet med 97 och läs av resten. Det går att räkna ut för hand utan en räknare som klarar 24 siffror på en gång: håll en löpande rest och räkna för varje ny siffra rest = (rest × 10 + siffra) mod 97. Kör man igenom hela talet på det sättet blir sluttalet exakt 1. ISO 13616 kräver att resten är 1 för att IBAN:et ska anses strukturellt giltigt, så det här numret godkänns.

Ändra nu en enda siffra. Ta samma IBAN och byt den sista siffran, 0 blir 1: DE89 3704 0044 0532 0130 01. Kör exakt samma tre steg och det 24-siffriga talet blir 370400440532013100131489. Dividerar man det med 97 blir resten 28, inte 1. Kontrollsumman fallerar direkt, och verktyget markerar numret som ogiltigt innan det någonsin når en banks överföringssystem.

Ursprungligt IBANMed en siffra ändrad
IBANDE89 3704 0044 0532 0130 00DE89 3704 0044 0532 0130 01
Omordnat 24-siffrigt tal370400440532013000131489370400440532013100131489
Rest vid division med 97128
ResultatGiltigtOgiltigt

Det är hela mekaniken. En enda felskriven siffra ändrar det 24-siffriga talet så mycket att det nästan aldrig landar tillbaka på resten 1, vilket är precis varför den här kontrollsumman fångar nästan varje klavertramp, omkastat sifferpar eller bortfallet tecken innan en överföring skickas iväg.

Kontrollera ditt eget IBAN

Klistra in ett IBAN nedan så kör verktyget samma tre steg automatiskt, tillsammans med en längdkontroll mot kontots land.

Land -
Längd -
Kontrollsumma (MOD-97) -
IBAN-validering
Gratis, ingen registrering, fungerar på alla enheter.
Öppna hela verktyget

Vanliga misstag

Att anta att vilken sträng som helst på 15 till 34 tecken som börjar med 2 bokstäver är ett giltigt IBAN. Varje land har exakt en fast längd, inte ett intervall. Tyskland är 22 tecken, Frankrike 27, Sverige 24, och Norge är kortast av alla med bara 15 tecken. Ett nummer som är ett tecken för långt eller kort för sitt land underkänns oavsett vad kontrollsumman säger.

LandIBAN-längd
Norge15
Tyskland22
Sverige24
Frankrike27

Att blanda ihop IBAN med en BIC/SWIFT-kod. Det är två separata uppgifter med två separata syften, och en internationell överföring ber ofta om båda samtidigt. Skriver du BIC:en där formuläret vill ha IBAN:et (eller tvärtom) blir resultatet att överföringen avvisas, eller i värsta fall skickas till fel mottagare.

Att anta att en godkänd kontrollsumma betyder att kontot finns eller tillhör rätt person. MOD-97-kontrollen bevisar bara att numret är matematiskt korrekt uppbyggt. Den säger ingenting om kontot är öppet, om det tillhör personen eller företaget du tänker betala, eller om bankkoden i numret verkligen pekar på ett riktigt kontor. Att bekräfta mottagaren är ett separat steg som bara den mottagande banken kan göra.

Att blanda ihop O med 0, eller I och l med 1. Många länder tillåter riktiga bokstäver i BBAN-delen av ett IBAN, så en bokstav där är inte automatiskt fel. Men när numret skrivs av för hand från ett papper, eller dikteras över telefon, är det just här ett äkta fel oftast smyger sig in, och det lönar sig att läsa tillbaka tecknet noga snarare än att gissa åt något håll.

Vanliga frågor

Vad är MOD-97? Det är kontrollmetoden i ISO 13616 för att validera IBAN. Man flyttar de fyra första tecknen till slutet, omvandlar varje bokstav till ett tvåsiffrigt tal (A=10 upp till Z=35), och det resulterande stora talet ska ge resten exakt 1 vid division med 97. Ett giltigt IBAN lämnar alltid den resten.

Betyder en godkänd kontrollsumma att kontot är äkta och aktivt? Nej. Den bekräftar bara att numret är strukturellt korrekt, alltså rätt längd för sitt land och matematiskt konsekvent med kontrollregeln. Om kontot faktiskt existerar, fortfarande är öppet och tillhör den person eller det företag du tror, är något bara den mottagande banken kan svara på, oftast i samma stund som överföringen behandlas.

Varför har olika länder olika IBAN-längder? Varje land utformade sitt eget BBAN-format innan IBAN blev en internationell standard, utifrån hur landets egna bankkoder och kontonummer redan var uppbyggda. Norges inhemska kontonummer är korta, så det norska IBAN:et landar på 15 tecken. Tysklands system för bankkod och kontonummer är längre och ger 22 tecken. Längden är fast per land och registrerad internationellt, vilket är precis det som gör det möjligt för ett verktyg att kontrollera numrets längd mot landskoden som en andra, oberoende test.

Fångar den här kontrollen verkligen varje tänkbart skrivfel? Den fångar de allra flesta fel som uppstår i praktiken: en enskild felskriven siffra, ett bortfallet eller extra tecken, och nästan alla omkastade sifferpar ändrar talet tillräckligt mycket för att bryta kravet på resten 1. Den är dock inte en matematisk garanti mot varje upptänklig felkombination. I teorin skulle en sällsynt, specifik ändring av flera siffror kunna ge ett annat 24-siffrigt tal som ändå råkar lämna resten 1 och därmed slinka igenom kontrollen orört. I praktiken är den typen av slumpmässig sammanträffande felskrivning ovanlig nog att den inte är det man behöver oroa sig för; kontrollsummans uppgift är att fånga vanliga mänskliga misstag, och det gör den pålitligt.

IBANBanköverföringSEPAInternationella Betalningar
IBAN-validering
Prova det nu själv med hela verktyget.
Prova nu