Открыть сервис

Контрольное число IBAN

Контрольное число IBAN — это двухзначный цифровой код, входящий в состав международного номера банковского счёта (International Bank Account Number, IBAN), предназначенный для проверки целостности и корректности всего номера счёта при его передаче и обработке. Контрольное число рассчитывается по строгому алгоритму и позволяет автоматически выявлять наиболее распространённые ошибки ввода, такие как пропуск, перестановка или замена символов.

Структура и место в IBAN

Стандартный IBAN в соответствии с ISO 13616 состоит из буквенно-цифрового кода длиной до 34 символов. Контрольное число занимает строго фиксированную позицию — символы 3 и 4 с начала номера, сразу после двухбуквенного кода страны (ISO 3166-1 alpha-2). Таким образом, формат IBAN имеет вид:

Например, в российском IBAN (для счетов в рублях и иностранной валюте, используемых при международных переводах) типичная запись выглядит как RU12 3456 7890 1234 5678 9012 3456, где 12 является контрольным числом.

Алгоритм расчёта (метод MOD 97)

Контрольное число IBAN вычисляется по алгоритму, основанному на модульной арифметике — методе MOD 97, описанном в стандарте ISO 7064. Процедура расчёта универсальна для всех стран, использующих IBAN.

  1. Формирование строки для вычисления. Исходный номер IBAN (без контрольного числа) преобразуется: код страны (две буквы) заменяется на соответствующие цифровые коды по таблице: A=10, B=11, ..., Z=35. Затем контрольное число временно заменяется на 00, и весь номер переставляется: первые четыре символа (код страны и 00) переносятся в конец строки.
  2. Числовое представление. Полученная строка, состоящая только из цифр, интерпретируется как целое десятичное число.
  3. Вычисление остатка. Это число делится на 97. Остаток от деления (mod 97) вычитается из 98. Полученное значение и есть контрольное число. Если остаток равен 0, контрольное число принимается равным 98; если остаток равен 97, контрольное число равно 01.
  4. Форматирование. Результат всегда записывается двумя цифрами: от 01 до 98. Если число меньше 10, перед ним ставится ведущий ноль (например, 05).

Формула расчёта: KK = 98 — (число mod 97), где число — это цифровая строка, полученная на шаге 2.

Проверка контрольного числа

Для проверки корректности IBAN выполняется обратная операция:

  1. Из IBAN извлекаются код страны, контрольное число и BBAN.
  2. Буквы кода страны заменяются на цифры (по той же таблице).
  3. Вся строка (код страны, контрольное число, BBAN) переставляется: первые четыре символа (код страны и контрольное число) переносятся в конец.
  4. Полученная цифровая строка делится на 97. Если остаток равен 1, то контрольное число верно, и IBAN считается корректным.

Этот метод позволяет с вероятностью около 98 % обнаружить ошибки в одной или двух соседних цифрах, а также большинство ошибок перестановки символов.

Применение в различных странах

Контрольное число IBAN используется во всех странах, принявших стандарт IBAN. В России IBAN внедрён для международных расчётов с 2020 года (в соответствии с требованиями SWIFT и рекомендациями Банка России). Российские банки при формировании IBAN для счетов клиентов (физических и юридических лиц) рассчитывают контрольное число в соответствии с общим алгоритмом MOD 97, но с учётом национального формата BBAN, который для России состоит из 30 символов (код БИК, номер счёта и т.д.).

В странах Европейского союза, Великобритании, Швейцарии и многих других государствах контрольное число IBAN является обязательным элементом при осуществлении переводов в евро и других валютах. Банки-отправители и банки-получатели автоматически проверяют контрольное число перед проведением платежа.

Ошибки и ограничения

Хотя алгоритм MOD 97 эффективен для выявления одиночных и двойных ошибок, он не гарантирует стопроцентную защиту. Например, ошибки, при которых изменённый номер даёт остаток 1 при делении на 97, не будут обнаружены. Однако вероятность такого события крайне мала (менее 1 %).

Кроме того, контрольное число не защищает от ввода номера счёта, который формально корректен, но не соответствует ни одному реально существующему счёту. Для проверки существования счёта требуется обращение к банковской системе.

Значение и роль в платёжной системе

Контрольное число IBAN выполняет функцию первичного фильтра ошибок при ручном или автоматизированном вводе. Благодаря ему:

  • снижается количество ошибочных переводов;
  • уменьшаются затраты на ручную обработку и возврат средств;
  • ускоряется проверка реквизитов в онлайн-банкинге и платёжных шлюзах.

В системах массовых платежей (например, SEPA в Европе) контрольное число проверяется автоматически на этапе ввода, что позволяет пользователю сразу исправить опечатку.

Интересные факты

  • Контрольное число IBAN не является секретным и может быть вычислено публично. Оно не предназначено для защиты от мошенничества, а только для контроля целостности данных.
  • В некоторых странах (например, в Германии) до внедрения IBAN использовались собственные контрольные числа (например, по методу MOD 11), которые затем были заменены на единый стандарт.
  • Алгоритм MOD 97 также применяется для расчёта контрольных чисел в других финансовых идентификаторах, например, в номерах кредитных карт (алгоритм Луна) и в некоторых национальных банковских кодах.

Источники

  • ISO 13616:2020 — Financial services — International bank account number (IBAN).
  • ISO 7064:2003 — Information technology — Security techniques — Check character systems.
  • Стандарт SWIFT для IBAN (SWIFT IBAN Registry).
  • Положение Банка России № 762-П от 29.09.2020 «О правилах осуществления перевода денежных средств».
  • European Payments Council — IBAN Implementation Guidelines.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →