У каждого IBAN сразу после кода страны стоят две контрольные цифры, которые вычисляются по MOD-97. Многие страны добавляют ещё и собственные контрольные цифры внутри BBAN, национального номера счёта. Большинство из них старше IBAN: банки ловили с их помощью опечатки во внутренних номерах счетов ещё до появления IBAN, а IBAN сохранил их, когда вобрал в себя эти номера.
Два уровня проверки
Возьмём французский IBAN из примера в реестре: FR14 2004 1010 0505 0001 3M02 606. Цифры 14 после FR служат контрольными цифрами IBAN. Последние две цифры, 06, это clé RIB, французская национальная проверка. Они защищают разные вещи:
| Контрольные цифры IBAN | Национальные контрольные цифры | |
|---|---|---|
| Где стоят | Позиции 3 и 4, в любом IBAN | Внутри BBAN, на месте, которое задаёт каждая страна |
| Метод | MOD 97-10 (ISO/IEC 7064), везде одинаковый | Национальное правило, своё в каждой стране |
| Что охватывают | Весь IBAN, включая код страны | Обычно код банка, код отделения и номер счёта |
| Кто определяет | ISO 13616 | Центральный банк страны или банковская ассоциация |
Эти два уровня независимы. У IBAN могут быть верные контрольные цифры MOD-97, и при этом он не пройдёт национальную проверку, например если кто-то включил в IBAN внутренний номер с опечаткой и уже потом вычислил контрольные цифры IBAN. Бывает и наоборот: измените одну цифру валидного IBAN, и проверка MOD-97 не пройдёт, даже если национальная проверка по-прежнему проходит.
Основные методы
Национальные проверки выглядят по-разному, но большинство из них относится к нескольким семействам.
Две цифры MOD 97 в конце BBAN
Несколько стран завершают BBAN двумя цифрами, которые вычисляются по MOD 97-10, тем же методом, что и контрольные цифры IBAN, из цифр, стоящих перед ними. Так устроены IBAN этих стран: Португалия (контрольные цифры NIB), Словения, Сербия, Черногория, Северная Македония, Босния и Герцеговина, Косово и Восточный Тимор.
Ключи RIB
Французский clé RIB равен 97 минус остаток от деления суммы 89 × код банка + 15 × код отделения + 3 × номер счёта на 97. Буквы в номере счёта сначала заменяются цифрами (A и J дают 1, B, K и S дают 2 и так далее). Ключ делает весь внутренний номер кратным 97. Этот ключ общий у Франции и Монако, а Тунис и Мавритания применяют ключи RIB с той же целью: весь номер счёта должен делиться на 97.
Итальянский CIN
Италия и Сан-Марино ставят в начало BBAN контрольную букву, CIN. Она охватывает 22 символа после неё: код банка ABI, код отделения CAB и номер счёта. Символы на нечётных позициях пересчитываются по таблице, а на чётных сохраняют своё простое значение (цифры равны сами себе, буквы от A = 0 до Z = 25). Остаток от деления суммы на 26, от 0 до 25, превращается в букву от A до Z.
Испанские контрольные цифры
В испанском коде счёта (CCC) между кодом отделения и номером счёта стоят две контрольные цифры. Первая проверяет код банка и код отделения, вторая 10-значный номер счёта. Каждая вычисляется так: взвешенная сумма с весами 1, 2, 4, 8, 5, 10, 9, 7, 3, 6 делится на 11, а остаток вычитается из 11. Результат 11 превращается в 0, а 10 в 1. Формат целиком показан на странице Испании.
Взвешенные суммы
Многие страны умножают каждую цифру на вес, складывают произведения и берут остаток:
- Бельгия: последние две цифры равны остатку от деления первых десяти цифр на 97 (97 вместо 0).
- Норвегия: MOD 11 с весами 5, 4, 3, 2, 7, 6, 5, 4, 3, 2. Номера счетов, для которых понадобилось бы значение 10, не выпускаются.
- Финляндия: алгоритм Луна, тот же, что применяется к номерам банковских карт.
- Эстония: метод 7-3-1, веса 7, 3, 1 повторяются справа налево.
- Венгрия: две цифры с весами 9, 7, 3, 1, одна для кода банка и отделения, другая для номера счёта.
- Польша: одна цифра в конце 8-значного расчётного номера банка, веса 3, 9, 7, 1.
- Албания: одна цифра после кода банка и отделения, веса 9, 7, 3, 1.
- Чехия и Словакия: префикс счёта и номер счёта должны по отдельности давать взвешенную сумму, кратную 11.
- Хорватия: ISO 7064 MOD 11,10, отдельно для кода банка и для номера счёта.
- Коста-Рика: последняя цифра номера счёта клиента, веса от 1 до 9, затем от 1 до 7, по модулю 11.
- Россия: контрольный ключ Банка России, веса 7, 1, 3 для последних цифр БИК и номера счёта.
По странам
В таблице перечислены все страны, национальную проверку которых вычисляет этот сайт, с позициями контрольных цифр в IBAN. По ссылке на страну откроются её генератор и полный формат.
| Страна | Позиции | Метод | Контрольные цифры IBAN | Источник |
|---|---|---|---|---|
| Албания | 12 | Веса 9, 7, 3, 1 (mod 10) | Зависят от счёта | Bank of Albania, Decision No. 26 of 4.5.2022 |
| Бельгия | 15–16 | Первые 10 цифр по модулю 97 | Зависят от счёта | Febelfin / National Bank of Belgium |
| Босния и Герцеговина | 19–20 | MOD 97-10 |
BA39
|
Centralna banka Bosne i Hercegovine |
| Венгрия | 12, 28 | Веса 9, 7, 3, 1 (mod 10) | Зависят от счёта | Magyar Nemzeti Bank, 35/2017. (XII. 14.) MNB rendelet |
| Восточный Тимор | 22–23 | MOD 97-10 |
TL38
|
Banco Central de Timor-Leste |
| Испания | 13–14 | Контрольные цифры (mod 11) | Зависят от счёта | Consejo Superior Bancario, Código Cuenta Cliente (AEB/CECA) |
| Италия | 5 | Контрольная буква CIN (mod 26) | Зависят от счёта | ABI, coordinate bancarie (Banca d'Italia) |
| Косово | 19–20 | MOD 97-10 |
XK05
|
Central Bank of the Republic of Kosovo (BQK) |
| Коста-Рика | 22 | Веса от 1 до 9 (mod 11) | Зависят от счёта | Banco Central de Costa Rica, Cuenta Cliente |
| Мавритания | 26–27 | Ключ RIB (mod 97) |
MR13
|
Banque Centrale de Mauritanie, Instruction 16/GR/2008 |
| Монако | 26–27 | Clé RIB (mod 97) | MC58, если в номере счёта только цифры | CFONB, RIB standard (Banque de France) |
| Норвегия | 15 | MOD 11 | Зависят от счёта | Bits AS / Finans Norge |
| Польша | 12 | Веса 3, 9, 7, 1 (mod 10) | Зависят от счёта | Narodowy Bank Polski |
| Португалия | 24–25 | MOD 97-10 |
PT50
|
Banco de Portugal, NIB |
| Россия | 22 | Контрольный ключ, веса 7, 1, 3 | Зависят от счёта | Bank of Russia, Procedure No. 515 of 8.9.1997 |
| Сан-Марино | 5 | Контрольная буква CIN (mod 26) | Зависят от счёта | Banca Centrale della Repubblica di San Marino (ABI standard) |
| Северная Македония | 18–19 | MOD 97-10 |
MK07
|
National Bank of the Republic of North Macedonia |
| Сербия | 21–22 | MOD 97-10 |
RS35
|
Narodna banka Srbije |
| Словакия | 14, 24 | Взвешенный MOD 11 | Зависят от счёта | Národná banka Slovenska, opatrenie č. 8/2009 |
| Словения | 18–19 | MOD 97-10 |
SI56
|
Banka Slovenije, Uradni list RS 85/2016 |
| Тунис | 23–24 | Ключ RIB (mod 97) |
TN59
|
Banque Centrale de Tunisie |
| Финляндия | 18 | Алгоритм Луна (mod 10) | Зависят от счёта | Finance Finland (Finanssiala) |
| Франция | 26–27 | Clé RIB (mod 97) | FR76, если в номере счёта только цифры | CFONB, RIB standard (Banque de France) |
| Хорватия | 11, 21 | ISO 7064 MOD 11,10 | Зависят от счёта | Hrvatska narodna banka, Narodne novine 13/2025 |
| Черногория | 21–22 | MOD 97-10 |
ME25
|
Centralna banka Crne Gore |
| Чехия | 14, 24 | Взвешенный MOD 11 | Зависят от счёта | Česká národní banka, vyhláška č. 169/2011 Sb. |
| Эстония | 20 | 7-3-1 (mod 10) | Зависят от счёта | Estonian Banking Association (Pangaliit) |
Для нескольких других стран, например Бурунди, Джибути и Сан-Томе и Принсипи, примеры из реестра тоже указывают на национальную проверку, но официального описания мы не нашли. Генератор оставляет эти цифры случайными.
Постоянные контрольные цифры IBAN
Из-за двух цифр MOD 97 в конце BBAN или ключа RIB весь BBAN при делении на 97 даёт один и тот же остаток, какой бы ни был счёт. Контрольные цифры IBAN зависят только от этого остатка и кода страны, поэтому у всех валидных IBAN этих стран одни и те же контрольные цифры: каждый португальский IBAN начинается с PT50, каждый сербский с RS35, а каждый тунисский с TN59. Французские IBAN, в номере счёта которых только цифры, все начинаются с FR76. Буквы во французском номере счёта меняют результат, поэтому пример из реестра выше начинается с FR14.
Это удобная быстрая проверка, когда вы читаете IBAN этих стран: если контрольные цифры другие, IBAN неверен.
Нужно ли валидатору их проверять?
MOD-97 и так ловит любую ошибку в одной цифре и любую перестановку двух соседних цифр, поэтому против опечаток национальные проверки дают немного. Они помогают в других случаях: когда IBAN собран вручную из неверного внутреннего номера или когда это поддельный IBAN, автор которого вычислил только цифры MOD-97.
Прежде чем добавлять их в собственный валидатор, учтите:
- Каждой стране нужен свой алгоритм, и каждый должен в точности следовать официальному правилу. Неверная реализация отклоняет IBAN настоящих клиентов, а это хуже, чем не проверять вовсе.
- Проверьте каждый алгоритм на примерах в реальном формате, например на примере из реестра на странице каждой страны.
- Делайте сообщение об ошибке конкретным. «Национальные контрольные цифры не совпадают» поможет пользователю больше, чем «Неверный IBAN».
Наш валидатор IBAN проверяет национальные контрольные цифры везде, где известно правило, а если оно неизвестно, сообщает об этом. Библиотека с открытым исходным кодом iban-check выполняет структурные проверки и MOD-97.
Тестирование с национальными контрольными цифрами
Генератор вычисляет национальные контрольные цифры для каждой страны из таблицы выше, в обоих режимах, реалистичном и полностью случайном, поэтому валидаторы, которые их проверяют, принимают сгенерированные IBAN. Для негативного теста измените одну из национальных контрольных цифр и пересчитайте контрольные цифры IBAN: такой IBAN пройдёт MOD-97, но не пройдёт национальную проверку. Если контрольные цифры IBAN неверны, валидатор подскажет подходящие. Об остальных уровнях проверки рассказывает статья Тестовые IBAN для разработчиков и QA.
Источники
- Реестр IBAN SWIFT (SWIFT IBAN Registry), выпуск 102 (июнь 2026 года): структура BBAN каждой страны и примеры, приведённые выше.
- ISO/IEC 7064: системы контрольных символов MOD 97-10 и MOD 11,10.
- Чешский национальный банк, IBAN: постановление № 169/2011 Sb. о чешском номере счёта и его проверке.
- 35/2017. (XII. 14.) MNB rendelet, приложение 1: венгерский номер счёта и его контрольные цифры.
- Национальные источники, указанные в таблице: центральные банки, банковские ассоциации и опубликованные ими стандарты.