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