Генератор и валидатор на IBAN - Тестване на банкови данни
Генерирайте валидни тестови IBAN или незабавно валидирайте съществуващи. Поддържа 10 европейски държави с MOD 97 валидация. Перфектен за тестване и разработка на финансов софтуер.
Генератор и Валидатор на IBAN
Документация
Генератор и валидатор на IBAN
IBAN (международен номер на банкова сметка) е стандартен код, който идентифицира банкова сметка за международни плащания. Този инструмент генерира случайни, правилно форматирани тестови IBAN-и за десет европейски държави и проверява дали съществуващ IBAN е валиден чрез формулата за контролна цифра MOD 97, използвана от банките.
Какво представлява IBAN?
Преди съществуването на IBAN всяка държава използваше собствен формат за номера на банковите сметки. Трансграничните плащания често се проваляха, защото номер, валиден в една държава, не означаваше нищо в друга. Международната организация по стандартизация (ISO) създаде стандарта IBAN, ISO 13 616, за да реши този проблем. Всеки IBAN съдържа код на държавата и две контролни цифри, които позволяват на компютър да открие повечето грешки при въвеждане, преди да бъде изпратено плащането.
IBAN се състои от три части:
- Код на държавата: две букви, например
DEза Германия илиGBза Обединеното кралство. - Контролни цифри: две цифри, изчислени чрез формулата MOD 97, обяснена по-долу.
- Основен номер на банкова сметка (BBAN): блок, специфичен за държавата, който обикновено съдържа банков код, понякога код на клон, и номер на сметка.
IBAN може да съдържа до 34 знака, но повечето европейски IBAN-и са дълги от 16 до 28 знака. Дължината и вътрешната структура зависят изцяло от държавата. Германският IBAN е с дължина 22 знака, а френският — 27.
Структура на IBAN по държави
| Държава | Дължина | Структура | Пример |
|---|---|---|---|
| Германия (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
| Обединеното кралство (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
| Франция (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
| Испания (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
| Италия (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
| Нидерландия (NL) | 18 | NL2!n4!a10!n | NL91ABNA0417164300 |
| Швейцария (CH) | 21 | CH2!n5!n12!c | CH9300762011623852957 |
| Австрия (AT) | 20 | AT2!n5!n11!n | AT611904300234573201 |
| Белгия (BE) | 16 | BE2!n3!n7!n2!n | BE68539007547034 |
| Полша (PL) | 28 | PL2!n8!n16!n | PL61109010140000071219812874 |
В колоната за структурата n означава цифра, a означава буква, а c означава буква или цифра. Числото пред всяка буква показва колко знака съдържа съответната част. Например 4!a6!n8!n в британския формат означава четири букви, след това шест цифри и накрая осем цифри.
Как се изчисляват контролните цифри на IBAN (формулата MOD 97)
Контролните цифри се изчисляват чрез алгоритъма от ISO 7064, известен като MOD 97-10. За да се генерират контролните цифри на нов IBAN:
- Запишете BBAN, следван от кода на държавата и от заместителя
00. - Заменете всяка буква с число: A = 10, B = 11 и така нататък до Z = 35. Цифрите остават непроменени.
- Прочетете целия резултат като едно дълго число и намерете остатъка при делението му на 97.
- Извадете този остатък от 98. Резултатът представлява двете контролни цифри. Ако резултатът е едноцифрен, добавете водеща нула.
Формулата е: check digits = 98 − (N mod 97), където N е цифровият низ, съставен в стъпки 1 и 2.
Пример: изчисляване на контролните цифри за германски IBAN
Нека използваме германски банков код 37040044 и номер на сметка 0532013000.
- BBAN + държава +
00:370400440532013000+DE+00=370400440532013000DE00 - Замяна на буквите: D = 13, E = 14, така че низът става
370400440532013000131400. - При деление на това число на 97 остатъкът е 9.
- 98 − 9 = 89.
Контролните цифри са 89, така че крайният IBAN е DE89370400440532013000.
Как се валидира IBAN
За да се провери дали съществуващ IBAN е валиден, процесът протича в обратна посока:
- Премахнете всички интервали и преместете първите четири знака (кода на държавата и контролните цифри) в края на низа.
- Заменете всяка буква с число, като използвате същото правило от A = 10 до Z = 35.
- Намерете остатъка при делението на полученото число на 97.
- IBAN е валиден само ако остатъкът е равен на 1.
Това правило открива почти всяка често срещана грешка при въвеждане на данни, включително една неправилна цифра или две разменени цифри, тъй като промяната на който и да е знак почти винаги променя остатъка.
Преди проверката MOD 97 този инструмент проверява също дали кодът на държавата е разпознат, дали IBAN има точната дължина за съответната държава и дали буквите и цифрите се срещат само на местата, разрешени от формата на държавата. Всяка проверка генерира собствено съобщение за грешка, така че при неуспех се посочва конкретният проблем, а не общ резултат „невалиден“.
Използване на инструмента
Раздел „Генератор“: изберете държава от падащото меню и натиснете „Генерирай IBAN“. Инструментът създава случаен BBAN в правилния формат за тази държава, изчислява съответстващите контролни цифри и показва резултата с разбивка на частите му. Бутонът „Копирай в клипборда“ копира готовия IBAN.
Раздел „Валидатор“: въведете или поставете IBAN със или без интервали. Инструментът го проверява още при въвеждането и показва дали е валиден. При валиден IBAN се показват кодът на държавата, контролните цифри, банковият код, кодът на клона (ако форматът на държавата включва такъв) и номерът на сметката.
Тъй като кодът на държавата се намира в първите два знака, валидаторът не изисква държавата да бъде избрана ръчно; той прочита кода и автоматично прилага съответните правила.
Всичко се изпълнява в браузъра. Нито един IBAN не се изпраща до сървър и не се съхранява никъде.
Защо този инструмент е полезен при тестване
Софтуерът за обработка на плащания се нуждае от тестови данни, които се държат като реален IBAN, но не са свързани с реална сметка. Низ от случайни цифри обикновено не преминава проверката MOD 97, така че тестовете, изградени върху него, могат да се провалят по погрешна причина: заради лоши тестови данни, а не заради грешка в тествания код. Генерирането на правилно форматиран IBAN избягва този проблем, тъй като той преминава същата проверка, която би извършила работещата система, без да има връзка с реална банкова сметка.
Често задавани въпроси
За какво се използва IBAN? Той идентифицира конкретна банкова сметка за международни и вътрешни преводи, като използва формат, който компютрите могат да проверят за грешки, преди да бъде изпратено плащането.
Свързани ли са IBAN-ите, генерирани от този инструмент, с реални банкови сметки? Не. Те са случайни номера, които следват правилния формат и преминават проверката MOD 97, но не съответстват на реална сметка. Трябва да се използват само за тестване, разработка или обучение, никога за действителни преводи.
Защо IBAN-ите имат различна дължина в различните държави? Всяка държава е разработила собствен формат на основния номер на банкова сметка, преди стандартът IBAN да ги обедини под един код на държавата и система от контролни цифри. ISO 13 616 е определила дължината за всяка държава, но не е наложила един и същ вътрешен формат на всички държави.
Имат ли значение интервалите в IBAN?
Не. IBAN-ите често се показват в групи от по четири знака за по-лесно четене, например DE89 3704 0044 0532 0130 00, но интервалите не влияят на валидирането. DE89370400440532013000 е същият IBAN без интервали.
Кои държави поддържа този инструмент? Десет европейски държави: Германия, Обединеното кралство, Франция, Испания, Италия, Нидерландия, Швейцария, Австрия, Белгия и Полша.
Каква е разликата между IBAN и SWIFT/BIC код? SWIFT/BIC кодът идентифицира банка или банков клон. IBAN идентифицира конкретна сметка в тази банка. При международни преводи често са необходими и двата кода: SWIFT/BIC насочва плащането към правилната банка, а IBAN — към правилната сметка.
Източници
- ISO 13616-1:2007 — спецификация на структурата на IBAN.
- Регистър на IBAN на SWIFT — официални формати на IBAN по държави.
- ISO 7064:2003 — системи за контролни знаци, включително MOD 97-10.