Прескочи към съдържанието

Генератор и валидатор на IBAN - Тестване на банкови данни

Генерирайте валидни тестови IBAN или незабавно валидирайте съществуващи. Поддържа 10 европейски държави с MOD 97 валидация. Перфектен за тестване и разработка на финансов софтуер.

Генератор и Валидатор на IBAN

Калкулатор за зареждане...
📚

Документация

Генератор и валидатор на IBAN

IBAN (международен номер на банкова сметка) е стандартен код, който идентифицира банкова сметка за международни плащания. Този инструмент генерира случайни, правилно форматирани тестови IBAN-и за десет европейски държави и проверява дали съществуващ IBAN е валиден чрез формулата за контролна цифра MOD 97, използвана от банките.

Какво представлява IBAN?

Преди появата на IBAN всяка държава е използвала собствен формат на номер на банкова сметка. Трансграничните плащания често са се проваляли, защото номер, валиден в една държава, не означава нищо в друга. Международната организация по стандартизация (ISO) създава стандарта IBAN, ISO 13616, за да реши този проблем. Всеки IBAN съдържа код на държавата и две контролни цифри, които позволяват на компютъра да улови повечето грешки при въвеждане, преди плащането да бъде изпратено.

IBAN се състои от три части:

  • Код на държавата: две букви, например DE за Германия или GB за Обединеното кралство.
  • Контролни цифри: две цифри, изчислени чрез формулата MOD 97, обяснена по-долу.
  • Основен номер на банкова сметка (BBAN): блок, специфичен за държавата, който обикновено съдържа банков код, понякога код на клон, и номер на сметка.

IBAN може да съдържа до 34 знака, но повечето европейски са с дължина от 16 до 28 знака. Дължината и вътрешната структура зависят изцяло от държавата. Германският IBAN е с 22 знака: код на държавата, две контролни цифри, 8-цифрен банков код и 10-цифрен номер на сметка. Френският е с 27.

Структура на IBAN по държави

ДържаваДължинаСтруктураПример
Германия (DE)22DE2!n8!n10!nDE89370400440532013000
Обединено кралство (GB)22GB2!n4!a6!n8!nGB29NWBK60161331926819
Франция (FR)27FR2!n5!n5!n11!c2!nFR1420041010050500013M02606
Испания (ES)24ES2!n4!n4!n1!n1!n10!nES9121000418450200051332
Италия (IT)27IT2!n1!a5!n5!n12!cIT60X0542811101000000123456
Нидерландия (NL)18NL2!n4!a10!nNL91ABNA0417164300
Швейцария (CH)21CH2!n5!n12!cCH9300762011623852957
Австрия (AT)20AT2!n5!n11!nAT611904300234573201
Белгия (BE)16BE2!n3!n7!n2!nBE68539007547034
Полша (PL)28PL2!n8!n16!nPL61109010140000071219812874

В колоната за структурата n означава цифра, a означава буква, а c означава буква или цифра. Числото пред всяка буква показва колко знака съдържа съответната част. Например 4!a6!n8!n в британския формат означава четири букви, след това шест цифри и накрая осем цифри.

Как се изчисляват контролните цифри на IBAN (формулата MOD 97)

Контролните цифри се изчисляват по метода MOD 97-10 от ISO 7064. За да се генерират контролни цифри за нов IBAN:

  1. Запишете BBAN, следван от кода на държавата и от заместителя 00.
  2. Заменете всяка буква с число: A = 10, B = 11 и така нататък до Z = 35. Цифрите остават непроменени.
  3. Прочетете целия резултат като едно дълго число и намерете остатъка при делението му на 97.
  4. Извадете този остатък от 98. Резултатът представлява двете контролни цифри. Ако резултатът е едноцифрен, добавете водеща нула.

Формулата е: check digits = 98 − (N mod 97), където N е цифровият низ, съставен в стъпки 1 и 2.

Пример: изчисляване на контролните цифри за германски IBAN

Нека използваме германски банков код 37040044 и номер на сметка 0532013000.

  1. BBAN + държава + 00: 370400440532013000 + DE + 00 = 370400440532013000DE00
  2. Замяна на буквите: D = 13, E = 14, така че низът става 370400440532013000131400.
  3. При деление на това число на 97 остатъкът е 9.
  4. 98 − 9 = 89.

Контролните цифри са 89, така че крайният IBAN е DE89370400440532013000.

Как се валидира IBAN

За да се провери дали съществуващ IBAN е валиден, процесът протича в обратна посока:

  1. Премахнете всички интервали и преместете първите четири знака (кода на държавата и контролните цифри) в края на низа.
  2. Заменете всяка буква с число, като използвате същото правило от A = 10 до Z = 35.
  3. Намерете остатъка при делението на полученото число на 97.
  4. IBAN е валиден само ако остатъкът е равен на 1.

Това правило открива почти всяка често срещана грешка при въвеждане на данни, включително една неправилна цифра или две разменени цифри, тъй като промяната на който и да е знак почти винаги променя остатъка.

Преди да изпълни проверката по MOD 97, този инструмент проверява също дали кодът на държавата е един от десетте поддържани, дали IBAN има точната дължина, изисквана за съответната държава, и дали съдържа само букви и цифри. Той не проверява кои позиции са букви и кои са цифри. Всяка проверка дава собствено съобщение за грешка, така че неуспехът сочи конкретния проблем, а не общ резултат „невалиден“.

Използване на инструмента

Раздел „Генератор“: изберете държава от падащото меню и натиснете „Генерирай IBAN“. Инструментът създава случаен BBAN в правилния формат за тази държава, изчислява съответстващите контролни цифри и показва резултата с разбивка на частите му. Бутонът „Копирай в клипборда“ копира готовия IBAN.

Раздел „Валидатор“: въведете или поставете IBAN със или без интервали. Инструментът го проверява в момента на въвеждане и показва дали е валиден. За валиден IBAN той показва код на държавата, контролни цифри и номер на сметка. За германски, британски и френски IBAN допълнително отделя банковия код, а за британски и френски — и кода на клона.

Тъй като кодът на държавата се намира в първите два знака, валидаторът не изисква държавата да бъде избрана ръчно; той прочита кода и автоматично прилага съответните правила.

Всичко се изпълнява в браузъра. Нито един IBAN не се изпраща до сървър и не се съхранява никъде.

Защо този инструмент е полезен при тестване

Софтуерът за обработка на плащания се нуждае от тестови данни, които се държат като реален IBAN, но не са свързани с реална сметка. Низ от случайни цифри обикновено не преминава проверката MOD 97, така че тестовете, изградени върху него, могат да се провалят по погрешна причина: заради лоши тестови данни, а не заради грешка в тествания код. Генерирането на правилно форматиран IBAN избягва този проблем, тъй като той преминава същата проверка, която би извършила работещата система, без да има връзка с реална банкова сметка.

Често задавани въпроси

За какво се използва IBAN? Той идентифицира конкретна банкова сметка за международни и вътрешни преводи, като използва формат, който компютрите могат да проверят за грешки, преди да бъде изпратено плащането.

Свързани ли са IBAN-ите, генерирани от този инструмент, с реални банкови сметки? Не. Те са случайни номера, които следват правилния формат и преминават проверката MOD 97, но не съответстват на реална сметка. Трябва да се използват само за тестване, разработка или обучение, никога за действителни преводи.

Защо IBAN имат различна дължина в различните държави? Всяка държава е създала собствен формат на основния номер на банкова сметка (BBAN), преди стандартът IBAN да ги обедини под една система с код на държавата и контролни цифри. ISO 13616 определя дължината за всяка държава, но не принуждава всички държави да използват една и съща вътрешна структура.

Имат ли значение интервалите в IBAN? Не. IBAN-ите често се показват в групи от по четири знака за по-лесно четене, например DE89 3704 0044 0532 0130 00, но интервалите не влияят на валидирането. DE89370400440532013000 е същият IBAN без интервали.

Кои държави поддържа този инструмент? Десет европейски държави: Германия, Обединеното кралство, Франция, Испания, Италия, Нидерландия, Швейцария, Австрия, Белгия и Полша.

Каква е разликата между IBAN и SWIFT/BIC код? SWIFT/BIC кодът идентифицира банка или банков клон. IBAN идентифицира конкретна сметка в тази банка. При международни преводи често са необходими и двата кода: SWIFT/BIC насочва плащането към правилната банка, а IBAN — към правилната сметка.

Източници

  1. Deutsche Bundesbank. Der technische Standard (SEPA). Технически стандарт за IBAN и BIC (на немски) — IBAN има най-много 34 знака; германският IBAN има 22: код на държавата DE, 2 контролни цифри, 8-цифрен банков код, 10-цифрен номер на сметка.
  2. Централна банка на Република Турция. Communiqué on the International Bank Account Number. Съобщение за IBAN — контролните цифри използват метода MOD 97-10 от ISO 7064: буквите стават от A = 10 до Z = 35, остатъкът се изважда от 98, а валиден IBAN дава остатък 1.