Как известно, с 04.07.2017 года банки Республики Беларусь переходят на использование международного номера счета (IBAN) и международного банковского идентификационного кода (BIC или БИК) при осуществлении расчетов в безналичной форме.
Более подробная информация о предстоящем переходе, включая юридическое обоснование и некоторые технические детали, представлена на специальной странице сайта Нацбанка РБ. Там же размещены ответы на наиболее актуальные вопросы, касающиеся перехода, а также много другой полезной информации.
В этой статье я расскажу том, что необходимо в самое ближайшее время сделать организациям, предприятиям, частным предпринимателям в связи с предстоящим переходом на IBAN и БИК, а также подробно остановлюсь на технических вопросах и предоставлю полезную информацию по доработке используемого субъектами хозяйствования программного обеспечения.
Итак, начну с краткого обобщения предоставленной Нацбанком и другими банками РБ информации о счетах IBAN и новых БИК.
- С 4 июля 2017 года проведение любых безналичных платежей будет осуществляться банками РБ только с использованием нового формата номеров счетов IBAN и новых банковских идентификационных кодов. Старые 13-значные номера банковских счетов и старые 9-значные либо 3-значные банковские коды больше применяться не будут. Обратите внимание, что платежные документы с указанием старых реквизитов, полученные банками 30 июня 2017 года, но не исполненные в этот день, уже не будут исполнены (кроме платежей в бюджет и в пользу органов принудительного взыскания). То есть, переходный период, при котором клиенты будут иметь право предоставлять платежные инструкции со старыми реквизитами, не предусмотрен. Правда, есть исключение: международные денежные переводы смогут дойти до клиента по старым реквизитам до 31.12.2017 г., а переводы в пользу физических лиц по спискам (заработная плата, пенсии, пособия и т.п.) также можно будет зачислить по старым реквизитам до 30.09.2017 г.
- IBAN (International Bank Account Number) — это международный номер банковского счета, используемый первоначально в странах Евросоюза, а сейчас и во многих других странах мира. Может быть длиной до 34 символов, в Беларуси будет использоваться IBAN длиной 28 символов. Подробнее о стандарте номеров IBAN можно узнать в Википедии. Все банковские счета, включая расчетные счета предприятий и организаций, транзитные счета, карт-счета, вкладные счета физических лиц и т.д., будут идентифицироваться исключительно по номерам IBAN.
- BIC (Business Identifier Code) — универсальный идентификационный код участников финансовых расчетов. В русском варианте используется сокращение БИК и термин Банковский Идентификационный Код (т.е. Bank Identifier Code, что не вполне соответствует международному стандарту). Подробнее о BIC можно также почитать в Википедии. С 04.07.2017 г. все банки РБ будут идентифицироваться исключительно по номерам BIC взамен старых банковских кодов.
- Банки РБ уже предоставляют юридическим лицам и индивидуальным предпринимателям информацию о новых номерах их банковских счетов и новом BIC обслуживающего банка.
В связи с предстоящим переходом на номера IBAN и новые БИК юридическим лицам и индивидуальным предпринимателям желательно заранее позаботиться о подготовительных мероприятиях и как можно скорее решить следующие задачи:
- Если информация о новых номерах собственных банковских счетов и новых БИК обслуживающих банков еще не получена, запросить эту информацию в соответствующих отделениях обслуживающих банков.
- Уведомить всех своих контрагентов о новых номерах используемых банковских счетов и новых BIC.
- Запросить у своих контрагентов информацию о новых номерах их банковских счетов, а при необходимости — и новых BIC банков, в которых обслуживаются контрагенты.
- Запросить у банков, обслуживающих зарплатные проекты организации, или непосредственно у работников информацию о новых номерах их вкладных или карт-счетов, а при необходимости — и новых BIC банков, в которых открыты вкладные либо карт-счета работников.
- Доработать используемое программное обеспечение для возможности работы с новыми форматами банковских счетов IBAN и новыми банковскими кодами BIC.
- Заранее внести в программное обеспечение новые номера IBAN собственных банковских счетов, расчетных счетов своих контрагентов, личных счетов работников для перечисления заработной платы и иных платежей, а также новые BIC соответствующих банков.
Далее я более детально затрону вопросы, касающиеся модификации программного обеспечения для возможности работы с номерами IBAN и новыми банковскими кодами. Если вас не интересуют эти вопросы, то дальнейшую части статьи можно смело пропускать. Однако некоторая часть изложенной ниже информации может оказаться полезной не только для разработчиков программ, но и для пользователей.
Попробуем вначале определиться, какие именно изменения необходимо произвести, чтобы можно было использовать программное обеспечение с новыми счетами и кодами, а затем выясним, как это можно сделать.
Итак, основное, что предстоит сделать разработчикам:
- Обеспечить ввод, обработку и хранение новых банковских идентификационных кодов для всех банков.
- Обеспечить ввод, обработку и хранение новых номеров IBAN для собственных банковских счетов.
- Обеспечить ввод, обработку и хранение новых номеров IBAN для расчетных счетов контрагентов.
- Обеспечить ввод, обработку и хранение новых номеров IBAN для личных счетов работников, используемых при перечислении заработной платы.
- Изменить все экранные формы, используемые для ввода, просмотра и редактирования данных, чтобы иметь возможность работать с новыми номерами счетов и кодами банков.
- Изменить все печатные формы, чтобы выводимая на печать информация содержала корректное отображение новых счетов IBAN и кодов BIC.
Кроме этого, пользователям программ могут потребоваться (и, скорее всего, потребуются) следующие возможности:
- Проверка вводимого номера IBAN и кода BIC на корректность.
- Форматирование длинного номера IBAN при выводе на экран и на печать путем разбиения на группы символов для более удобного визуального восприятия и контроля.
- Обеспечение возможности ввода и редактирования новых номеров счетов и банковских кодов во время работы со старыми реквизитами до 04.07.2017 г.
- Возможность выбора в течение некоторого времени либо старых, либо новых реквизитов (может потребоваться при поиске и просмотре старых данных после перехода на новые реквизиты).
- Выгрузка данных по платежным инструкциям с целью передачи их в программное обеспечение системы “клиент-банк”, предоставляемое обслуживающим банком.
- Выгрузка списков на зачисление зарплаты и иных платежей работникам с целью передачи их в программное обеспечение системы “клиент-банк”, предоставляемое обслуживающим банком.
- Загрузка данных по банковским выпискам из программного обеспечения системы “клиент-банк”.
Как видим, работы предстоит довольно много. Кстати, первоначально переход на номера IBAN и БИК планировалось сделать 1.01.2017 г., но в связи с решением о проведении в 2016 году деноминации белорусского рубля, а также (вероятно) с практически одновременным переходом на использование ЭСЧФ с введением IBAN решили немного повременить.
Конечно, для решения выше озвученных задач можно использовать разные подходы. Например, если рассматривать распространенные системы учета, созданные на базе продуктов 1С, то к решению поставленных задач можно подойти, например, так:
- Увеличить размерность соответствующих реквизитов справочников и документов, полей печатных форм, доработать проверки вводимых данных, переделать обработки импорта и экспорта данных. Это самый простой подход, он потребует меньше затрат, но обладает рядом недостатков. Главный недостаток — невозможность обеспечения одновременной работы пользователей со старыми и с новыми банковскими реквизитами. Чтобы пользователи имели возможность внести новые реквизиты заранее, надо будет делать отдельную копию информационной базы, которая до 04.07.2017 будет использоваться лишь для заполнения новых реквизитов, а с даты перехода на новые счета станет основной рабочей базой. При этом посмотреть старые реквизиты можно будет только в старой копии информационной базы. Этот способ годится для ИП и небольших организаций с малым количеством контрагентов.
- Добавить новые реквизиты справочников и документов для хранения номеров IBAN и новых БИК, отредактировать печатные формы, доработать проверки вводимых данных, сделать новые обработки импорта и экспорта данных. Далее пользователю предоставляется разовая обработка, которая заменяет старые реквизиты и обработки на новые. Печатные формы при таком подходе заменять не придется, лишь отредактировать ширину нужных полей. Такой подход потребует чуть больше затрат. Пользователи будут иметь возможность внести новые реквизиты заранее и работать с одной информационной базой, но после перехода на новые реквизиты работа со старыми будет невозможна. Может быть, ничего страшного в этом нет, особенно если сделать копию информационной базы до перехода на новые реквизиты на случай необходимости поиска или использования старых.
- Третий подход похож на второй, но кроме добавления новых реквизитов нужно отредактировать все экранные и печатные формы, отчеты, обработки, а также произвести изменения в программных модулях для возможности произвольного переключения с работы со старыми реквизитами на работу с новыми реквизитами и обратно. Настроить такое переключение можно, например, через отдельную константу или через рабочую дату. Этот подход самый затратный в плане работы программиста, но наиболее гибкий для пользователя. Пользователи будут работать с одной информационной базой, иметь возможность внести новые реквизиты заранее и возможность выбора, какие реквизиты использовать.
Судя по информации в интернете, большинство разработчиков 1С, включая крупные компании, выпускающие регулярные обновления для своих пользователей, используют второй подход. Лично мне больше нравится третий, так как (на мой взгляд) он предоставляет наибольшие удобства и возможности для пользователей. Если у вас используется стандартная конфигурация 1С и вы подписаны на ее официальные обновления, то тогда вам вообще не о чем беспокоится. Для доработки же самописных или сильно переделанных конфигураций надо немного поднапрячься.
Это все была общая информация. Теперь хочу остановиться на некоторых технических деталях.
Для начала рассмотрим структуру номера IBAN, который будет применяться в Беларуси. Подробно о ней можно узнать из соответствующего документа НБ РБ. Небольшая выдержка из документа под спойлером:
При осуществлении банками расчетов в безналичной форме используются счета, номера которых имеют фиксированную длину в двадцать восемь разрядов и следующую структуру:
AABB CCCC DDDD EEEE EEEE EEEE EEEE,
где AA (1 – 2-й буквенные разряды) – международный код Республики Беларусь;
ВВ (3 – 4-й цифровые разряды) – контрольное цифровое значение, рассчитанное в порядке, предусмотренном подпунктом 1.2 настоящего пункта;
СССС (5 – 8-й буквенно-цифровые разряды) – первые четыре символа банковского идентификационного кода банков, их филиалов;
DDDD (9 – 12-й цифровые разряды) – балансовый счет согласно планам счетов бухгалтерского учета;
EEEE EEEE EEEE EEEE (13 – 28-й буквенно-цифровые разряды) – определяемая банками нумерация индивидуального счета
Пример счета IBAN: BY00 NBRB 3600 0000 0000 0000 0000
Счет разбит на фрагменты по 4 символа только для удобства визуального восприятия. На самом деле использование пробелов в номере счета не допускается. В Беларуси длина IBAN составляет ровно 28 знаков, однако счета в банках других стран могут иметь другие ограничения по длине, и это надо также учитывать: например, для ввода номера счета банка-корреспондента может потребоваться большее количество символов.
Первые 2 символа IBAN являются международным обозначением страны, для Беларуси это символы BY. Символы 5-8 совпадают с первыми 4 символами BIC того банка, в котором открыт счет. 3 и 4 символ составляют контрольную цифру. Алгоритм ее расчета приведен в уже упомянутом документе на сайте Нацбанка РБ, этот алгоритм также легко найти и в других источниках.
Последние 16 символов номера IBAN банки устанавливают самостоятельно, при этом могут использоваться как цифры, так и заглавные буквы латинского алфавита. К сожалению, не существует универсального алгоритма, позволяющего из старого 13-значного номера счета получить новый номер IBAN. Правда, некоторые банки используют старый номер, дополняя его нулями и подставляя вместо последних 16 знаков IBAN, но это скорее исключение, чем правило. Поэтому универсальной процедуры превращения старого номера счета в новый нет и быть не может. Однако же банки владеют информацией о соответствии старого номера счета и нового, поэтому по соответствующим спискам можно автоматизировать замену или заполнение новых номеров в формате IBAN. Конкретно эта возможность будет рассмотрена в конце статьи.
На практике интерес представляет не алгоритм формирования номера IBAN и даже не алгоритм расчета контрольной суммы, а способ проверки правильности вводимого номера. Исходя из сказанного, проверять можно:
- длину номера (должна составлять 28 знаков для РБ и от 5 до 34 знаков для иностранных банков);
- наличие недопустимых символов в номере (допускаются только цифры и заглавные буквы латинского алфавита);
- наличие недопустимых символов в определенных позициях (например, недопустимы цифры на первых 2 позициях, буквы на 3 и 4 позиции и т.д.);
- соответствие символов на позициях 5-8 первым четырем символам БИК банка;
- правильность расчета контрольной суммы.
Последний пункт выполняется так:
- Первые 4 символа номера перемещаются в конец строки (считаем, что ведущие и концевые пробелы уже обрезаны).
- Каждый символ полученного после 1 пункта номера последовательно преобразуется в код от 0 до 35 по следующему правилу: цифра преобразуется в соответствующее число, буквы от A до Z в алфавитном порядке преобразуются в числа от 10 до 35. Например, символ «7» преобразуется в число 7, а буква D преобразуется в число 13. Самое главное: получаемые числа не суммируются, а приписываются к полученному результату справа по принципу сцепления строк. Например, последовательность BY23 преобразуется в «11»+«34»+«2»+«3»=«113423».
- Полученная в пункте 2 последовательность цифр интерпретируется как число. Далее это число делится на 97 и вычисляется остаток от деления.
- Если остаток от деления равен 1, контрольная цифра соответствует остальным символам номера, то есть номер можно считать верным по данному признаку.
Поскольку в пункте 2 образуется очень большое число, в расчетах можно столкнуться с некоторыми ограничениями, накладываемыми используемыми средствами разработки программ или хранения данных. Но есть простой выход из ситуации: можно разбить численную строку на малые части и вычислить остаток деления каждой части на 97, дописывая получаемый остаток от деления предыдущей части слева к следующей части, и так до конца строки.
Рассмотрим пример:
Есть гипотетический номер BY42AKBB30120123456789012345, открытый в «Беларусбанке». Проверим его правильность.
- Номер состоит из 28 символов, что верно для Беларуси. ОК.
- Она содержит только цифры и прописные буквы латинского алфавита. ОК.
- Первые 2 символа BY, что соответствует стране. ОК.
- В позициях 3-4 находятся цифры. Пока ОК.
- Символы с 5 по 8 содержат строку AKBB, что совпадает с первыми символами BIC «Беларусбанка». ОК.
- Перемещаем первые 4 символа в конец строки, получаем AKBB30120123456789012345BY42.
- Преобразуем A в 10, K в 20, B в 11 и т.д. Результат: 1020111130120123456789012345113442.
- Расчленим эту численную строку на несколько частей, например, по 6 цифр (части могут быть неодинаковыми по длине): 102011, 113012, 012345, 678901, 234511, 3442. Остаток деления 102011 на 97 есть 64. Дописываем 64 слева к следующей части, получаем 64113012 Остаток деления 64113012 на 97 есть 86. Далее делим 86012345 на 97, получаем остаток 20. Далее по аналогии: 20678901 mod 97 = 53; 53234511 mod 97 = 38 и, наконец, 383442 mod 97 = 1. В результате получили цифру 1, значит, данный счет IBAN верный.
Сейчас в интернете легко найти сервисы, предлагающие проверить правильность счета IBAN онлайн. Однако при вводе большого количества номеров пользоваться онлайн-проверкой неудобно. Поэтому необходимо реализовать такую проверку в своих программных продуктах.
Ниже я приведу несколько примеров кода, реализующего часть из выше рассмотренных проверок банковских счетов IBAN. Некоторые из примеров были найдены в глобальной сети и не проверялись на практике, большинство из них не реализует все возможные проверки (например, нигде не проверяется совпадение разрядов счета IBAN с разрядами BIC банка). К сожалению, автоматическое форматирование программного кода в спойлере не очень наглядное, уж не обессудьте.
function IBANChk(b) { if (b.length < 5 || b.length > 34) { alert("Длина менее 5 или более 34 символов"); return false; } s = b.substring(4) + b.substring(0, 4); for (i = 0, r = 0; i < s.length; i++ ) { c = s.charCodeAt(i); if (48 <= c && c <= 57) { if (i == s.length-4 || i == s.length-3) { alert("В позициях 1 и 2 не могут быть цифры"); return false; } k = c - 48; } else if (65 <= c && c <= 90) { if (i == s.length-2 || i == s.length-1) { alert("В позициях 3 и 4 не могут быть буквы"); return false; } k = c - 55; } else { alert("Разрешены только прописные буквы от A до Z и цифры"); return false; } if (k > 9) r = (100 * r + k) % 97; else r = (10 * r + k) % 97; } if (r != 1) { alert("Контрольная сумма ошибочна"); return false; } alert("Этот IBAN верен"); return true; }
&НаКлиенте Функция ЧетыреЗнакаВХвост(СчетДляПроверки) ЧетыреЗнака = ""+Лев(СчетДляПроверки, 4); ЧистаяСтрока = Сред(СчетДляПроверки, 5); Возврат ""+ЧистаяСтрока+ЧетыреЗнака; КонецФункции &НаКлиенте Функция ПостроитьМатрицуЗнаков() МатрицаЗнаков = Новый Соответствие; МатрицаЗнаков.Вставить("0","0"); МатрицаЗнаков.Вставить("1","1"); МатрицаЗнаков.Вставить("2","2"); МатрицаЗнаков.Вставить("3","3"); МатрицаЗнаков.Вставить("4","4"); МатрицаЗнаков.Вставить("5","5"); МатрицаЗнаков.Вставить("6","6"); МатрицаЗнаков.Вставить("7","7"); МатрицаЗнаков.Вставить("8","8"); МатрицаЗнаков.Вставить("9","9"); МатрицаЗнаков.Вставить("A","10"); МатрицаЗнаков.Вставить("B","11"); МатрицаЗнаков.Вставить("C","12"); МатрицаЗнаков.Вставить("D","13"); МатрицаЗнаков.Вставить("E","14"); МатрицаЗнаков.Вставить("F","15"); МатрицаЗнаков.Вставить("G","16"); МатрицаЗнаков.Вставить("H","17"); МатрицаЗнаков.Вставить("I","18"); МатрицаЗнаков.Вставить("J","19"); МатрицаЗнаков.Вставить("K","20"); МатрицаЗнаков.Вставить("L","21"); МатрицаЗнаков.Вставить("M","22"); МатрицаЗнаков.Вставить("N","23"); МатрицаЗнаков.Вставить("O","24"); МатрицаЗнаков.Вставить("P","25"); МатрицаЗнаков.Вставить("Q","26"); МатрицаЗнаков.Вставить("R","27"); МатрицаЗнаков.Вставить("S","28"); МатрицаЗнаков.Вставить("T","29"); МатрицаЗнаков.Вставить("U","30"); МатрицаЗнаков.Вставить("V","31"); МатрицаЗнаков.Вставить("W","32"); МатрицаЗнаков.Вставить("X","33"); МатрицаЗнаков.Вставить("Y","34"); МатрицаЗнаков.Вставить("Z","35"); Возврат МатрицаЗнаков; КонецФункции &НаКлиенте Функция ПолучитьКонтрольноеЧисло(СчетДляПроверки) ВхСчет = СокрЛП(""+Прав(СчетДляПроверки, 24)+"BY00"); ДлинуПроверил = ?(СтрДлина(ВхСчет) = 28, Истина, Ложь); КонтрольноеЧисло = ""; Если ДлинуПроверил Тогда МатрицаЗнаков = ПостроитьМатрицуЗнаков(); СтрокаСчета = ""; Ном = 0; Для Ном = 1 По СтрДлина(СчетДляПроверки) Цикл СтрокаСчета = СтрокаСчета + МатрицаЗнаков.Получить(Сред(ВхСчет, Ном, 1)); КонецЦикла; МатрицаЗнаков = Неопределено; Число123 = Число(СтрокаСчета); Число124 = Цел(Число123/97); Число125 = Число124*97; Число126 = Число123-Число125; Число127 = 98 - Число126; КонтрольноеЧисло = Прав("00"+Число127,2); КонецЕсли; Возврат КонтрольноеЧисло; КонецФункции &НаКлиенте Функция ПроверитьСчетIBAN(СчетДляПроверки) ВхСчет = СокрЛП(СчетДляПроверки); ДлинуПроверил = ?(СтрДлина(ВхСчет) = 28, Истина, Ложь); Правильно = ЛОЖЬ; Если ДлинуПроверил Тогда ЧетыреЗнака = ""+Лев(ВхСчет, 4); ЧистаяСтрока = ""+Сред(ВхСчет, 5)+ЧетыреЗнака; МатрицаЗнаков = ПостроитьМатрицуЗнаков(); Ном = 0; СтрокаСчета = ""; Для Ном = 1 По СтрДлина(ЧистаяСтрока) Цикл СтрокаСчета = СтрокаСчета + МатрицаЗнаков.Получить(Сред(ЧистаяСтрока, Ном, 1)); КонецЦикла; МатрицаЗнаков = Неопределено; Число132 = Число(СтрокаСчета); Число133 = Цел(Число132/97); Число134 = Число133*97; Число135 = Число132-Число134; Правильно = (Число135 = 1); КонецЕсли; Возврат Правильно; КонецФункции &НаКлиенте Процедура Проверить(Команда) Сообщить(ПолучитьКонтрольноеЧисло(СчетДляПроверки)); Сообщить(ПроверитьСчетIBAN(СчетДляПроверки)) КонецПроцедуры
Функция ПроверкаНомераСчета(НомерСчета) ВхСчет = СокрЛП(НомерСчета); ПроверкаДлины = ?(СтрДлина(ВхСчет) = 28, 1, 0); Проверка = 0; Если ПроверкаДлины = 1 Тогда ИсходнаяСтрока = Сред(ВхСчет, 5) + Лев(ВхСчет, 4); ВесоваяСтрока = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; ЧисловаяСтрока = ""; Для Ном = 1 По СтрДлина(ИсходнаяСтрока) Цикл Вес=Найти(ВесоваяСтрока,Сред(ИсходнаяСтрока,Ном,1))-1; Если Вес = -1 Тогда Возврат Проверка; КонецЕсли; ЧисловаяСтрока = ЧисловаяСтрока + Строка(Вес); КонецЦикла; Результат = Число(ЧисловаяСтрока) - 97*Цел(Число(ЧисловаяСтрока)/97); Проверка = ?(Результат = 1, 1, 0); КонецЕсли; Возврат Проверка; КонецФункции
Private Function CheckIBAN(IBANStr) If (Len(IBANStr) <> 28) Then CheckIBAN = False Exit Function End If s = Right(IBANStr, 24) + Left(IBANStr, 4) For i = 1 To 28 c = Asc(Mid(s, i, 1)) If (48 <= c) And (c <= 57) Then If (i = 25) Or (i = 26) Then CheckIBAN = False Exit Function 'В позициях 1 и 2 не могут быть цифры End If k = c - 48 Else If (65 <= c) And (c <= 90) Then If (i = 27) Or (i = 28) Then CheckIBAN = False Exit Function 'В позициях 3 и 4 не могут быть буквы End If k = c - 55 Else CheckIBAN = False Exit Function 'Разрешены только прописные буквы от A до Z и цифры End If End If If (k > 9) Then r = (100 * r + k) Mod 97 Else r = (10 * r + k) Mod 97 End If Next i If (r <> 1) Then CheckIBAN = False Exit Function 'Контрольная сумма ошибочна End If CheckIBAN = True End Function
Что касается формата новых кодов BIC, то здесь все намного проще: на сайте Нацбанка есть не только описание структуры BIC, но и перечень действующих банков в формате Excel с указанием как старого кода, так и нового БИК. Обновить коды банков в своих программах, имея данную информацию, — дело техники, так что заострять внимание на этом моменте не буду.
Вернемся к поднятому раньше вопросу об автоматизации переводов старых номеров счетов в номера IBAN. Некоторые банки уже уведомили своих клиентов о том, что им будет предоставлена информация о соответствии старых и новых номеров счетов физических лиц, получающих заработную плату и иные платежи от организации. Кроме того, буквально на днях Нацбанк РБ разместил у себя на сайте калькулятор IBAN, который позволяет по старому номеру счета и коду (либо наименованию) банка получить новый номер счета IBAN. Самая замечательная с точки зрения разработчиков программного обеспечения, занимающихся сопровождением софта на предприятиях, особенность калькулятора — это возможность пакетной обработки списка номеров. Подробности подготовки списка номеров и проведения пакетной обработки приведены на этой странице сайта НБ РБ.
У меня пока не было возможности протестировать калькулятор IBAN в пакетном режиме, но само появление такого сервиса намного облегчит жизнь тем юрлицам, которые работают с сотнями контрагентов.
На этом остановлюсь. Надеюсь, приведенная информация будет кому-то полезной. Вопросы и замечания в комментариях приветствуются.
Протестировал работу калькулятора IBAN в пакетном режиме. Могу сказать одно: работает, но для многих номеров счетов не предлагает новый номер на замену. Возможно, просто в предоставленных мне для теста справочниках много устаревших данных. В любом случае, Нацбанк предоставил очень полезный сервис, который значительно облегчит работу операторам и бухгалтерам, так как им не придется вводить большинство новых номеров вручную.