Генератор і Валідатор 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 символів, але більшість європейських номерів мають від 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.