Перейти к содержимому

Генератор и валидатор 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)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)

Контрольные цифры рассчитываются по алгоритму из стандарта ISO 7064, известному как MOD 97-10. Чтобы получить контрольные цифры для нового 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, но не связаны с реальным счётом. Строка случайных цифр обычно не проходит проверку 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 — на нужный счёт.

Источники

  1. ISO 13616-1:2007 — спецификация структуры IBAN.
  2. Реестр IBAN SWIFT — официальные форматы IBAN для отдельных стран.
  3. ISO 7064:2003 — системы контрольных символов, включая MOD 97-10.