Или рассказ о том, что «мал золотник, да дорог»

Этот пост Вам интересен, если:

  • Вы сотрудник Банка;

  • Вы работаете в ИТ подразделения Банка;

  • Задача, о которой пойдет речь, еще не автоматизирована;

  • Банк обслуживает физических лиц;

  • В Банке используется ПО АБС «Диасофт»;

  • В Банке используется ПО КОМИТА;

  • Банк ежедневно взаимодействует с ИФНС согласно 440-п ЦБ РФ.

Интро

С этой задачей я столкнулся абсолютно случайно. Мне ее подкинул старый знакомый, сотрудник ИТ не очень крупного универсального Банка, уверенно входящего в ТОП 100, но находящийся ближе к концу данного списка. Задача относится именно к Розничному сегменту бизнеса. В Банке есть команда своих программистов, но они расписаны на несколько месяцев вперед на исполнение более крупных и приоритетных (с точки зрения «бизнеса» задач. А сама задача организации обмена согласно 440-п ЦБ РФ, упала на моего знакомого неформально, когда пользователи пожаловались на свою тяжелую внутрибанковскую жизнь и он по доброте душевной решил им помочь. 

Верхнеуровневый бизнес-процесс

Бизнес-процесс, о котором пойдет речь далее, выглядит следующим образом:

Если его тезисно описать словами, то он выглядит следующим образом:

Ежедневно, в рамках исполнения 440-п ЦБ РФ:

 (»О порядке направления в банк отдельных документов налоговых органов, а также направления банком в налоговый орган отдельных документов банка в электронной форме в случаях, предусмотренных законодательством Российской Федерации о налогах и сборах»

ИФНС отправляет по электронной почте запросы в Банк по ФЛ (Физическим Лицам) у которых открыты счета в вашем Банке. Данные запросы попадают в Диасофт, обрабатываются там, и после этого с использованием системы защищенного документооборота КОМИТА, улетают по электронной почте обратно в ИФНС. При этом, в зависимости от клиентской базы банка, таких запросов ежедневно может приходить 100 | 1 000 | 10 000. А так же существуют штрафные санкции регулятора за непредоставление ответа и\или за несвоевременное предоставление ответа. И, понятное дело, Банк заинтересован этого избежать.

Шаги бизнес-процесса

Алгоритм действий пользователя следующий:

  • каждое утро (365 дней в году) производится выгрузка данных для отправки данных из Диасофт;

  • производится шифрование и подписание файлов для отправки. Учет самих файлов для отправки по составу и количеству осуществляется в документообороте КОМИТЫ;

  • т.к. АРМ обмена данными с ИФНС и сервисы банка находятся в разных сегментах сети, разделенных на физическом уровне, перенос зашифрованных и подписанных файлов производится ногами и руками сотрудника на flash-носителе в защищенную сеть Банка;

  • после этого на защищенном АРМ производится создание писем в MS Outlook с файлами отчетности, Пользователь вручную создает каждое письмо с предопределенным адресом получателя, темой письма и последовательно вкладывает в письмо соответствующий архив с данными и производит отправку email.

    (безумное колличество ручной работы пользователя и отсутствие полноценной системы контроля отправок, собственно и являются предметом нашей микро-автоматизации).

  • далее производится получение квитков из ЦБ РФ обратным письмом ИФНС подтверждающим факт доставки и получения корреспонденции;

(здесь, к сожалению, мы и не сможем их обрабатывать и учитывать, поскольку файлы ответа о факте доставки зашифрованы и содержимое их нам недоступно)

  • далее происходит обратный поток бизнес-процесса, в рамках которого производится выгрузка полученных квитков из MS Outlook в папку для переноса в рабочую сеть Банка;

  • перенос файлов производится на flash-носителе, руками и ногами ответственного сотрудника Банка;

  • происходит загрузка квитков в КОМИТУ, расшифровка и снятие ЭЦП;

  • Комита сопоставит отправленные файлы с полученными квитками, статус документов в КОМИТЕ поменяется, все Ok.

  • Подгрузка квитанций в Диасофт уже является штатной автоматизированной процедурой и не требует нашего участия.

ROI или то, почему мы взялись за реализацию задачи

Лень, двигатель прогресса. Поэтому, перед любой автоматизацией, предполагающей затраты -  сроки \ деньги, мы смотрим и пытаемся понять экономическую эффективность. Наш расчет производится через трудозатраты и ФОТ сотрудников Банка.

Расчетные трудозатраты персонала Банка на взаимодействие с ИФНС

Расчет выполнен исходя из получения 500 ежедневных запросов. Но, как я упомянул выше, для каждого Банка своя экономика — ежедневно может приходить 100 | 1 000 | 10 000. В данном случае Банк небольшой, поэтому запросов ИФНС приходит от 400 до 600 ежедневно.

Расчёт ROI

В расчете ROI (от англ. return on investment) мы исходим из следующих допущений и ограничений:

Сама по себе задача низкоквалифицированная, но требующая внимательности и педантичности ее исполнения. Поэтому ЗП сотрудника по логике небольшая, порядка 60 000 рублей ежемесячно. Фактически не знаю, это мое предположение, но реально может быть и выше. С учетом налогов на ЗП (48%), содержание одного такого сотрудника обходится Банку в 88 800 рублей в месяц, или 1 065 600 рублей ежегодно.

Далее считаем КПД сотрудника, т.к. он не робот и это значение не может равняться 100%. Примем допущение, что это очень работоспособный и ответственный сотрудник и его КПД составляет оптимистичные 75%, хотя по факту значительно ниже. Пруф по статистике КПД находится здесь. Таким образом, наш рассчитанный фонд трудоемкости увеличивается на 25% и составит 11,25 рабочих часов ежедневно.

Становится понятно, что для решения этой задачи банку требуются минимум 2-е штатных единицы, + 1 для резервирования, на случай отпусков и болезней. Общий годовой ФОТ группы из 3-х человек составит 88 800 х 12 х 3 = 3 196 800 рублей ежегодно. Это стоимость для Банка функции дистанционного общения с ИФНС по теме 440-П ЦБ РФ. Для упрощения оставляем за бортом человеческий фактор (ошибки отправки \ несвоевременная отправка ответов на запрос ИФНС) и как следствие репрессивные штрафы регулятора. По моей информации штрафы за одно нарушение менее 500 000 выписываются крайне редко, чаще больше.

Кстати говоря, в Диасофт есть модуль, отвечающий за решение этой простой задачи, но стоимость решений Диасофт, как моно-вендора, обычно космическая, требует затрат на приобретение ПО, внедрение и ежегодное сопровождения. Т.е. в варианте Диасофт «малой кровью» обойтись не получится.

Таким образом сравнение возможных затрат Банка выглядит таким образом:

Опираясь на этот реалистичный расчет, мы ушли в Банк договариваться по цене и срокам разработки скрипта, а также формировать Техническое задание.

«Хорошие люди всегда могут договориться.» Макс Фрай — Сборник Чужак

Техническое задание

Описание целевого бизнес-процесса автоматизации приведу кратко, выдержками из ТЗ:

  1. ПАО «ХХХ Банк» обеспечивает получение входящего запроса со стороны ИФНС и обеспечивает его последовательную обработку внутри банковских систем. Результатом обработки каждого запроса ИФНС является результирующий файл, выгружаемый ответственным исполнителем банка из АБС (Диасофт).

  2. Файл или набор файлов содержащий ответ на запрос ИФНС, относящихся к запросу или нескольким запросам выгружается в локальную исполнителем банка в выделенную директорию, после чего загружается в программу ПО КОМИТА с помощью которой шифруется подписывается ЭЦП.

  3. Результатом исполнения п.2 является выгруженный готовый к отправке результирующий файл (архив) \ либо набор файлов, который ответственный исполнитель банка копирует на флеш-носитель информации предназначенный для физической транспортировке между сегментами сети ПАО «XXX Банк» и последующей отправки в ИФНС.

  4. Ответственный исполнитель банка переносит файл \ пакет сформированных файлов с помощью флеш-носителя на АРМ IP: ХХХ.ХХ.ХХ.ХХ и перемещается посредством проводника Windows в директорию C:\IFNS_in, запускает скрипт отправки.

  5. Результатом работы запущенного скрипта является автоматизированное взаимодействие с почтовым клиентом MS Outlook, в рамках исполнения которого:

    • создается электронное письмо с темой – «Отчет для ФНС» и адресом получателя fns440@ext-gate.svk.mskgtu.cdr.ru.

    • происходит вложение в тело письма файла из директории C:\IFNS_in;

    • происходит отправка письма.

    • при этом, в случае если в директории C:\IFNS_in содержится набор из нескольких файлов, скриптом обеспечивается последовательная отправка каждого файла с исполнением п.п. a, b, c;

В зоне ответственности Исполнителя находится:

  • Разработка Технического задания;

  • Согласование Технического Задания с Заказчиком;

  • Разработка скрипта с использованием языка программирования Python;

  • Установка скрипта на АРМ Заказчика и его настройка, либо разработка инструкции администратора по установке скрипта на АРМ пользователя силами Заказчика;

  • Разработка инструкции пользователя;

  • Разработка описания скрипта для обеспечения возможности доработки скрипта исполнителями Заказчика;

  • Приемка-сдача работ.

Ограничения рамок проекта:

В ответ на каждое письмо, отправленное в рамках исполнения скрипта, из ИФНС приходит ответное письмо, содержащее две вложенные квитанции:

  • транспортная;

  • с результатом обработки.

Данные ответные квитанции (файлы) должны быть сохранены ответственным исполнителем Банка на Flash-носителе и перемещены для целей загрузки обратно ПО КОМИТА, с целью контроля результатов отправок. Количественная и качественная сверка полученных со стороны ИФНС запросов, ответов, отправленных со стороны Банка в ИФНС производится средствами ПО КОМИТА.

Результат работ

Результатом наших работ явился небольшой исполняемый файл — run_transport.bat, в котором зашита вся бизнес-логика рабочего бизнес-процесса. Исполняемый файл по умолчанию помещается в папку С:\transport. И для удобства пользователя, ярлык с run_transport.bat помещается на рабочий стол. 

Согласитесь, все любят большую красную кнопку, нажав на которую без лишних усилий получаешь результат.

Все настройки находятся в файле config.ini:

[OUTLOOK]
IFNS_OUT=C:\transport\IFNS_OUT*.txt
LOGDIR=C:\transport\LOG
ARCHIVE=C:\transport\ARCHIVE
SEND_FROM=
SEND_TO=email@example.ru
BODY_TEXT=Тело сообщения
SUBJECT=Заголовок сообщения

Скрипт отправляет файлы из папки IFNS_OUT через настроенный OUTLOOK на адрес SEND_TO, а все действия логируются в папку LOGDIR. Все передаваемые файлы после отправки помещаются в папку ARCHIVE, в подпапку соответствующего дня.

Вуаля, разработка закончена и инсталлирована на АРМ, клиент счастлив и готов подбрасывать новые темы "на подумать".

Резюме

Если у вас стоит подобная задача, welcome в комментарии.

Felix Leiter to James Bond : «Мы не жадные и не бедные.» Мартин Кэмпбелла Казино Рояль 2006

Комментарии (6)


  1. Busla
    22.10.2022 12:14

    Результатом наших работ явился небольшой исполняемый файл — run_transport.bat, в котором зашита вся бизнес-логика рабочего бизнес-процесса.

    коротенький батник за миллиион, вы - крутецкий продаван!

    а тэги/хабы Python потому, что просто за батник миллион бы не заплатили?


    1. ALBE_RU Автор
      22.10.2022 12:49

      Вопрос цены я оставил за рамками поста сознательно. :-) Я просто подвел к к мыслли и обосновал ее, что экономическая эффективность для Банка присутствует в любом случае и она огромна. Бизнес готов платить деньги не за трудоемкость задачи, а за желаемый ее результ... к счастью или сожалению)


    1. ALBE_RU Автор
      22.10.2022 13:20

      Тег Python, потому что на нем писалась логика.


  1. edst_land_ru
    22.10.2022 13:42
    +2

    В банке уж 15 лет не работаю, но до сих пор с ужасом и содроганием вспоминаю наспех накорябанную на Дельфях кривую-косую АБС Диасофт, XML-бластер, вот это вот все.... не-не, спасибо, не надо.


    1. ALBE_RU Автор
      22.10.2022 15:52
      +1

      У каждого свой опыт и свой путь самурая) во первых, это далеко не АБС, во вторых Заказчик уже пару лет счастлив и не жалуется.


  1. gisly
    22.10.2022 20:28

    Господи, какой же идиотизм этот обмен в целом (кто знает, тот поймет), и ещё кто-то хвалит Мишустина как it-евангелиста...