Financiën

Hoe IBAN-Validatie Werkt (en Hoe Je een Typefout Vindt Voor een Overschrijving)

7 min leestijd

IBAN-validatie controleert of een rekeningnummer wiskundig klopt door de laatste twee cijfers, het controlegetal, opnieuw te berekenen met de MOD-97-formule uit ISO 13616. Komt de herberekende rest niet overeen met wat verwacht wordt, dan wordt de overschrijving al geweigerd voordat er ook maar één cent beweegt. De controle bewijst alleen dat de cijfers correct zijn opgebouwd, niet wie de rekening bezit.

Wat er echt in een IBAN zit

Een IBAN bestaat uit drie vaste onderdelen, in deze volgorde: de tweeletterige ISO-landcode (zoals DE voor Duitsland of NL voor Nederland), twee controlecijfers, en daarna de BBAN (Basic Bank Account Number). Die BBAN bevat de bankcode en het rekeningnummer, maar de opbouw ervan verschilt per land. Een Duitse BBAN is anders ingedeeld dan een Nederlandse, en beide zijn weer anders dan een Belgische. Er bestaat geen universeel BBAN-formaat, alleen een universeel controlemechanisme dat over alle landen heen hetzelfde werkt.

Belangrijk om te onthouden: een IBAN is niet hetzelfde als een BIC (ook bekend als SWIFT-code). De BIC identificeert de bank zelf, terwijl de IBAN de specifieke rekening bij die bank identificeert. Bij sommige internationale overschrijvingen buiten Europa vraagt de bank om beide gegevens, bij een SEPA-overschrijving binnen de eurozone volstaat meestal alleen de IBAN. En nog belangrijker: een IBAN die de controle doorstaat, is geen bewijs dat die rekening bestaat of aan de verwachte begunstigde toebehoort. Alleen de ontvangende bank kan dat daadwerkelijk bevestigen, en dat gebeurt meestal pas nadat het geld al onderweg is. De IBAN-check vangt typefouten af, geen fraude en geen verkeerd gekozen begunstigde.

Het MOD-97-controlegetal, stap voor stap

Neem de klassieke Duitse voorbeeld-IBAN die overal ter wereld wordt gebruikt om deze rekenregel te demonstreren: DE89 3704 0044 0532 0130 00.

StapWat er gebeurtResultaat
0. OrigineelDe IBAN zoals ontvangenDE89 3704 0044 0532 0130 00
1. Spaties weg, eerste 4 tekens naar achterenDE89 verhuist van het begin naar het eind370400440532013000DE89
2. Letters naar cijfersA=10, B=11 … Z=35, dus D=13 en E=14370400440532013000131489
3. Modulo 97Dat getal van 24 cijfers gedeeld door 97, de rest1

ISO 13616 schrijft voor dat die rest exact 1 moet zijn om de IBAN geldig te verklaren. Omdat de rest hier 1 is, klopt DE89 3704 0044 0532 0130 00 wiskundig helemaal.

Je hoeft daarvoor geen rekenmachine te gebruiken die met getallen van 24 cijfers overweg kan. De modulo-berekening kan ook cijfer voor cijfer, van links naar rechts: begin met rest = 0, en voor elk volgend cijfer bereken je rest = (rest × 10 + cijfer) mod 97. Loop je op die manier alle 24 cijfers van 370400440532013000131489 af, dan kom je precies op 1 uit.

Nu de test die het echte nut laat zien: wat gebeurt er als iemand bij het overtypen één cijfer mistikt? Verander de allerlaatste 0 in een 1, zodat de IBAN nu DE89 3704 0044 0532 0130 01 is. Dezelfde stappen toepassen geeft:

StapWat er gebeurtResultaat
1. Spaties weg, eerste 4 tekens naar achteren370400440532013001DE89
2. Letters naar cijfers370400440532013001131489
3. Modulo 97rest28

De rest is nu 28 in plaats van 1. Het controlegetal faalt, en de tool markeert deze IBAN meteen als ongeldig, nog voordat iemand ook maar in de buurt komt van een daadwerkelijke overschrijving. Dat is precies de kracht van MOD-97: één verkeerd getypt cijfer verschuift de rest bijna altijd weg van 1, waardoor bijna elke typefout of omgewisseld cijferpaar wordt opgemerkt voordat het geld het land uit gaat.

Controleer je eigen IBAN

Plak een IBAN hieronder en zie de MOD-97-check direct in actie, inclusief landcode-herkenning en lengtecontrole.

Land -
Lengte -
Controlegetal (MOD-97) -
IBAN-nummer Validator
Gratis, geen registratie, werkt op elk apparaat.
Open de volledige tool

Veelgemaakte fouten

De meest voorkomende misvatting is denken dat elke reeks van 15 tot 34 tekens die met twee letters begint, wel een geldige IBAN zal zijn. Dat klopt niet: elk land heeft een vaste, exacte lengte. Duitsland gebruikt altijd 22 tekens, Frankrijk 27, Nederland 18, en Noorwegen is met slechts 15 tekens het kortste IBAN-formaat ter wereld. Een IBAN die twee tekens te kort of te lang is, is per definitie ongeldig, ongeacht wat het controlegetal zegt.

LandLengte (tekens)
Noorwegen15
Nederland18
Duitsland22
Frankrijk27

Een tweede fout is de IBAN verwarren met de BIC/SWIFT-code. Het zijn twee losse gegevens die elk hun eigen rol spelen: bij een internationale overschrijving buiten SEPA vraagt de bank soms om allebei, maar de BIC invullen waar een IBAN hoort (of andersom) levert altijd een foutmelding op, nooit een geslaagde overschrijving naar de verkeerde plek.

De derde, en misschien wel de gevaarlijkste aanname, is dat een geldig controlegetal betekent dat de rekening bestaat of van de juiste persoon is. Dat is niet zo. Het controlegetal bewijst uitsluitend dat het nummer wiskundig correct is opgebouwd volgens de regels van ISO 13616. Of de rekening daadwerkelijk bestaat, en of hij toebehoort aan wie je verwacht, kan alleen de ontvangende bank bevestigen, en dat gebeurt vaak pas na de overschrijving zelf. Controleer de begunstigde dus altijd apart, zeker bij grote bedragen of een nieuwe zakenrelatie.

Tot slot: de letter O verwisselen met het cijfer 0, of de letter I met het cijfer 1, bij het overtypen van een IBAN. Dit is niet per se een fout, want letters zijn wel degelijk geldig in het BBAN-gedeelte van veel landen. Het is wel een veelvoorkomende bron van vergissingen, vooral bij handmatig overtypen van een foto of een uitdraai op papier. Kopieer een IBAN waar mogelijk altijd digitaal in plaats van het over te typen.

Veelgestelde vragen

Wat is het MOD-97-controlegetal precies? Het is een rekenkundige rest die ontstaat wanneer de volledige IBAN (met de landcode en de controlecijfers verplaatst naar het einde, en letters vervangen door cijfers) wordt gedeeld door 97. ISO 13616 schrijft voor dat die rest exact 1 moet zijn, anders is de IBAN ongeldig.

Betekent een geslaagd controlegetal dat de rekening echt bestaat? Nee. Het controlegetal test alleen of het nummer volgens de wiskundige regel is opgebouwd. Of de rekening daadwerkelijk bestaat en aan de juiste persoon toebehoort, weet alleen de bank die de rekening beheert, en die bevestiging komt doorgaans pas nadat de overschrijving al is verwerkt.

Waarom hebben landen verschillende IBAN-lengtes? Omdat elk land zijn eigen BBAN-structuur meebrengt uit de tijd van vóór de IBAN, met een eigen indeling voor bankcode en rekeningnummer. Sommige landen werkten al met lange, uitgebreide rekeningnummers (Frankrijk is daar een voorbeeld van), andere landen hielden het compact (zoals Noorwegen). De IBAN-standaard heeft die bestaande nationale structuren overgenomen in plaats van ze te vervangen, dus de lengte varieert per land, maar ligt voor elk land wel vast.

Spoort deze controle echt elke mogelijke typefout op? Niet helemaal. De overgrote meerderheid van typefouten, verwisselde cijfers en losse invoerfouten wordt wel degelijk gevonden, dat is precies waarom de MOD-97-check bestaat. Maar theoretisch kan een systematische fout, bijvoorbeeld een zeldzame verwisseling van twee cijfers die toevallig weer op een rest van 1 uitkomt, onopgemerkt blijven. Dat scenario is in de praktijk zeldzaam, maar het betekent wel dat een geslaagde IBAN-check nooit een vervanging is voor het apart controleren van de begunstigde bij een belangrijke overschrijving.

IBANOverschrijvingSEPAInternationale Betalingen
IBAN-nummer Validator
Probeer het nu zelf met de volledige tool.
Nu proberen