IBAN Nedir? Yapısı, Nasıl Oluşur ve Nasıl Doğrulanır
Finans · · 7 dk okuma · Sorgulaa Editör Ekibi
IBAN neden var, hangi sorunu çözüyor?
IBAN (International Bank Account Number), bir banka hesabını ülke sınırlarından bağımsız olarak tek bir standart biçimde tanımlayan uluslararası hesap numarasıdır. Standart ortaya çıkmadan önce her ülkenin, hatta aynı ülkedeki her bankanın hesap numarası biçimi farklıydı: kimi sekiz haneli numara kullanıyor, kimi şube kodunu ayrı bir alanda istiyordu. Sınır ötesi bir havalede gönderen banka, alıcı ülkenin biçimini tanımadığı için numarayı denetleyemiyor; hatalı yazılmış bir hesap numarası ancak para karşı bankaya ulaştığında fark ediliyordu. Bu da günler süren iadeler, masraflar ve elle düzeltme anlamına geliyordu.
IBAN bu sorunu iki fikirle çözer. Birincisi, numaranın başına ülke kodunu koyarak her numaranın hangi ülkenin kurallarıyla okunacağını belli eder. İkincisi, numaranın içine iki haneli bir kontrol basamağı gömerek yazım hatalarının, para yola çıkmadan önce, gönderenin ekranında yakalanmasını sağlar. Biçim ISO 13616 standardıyla tanımlanmıştır; Türkiye'de de banka hesaplarına yapılan para transferlerinde IBAN kullanımı uzun süredir yerleşik uygulamadır.
Bir IBAN'ın genel anatomisi
Hangi ülkeye ait olursa olsun her IBAN aynı iskeleti taşır:
- Ülke kodu (2 harf): ISO 3166 ülke kodu. Türkiye için TR, Almanya için DE, Fransa için FR.
- Kontrol basamakları (2 rakam): Numaranın geri kalanından mod-97 yöntemiyle hesaplanan doğrulama hanesi.
- BBAN (Basic Bank Account Number): Ülkenin kendi iç hesap numarası biçimi. Banka kodu, şube kodu, hesap numarası gibi bileşenleri içerir; uzunluğu ve iç düzeni ülkeden ülkeye değişir.
Standart, bir IBAN'ın en fazla 34 karakter olmasına izin verir; ancak her ülke kendi sabit uzunluğunu belirler. Bir ülkeye ait bütün IBAN'lar aynı uzunluktadır, bu yüzden uzunluk kontrolü doğrulamanın en ucuz ilk adımıdır.
| Ülke | Kod | IBAN uzunluğu |
|---|---|---|
| Türkiye | TR | 26 |
| Almanya | DE | 22 |
| Birleşik Krallık | GB | 22 |
| Fransa | FR | 27 |
| Hollanda | NL | 18 |
Bazı ülkelerin BBAN bölümünde harf de bulunur (örneğin Hollanda ve Birleşik Krallık IBAN'larında bankayı gösteren dört harf yer alır). Türkiye IBAN'ında ise ülke kodu dışındaki bütün karakterler rakamdır.
Türkiye IBAN'ının 26 hanesi ne anlatır?
TR ile başlayan bir IBAN soldan sağa şu parçalardan oluşur:
| Konum | Uzunluk | Anlamı |
|---|---|---|
| 1–2 | 2 | Ülke kodu: TR |
| 3–4 | 2 | Kontrol basamakları |
| 5–9 | 5 | Banka kodu |
| 10 | 1 | Rezerv alan (uygulamada 0) |
| 11–26 | 16 | Hesap numarası alanı |
Beş haneli banka kodu, bankanın sistemdeki resmi kodunun başına sıfır eklenerek yazılmış halidir; bu sayede yalnızca IBAN'a bakarak paranın hangi bankaya gideceği anlaşılır. Son 16 hanelik alanı her banka kendi iç düzenine göre doldurur: çoğu banka bu alana şube kodunu, müşteri numarasını ve ek hesap numarasını, baştan sıfırlarla tamamlayarak yerleştirir. Bu iç düzen bankaya özeldir ve standartla sabitlenmemiştir; dolayısıyla "11–14. haneler her zaman şube kodudur" gibi genellemeler her banka için doğru değildir.
Kâğıt üzerinde IBAN dörderli gruplar halinde yazılır (TR33 0006 1005 1978 6457 8413 26 gibi); bu yalnızca okunabilirlik içindir. Elektronik ortamda boşluksuz, 26 karakter olarak saklanır ve işlenir.
Mod-97 kontrolü adım adım
IBAN'ın kontrol mekanizması ISO 7064'te tanımlanan MOD 97-10 yöntemidir. Fikir basittir: numara, belirli bir dönüşümden sonra çok büyük bir tam sayıya çevrilir ve bu sayının 97'ye bölümünden kalan tam olarak 1 olmalıdır. Uluslararası belgelerde Türkiye için örnek olarak kullanılan TR33 0006 1005 1978 6457 8413 26 numarası üzerinden ilerleyelim:
- Temizle: Boşlukları kaldır, harfleri büyüt. Sonuç: TR330006100519786457841326. Uzunluk 26 mı? Evet.
- Başı sona taşı: İlk dört karakteri (TR33) numaranın sonuna al: 0006100519786457841326TR33.
- Harfleri sayıya çevir: A=10, B=11 … Z=35 kuralıyla T=29, R=27 olur. Dizi artık tamamen rakamdır: 0006100519786457841326292733.
- 97'ye böl, kalana bak: Bu sayının 97'ye bölümünden kalan 1 ise IBAN biçimsel olarak geçerlidir.
28 haneli sayı nasıl bölünür?
Elde edilen sayı, çoğu programlama dilindeki standart tam sayı türüne sığmaz. Bunun için parçalı bölme kullanılır: sayının başından dokuz haneye kadar bir parça alınır, 97'ye göre kalanı bulunur, bu kalan sıradaki parçanın başına yazılır ve işlem sayı bitene kadar sürer. Örneğimizde:
- 000610051 mod 97 = 18
- 18 ile sıradaki yedi hane birleşir: 189786457 mod 97 = 40
- 40 ile sıradaki yedi hane: 408413262 mod 97 = 0
- Kalan haneler: 92733 mod 97 = 1
Son kalan 1 olduğu için numara testi geçer. Bu, elle yapılan uzun bölmenin bilgisayardaki karşılığıdır ve sonucu, sayıyı tek seferde bölmekle birebir aynıdır.
Kontrol basamakları nasıl üretilir?
Banka yeni bir IBAN oluştururken aynı işlemi tersinden yapar: kontrol hanelerinin yerine geçici olarak 00 yazar, yukarıdaki dönüşümü uygular, kalanı bulur ve 98 − kalan değerini iki haneli olarak yerine koyar. Örneğimizde bu hesap 33 sonucunu verir.
Mod-97 neyi yakalar, neyi yakalayamaz?
97'nin seçilmesi tesadüf değildir: iki haneli en büyük asal sayıdır ve bu özellik yönteme güçlü bir hata yakalama kapasitesi verir. Tek bir hanenin yanlış yazılması her durumda yakalanır; yan yana iki hanenin yer değiştirmesi (insanların en sık yaptığı hata) neredeyse her zaman yakalanır; rastgele bozulmuş bir numaranın şans eseri testi geçme olasılığı yaklaşık yüzde birdir.
Ancak sınırı iyi anlamak gerekir. Mod-97 yalnızca numaranın kendi içinde tutarlı olduğunu söyler. Şunları söylemez:
- Bu IBAN'a karşılık gelen hesabın gerçekten açık olup olmadığını,
- Hesabın kime ait olduğunu,
- Hesabın para kabul edip etmediğini (kapalı, blokeli vb.).
Bu bilgiler yalnızca ilgili bankanın sistemlerinde bulunur ve herkese açık bir algoritmayla öğrenilemez. Sorgulaa'daki IBAN doğrulama aracı da yalnızca bu biçimsel kontrolü ve banka kodu çözümlemesini yapar; hesap sahibine ilişkin hiçbir kişisel veriye erişmez, erişemez.
IBAN, hesap numarası ve SWIFT/BIC farkı
Bu üç kavram sık karıştırılır. Hesap numarası bankanın kendi içinde kullandığı numaradır ve IBAN'ın son bölümünde gömülü olarak yer alır. IBAN, bu numaranın banka ve ülke bilgisiyle sarılmış, kontrol haneli uluslararası halidir. SWIFT/BIC kodu ise bir hesabı değil, bir bankayı (ve isteğe bağlı olarak şubesini) tanımlayan 8 veya 11 karakterlik koddur. Yurt içi TL transferlerinde genellikle IBAN ve alıcı adı yeterlidir; yurt dışından gelen ya da yurt dışına giden transferlerde ise karşı taraf çoğunlukla IBAN'la birlikte bankanın BIC kodunu da ister.
Para gönderirken ve IBAN paylaşırken dikkat edilecekler
- Alıcı adını mutlaka kontrol edin. Bankacılık uygulamaları IBAN girildiğinde alıcı adının bir kısmını maskeli olarak gösterebilir ya da yazdığınız adla kayıtlı adı karşılaştırabilir. Ad uyuşmuyorsa işlemi durdurun.
- IBAN'ı elle yazmak yerine kopyalayın; kopyaladıktan sonra ilk ve son dört haneyi kaynağıyla karşılaştırın. Panodaki IBAN'ı değiştiren zararlı yazılımlar bilinen bir dolandırıcılık yöntemidir.
- E-postayla gelen "IBAN'ımız değişti" bildirimlerine doğrudan güvenmeyin. Tedarikçiyi daha önceden bildiğiniz bir telefon numarasından arayıp teyit edin; sahte fatura dolandırıcılığı tam olarak bu adımı hedefler.
- Yanlış hesaba giden para otomatik olarak geri gelmez. Biçimsel olarak geçerli ama yanlış kişiye ait bir IBAN'a yapılan transferde iade, bankanın aracılığı ve çoğu zaman alıcının rızasıyla mümkündür. Böyle bir durumda vakit kaybetmeden kendi bankanıza başvurun.
- IBAN paylaşmak tek başına hesabınızdan para çekilmesine yol açmaz; IBAN para almak için tasarlanmış bir bilgidir. Yine de IBAN'ınızı, adınızı ve kimlik bilgilerinizi aynı yerde herkese açık biçimde yayımlamak oltalama girişimlerini kolaylaştırır. Ayrıca hesabınızı tanımadığınız kişilerin para aktarımına "aracı" olarak kullandırmak ciddi hukuki sonuçlar doğurabilir.
Sık yapılan hatalar ve özet
- Sıfır (0) ile O harfini karıştırmak: TR IBAN'ında ülke kodundan sonra harf bulunmaz; O gördüğünüz her yer aslında sıfırdır.
- Eksik ya da fazla hane: TR IBAN'ı her zaman 26 karakterdir. 25 ya da 27 karakter varsa hata kopyalama sırasında oluşmuştur.
- "Doğrulandı" sonucunu "hesap var" diye yorumlamak: Algoritma yalnızca yazım tutarlılığını ölçer.
- Yazılımda sayıyı tek parça bölmeye çalışmak: Taşma yüzünden yanlış sonuç üretir; parçalı mod alma ya da büyük sayı kütüphanesi kullanılmalıdır.
Özetle IBAN; ülke kodu, iki kontrol hanesi ve ülkeye özgü hesap bölümünden oluşan, yazım hatalarını daha gönderim anında yakalamak üzere tasarlanmış bir numaralandırma sistemidir. Türkiye'de 26 karakterdir, banka kodunu açıkça taşır ve mod-97 testiyle saniyeler içinde denetlenebilir. Testin geçmesi gerekli ama yeterli değildir: son güvence her zaman alıcı adının doğrulanmasıdır. Bu yazı genel bilgilendirme amaçlıdır; hukuki ya da mali danışmanlık niteliği taşımaz. Hatalı transfer, iade ve itiraz süreçlerinde bankanızın güncel uygulaması ve ilgili mevzuat esas alınmalıdır.