Автоматизация процессов выдачи банковских гарантий для FCS Госгарант
FCS CRM: Комплексная автоматизация процесса предоставления банковских гарантий
ГлавнаяБлогКак мы работаемFCS CRM: Комплексная автоматизация процесса предоставления банковских гарантий
Как мы работаем15 сентября 2021

FCS CRM: Комплексная автоматизация процесса предоставления банковских гарантий

Фотография автора
Антон ЛыткинBackend lead

Выигрыш гостендера — сложный процесс. Как минимум потому, что после победы компания-победитель обязана предоставить банковскую гарантию в качестве обеспечения исполнения контракта. Чтобы оптимизировать оформление и выдачу таких гарантий, компания FCS Госгарант совместно с командой Work Solutions разработали специальную систему FCS CRM. 

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

О клиенте

FCS Госгарант — это компания, которая предоставляет услуги по безотзывной банковской гарантии в обеспечение исполнения государственных заказов. Взаимодействие компании-гаранта с клиентами и банками-партнерами происходит в информационной системе FCS CRM, которую разработала и восемь лет сопровождала команда Work Solutions.

О проекте

FCS СRM — сервис взаимодействия с банками в области FinTech. Используется для оперативного рассмотрения сделок клиентов, проведения скоринга и принятия решений о представлении безотзывной гарантии победителям государственных тендеров. Сервис  позволяет через бизнес-процесс подготовить документы для предоставления услуги «банковская гарантия».

Банковская гарантия — один из способов обеспечения исполнения обязательств. Банк или другое кредитное учреждение выдает по просьбе должника письменное обязательство уплатить кредитору деньги при предоставлении им требования об уплате.

Как все работало раньше

Ранее весь документооборот в компании менеджеры вели вручную. И все, даже статические данные, каждый раз при совершении сделки приходилось заполнять самим. Менеджеры тратили на поиск информации много времени. 

Сотрудники отслеживали тендеры, брали последнюю информацию и помещали в «карусель», которая распределяла заявки между ними. Чтобы повысить продуктивность менеджеров и структурировать хранение информации о клиентах, заказчик пришел к нам за помощью. 

Задачи

Нужно было разработать продукт для учета заявок по предоставлению компании банковских услуг. Для этого перед нами стояло несколько главных задач: 

  • Автоматизация работы с клиентскими документами, а также их структурированное хранение;
  • Получение нужной информации о любой компании;
  • Учет заявок, принятие решений о предоставлении банковской услуги клиенту;
  • Привлечение агентов, расширяющих клиентуру банка.

Для выполнения этих задач нужно было реализовать динамическую архитектуру управления полями документов, добавить возможность распознавать документы бухгалтерской отчетности, дорабатывать сторонние библиотеки по работе с excel документами. Также нужно было реализовать собственный API (REST) и интегрировать со сторонними API для манипуляций со сделкой в рамках бизнес-процесса. 

Решение

Сначала автоматизировали сбор документов, чтобы освободить от трудоемкой работы менеджеров. Например, бывает так, что один и тот же клиент несколько раз выигрывает тендер. Тогда нет смысла заполнять каждый раз его данные заново. 

Наша команда помогла FCS создать процесс, который сохраняет всю информацию по клиенту, если хотя бы один раз он уже попадал в базу. Статичные данные, которые хранятся в системе, теперь не нужно постоянно вводить вручную. Менеджеру остается только внести динамические данные по его финансовой отчетности. 

Документы теперь генерируются автоматически, то есть не нужно менеджеру самому заполнять форму. Система делает запросы внешним поставщикам, получает данные и сохраняет их у себя. Эти же данные в итоге автоматически поставляются в документ.

Функционал

Главный функционал системы — комплекс инструментов для оформления и рассмотрения заявок на получение банковской гарантии. Этот процесс включал в себя заполнение менеджером или агентом многошаговой анкеты, куда вносились данные о клиенте, тендере, банке-гаранте и деталях сделки. На одном из этапов система формировала Excel-документ с консолидированной информацией и вычисляемым скоринговым показателем. На его основе банк оценивал целесообразность и риски работы с клиентом. 

Изображение статьи

В системе два основных типа пользователей — менеджеры или агенты с одной стороны, и представители банков с другой. Менеджер начинает свой рабочий процесс со сбора нужной информации. Затем отправляет сформированный пакет документов, включая сформированный Excel-файл, в банк. Представитель банка заходит в систему, проверяет полученный пакет документов и принимает решение об одобрении или отклонении заявки. Банк направляет свое решение менеджеру через систему. Так, система обеспечивает коммуникацию и обмен документами между менеджерами/агентами, формирующими заявки, и банками, которые проводят их рассмотрение.

Наша команда постоянно дорабатывала функционал, изменяла бизнес-процесс добавлением новых этапов, источников данных для проверок, условий и правил рассмотрения в разных сценариях.

MVP

В минимально жизнеспособной версии продукта реализовали главный бизнес-процесс. Пользователи имели доступ к «карусели тендеров», где менеджеры могли выбирать тендеры, указывать клиентов, заказчиков и бенефициаров. 

Центральным элементом MVP была сложная многоуровневая анкета с разными типами полей, разделенная на блоки для информации о клиенте и деталей сделки. 

Изображение статьи

Также на этом этапе реализовали генерацию документов. После запуска продукта клиент собирал обратную связь от банков-пользователей для дальнейшей доработки и расширения функциональности системы. Первоначально MVP была разработана на jQuery с использованием Bootstrap.

Актуальный функционал

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

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

Личный кабинет агента

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

В начале личный кабинет выглядел следующим образом: 

Изображение статьи
Изображение статьи

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

Изображение статьи

Также ввели в систему понятие отделов в банке. Заявка теперь не просто поступала в банк сотруднику, а направлялась в отдел с группой сотрудников. Реализовали процесс, при котором каждому сотруднику отдела нужно было согласовать заявку, и только после этого она переходила на следующий этап. Затем расширили сам бизнес-процесс работы с заявкой внутри банка и усложнили базовый функционал. Для этого добавили новые шаги утверждения, возможность возврата заявки менеджеру/агенту и другие опции.

Затем серьезно доработали сам бизнес-процесс рассмотрения заявок банками. Добавили новые этапы, возврат на предыдущие стадии, усложнили процедуры утверждения со стороны разных должностных лиц и подразделений внутри банка.

Сделки

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

Во время создания сделки менеджер вводил  данные о компании, тендере и другие релевантные сведения в многоэтапной форме. Затем система проводила проверку корректности введенных параметров для допуска возможности создания сделки. Если проверки проходили успешно, формировалась новая сделка.

Изображение статьи

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

После заполнения «малой анкеты» с базовыми сведениями запускались процессы проверок по компании, определялся банковский продукт с типом документов, полями расширенной анкеты и применяемым тарифом. 

 Если продукт был успешно определен, менеджер переходил на детальную страницу сделки для заполнения оставшихся полей анкеты в любом порядке. После внесения всех данных он мог отправить сделку в соответствующий банк нажатием кнопки. Система проводила финальную валидацию и, если все данные были корректны, отправляла сформированную сделку в конкретный банк через интеграцию с его API.

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

Разработка API

Позже мы поняли, что хотим упростить работу. Для этого реализовали двустороннее взаимодействие между системами. Изначально в системе отсутствовала какая-либо интеграция по API со сторонними банками. Существовал один экземпляр системы, которой пользовались внутри сети. При подключении нового банка, его сотрудники авторизовывались в личном кабинете поставщика и обрабатывали заявки, которые приходили им от менеджеров и их агентов.

Весь бизнес-процесс по заявкам осуществлялся в рамках одной системы: менеджеры создавали заявки, прикрепляли нужные документы, заполняли анкету и отправляли заявку на рассмотрение сотруднику банка. Тот авторизовывался в этой же системе и принимал решение о предоставлении услуги в рамках заявки.

В результате выпуска релиза появилась возможность «распределения» систем между менеджерами компании, менеджерами банков и поставщиками банков. 

С появлением FCS API процесс подключения нового банка упростился. Это дает несколько преимуществ. Во-первых, безопасность. Для банков важно, чтобы информация (документы, анкета, стоп-факторы, скоринг) хранилась на их серверах. До выпуска релиза все данные хранились на серверах клиента. Во-вторых, в большинстве случаев у банков уже существует определенная система хранения данных по сделкам. До выпуска релиза продолжать вести учет сделок в их системах было невозможно. Сейчас, благодаря API, банки могут это делать.

Регистрация сделки в нескольких банках

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

Возникают ситуации, при которых нужно создать сделку и отправить ее сразу в несколько банков. У каждого из них свои требования к полям анкеты и документам, которые нужно предоставить. Однако большая часть этих данных «пересекается». Менеджеру / агенту приходится заполнять одни и те же данные для нескольких банков. Релиз помогает собирать и отображать информацию из документов, которую нужно отправить в банки, в одном месте. Это экономит время сотрудников на создание заявок в каждый банк.

Оптимизация воронки продаж

Далее оптимизировали воронки продаж. Во время создания сделки происходит ее регистрация по API у удаленного поставщика, а также в системе менеджера. Однако, решение о целесообразности дальнейшей работы с клиентом производится после создания сделки на одном из этапов бизнес-процесса. В большинстве случаев сделка отменяется, поскольку скоринг по клиенту не проходит.

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

Материнская система

Материнская система — ядро, которое разрабатывалось с самого начала работы над проектом. В итоге стало монолитом, в котором был зашит весь функционал системы.

В материнской системе (монолите) дизайн остался прежним (Jquery + Bootstrap). Дизайн меняли только для отдельных сервисов, например, агентского кабинета. Вся функциональность была распределена по компонентам с использованием архитектурного подхода, ориентированного на пользовательский интерфейс (UGS - User Guided System). Разработчики создавали отдельные компоненты, которые затем интегрировались в единую систему.

Материнская система стала своего рода базовой платформой, объединившей в себе функционал личного кабинета агента и других компонентов проекта. Предполагалось, что на ее основе будут строиться дальнейшие обновления и развитие приложения в будущем.

Ограничения

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

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

Еще одной проблемой было несоответствие фактических трудозатрат первоначальным оценкам. Когда в проект были вовлечены банки-заказчики и добавились новые требования со стороны третьих лиц, точно спрогнозировать объем работ становилось крайне сложно. 

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

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

Нестандартные задачи

В ходе разработки приложения команде пришлось столкнуться с рядом нетривиальных задач. Одной из них была переработка библиотеки PhpExcel для поддержки работы с формулами. Изначально система не умела обрабатывать сложные формулы, поэтому было принято решение серьезно доработать функционал. Кастомизировали библиотеку PHPExcel для корректной обработки формул в Excel-документах разных форматов. Помимо банковских гарантий, в системе автоматизировались схожие процессы предоставления других услуг, например, кредитов и прочего с использованием соответствующих шаблонов.

Другой непростой задачей стала реализация системы распознавания документов. Мы переписали ее с нуля, используя библиотеки на Python, которые позволяли эффективно считывать данные из документов различных форматов. Предыдущая реализация, созданная сторонними разработчиками, перестала справляться с возросшими требованиями. 

Еще одной значимой доработкой стал перенос сервиса контрактов на MongoDB. Ключевой причиной миграции была необходимость парсить документы с динамической структурой полей, что в реляционных СУБД вызывало трудности. Нереляционная MongoDB позволила гибко сохранять данные с произвольным составом полей.

Далее команда реализовала парсинг данных с внешних ресурсов, у которых отсутствовало API. Для эмуляции взаимодействия с веб-интерфейсом использовали библиотеку, имитирующую действия браузера.

Интеграции с внешними сервисами

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

Парсинг данных из ЕИС Закупки

У нас был отдельный «Сервис контрактов», который парсил XML контракты. Подробнее про парсинг данных через MongoDB рассказывали немного ранее, но уточним, зачем нужна такая интеграция. Парсинг данных через ЕИС закупки предназначен для сбора и анализа информации о государственных закупках. 

Интеграция с ФИАС

Сервис предоставляет доступ к Федеральной информационной адресной системе (ФИАС), которая содержит официальную информацию об адресах объектов недвижимости в России. У нас использовался на этапе определения продукта, то есть скоринге.

Интеграция с КриптоПро ЭЦП

Предназначен для создания и проверки электронных цифровых подписей (ЭЦП) в соответствии с российскими стандартами криптографии. Аутентификация по ЭЦП происходила в ЛК агента. Об этом подробнее рассказали в разделе «Личный кабинет агента». Авторизация посетителей с помощью электронных подписей CryptoPro стала нашим индивидуальным решением, о чем также отдельно рассказали в разделе «Индивидуальные решения». 

Интеграция с НБКИ

NBKI — национальное бюро кредитных историй. Предоставляет информацию о кредитной истории физических и юридических лиц в России. Использовался на этапе определения продукта (скоринг).

Интеграция с Федеральной миграционной службой

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

Интеграция с Федеральной службой по финансовому мониторингу

Сайт Федеральной службы по финансовому мониторингу (ФСФМ), которая занимается контролем и анализом финансовых операций для предотвращения легализации доходов, полученных преступным путем, и финансирования терроризма. Также использовали на этапе скоринга.

Интеграция с Контур.Фокус

Предоставляет возможность проверить компанию, физлицо и ИП. Предоставит информацию о более 15 миллионах российских и зарубежных организациях. У нас использовался на этапе определения продукта (скоринг), а также в анкете при подгрузке данных.

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

Индивидуальные решения

В рамках проекта были реализованы индивидуальные решения для удовлетворения различных требований заказчика и интеграции со сторонними системами.

Одной из таких разработок стала реализация авторизации пользователей с использованием электронных подписей CryptoPro. Функционал позволял клиентам осуществлять вход в личный кабинет посредством флеш-накопителя с цифровым ключом. Команда интегрировала предоставленные библиотеки CryptoPro для обработки электронных подписей.

Доработали функционал для работы с документами формата XLS и XML. Разработчики взяли за основу библиотеку PHPExcel и расширили ее возможности в соответствии с потребностями проекта.   

Также создали собственную реализацию сервиса морфологии для поддержки склонения слов по падежам и числам в анкетных формах.

Еще одним индивидуальное решение — сервис для вставки данных в шаблоны документов в формате DOCX. Разработанная система позволяла подставлять нужные значения в заранее заготовленные шаблоны с заполнителями.

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

Результат

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

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

Что это дало заказчику

Проект помог увеличить количество успешных сделок по предоставлению банковских услуг. Клиент получил полноценную систему для учета заявок по предоставлению компаниям банковских услуг. FCS CRM позволила компании масштабировать бизнес и значительно снизить операционные издержки.

Заключение

Проект по созданию системы FCS CRM позволил компании FCS Госгарант существенно улучшить процессы взаимодействия с клиентами и банками-партнерами при оформлении банковских гарантий. Автоматизация сбора данных, формирование документов и согласование решений обеспечили ускорение обработки заявок и снижение операционных издержек. 

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

Внедрение FCS CRM открыло новые возможности для роста бизнеса по выдаче банковских гарантий за счет повышения производительности, снижения рисков и расширения взаимодействия с многочисленными банками-партнерами. В результате, компания-заказчик значительно увеличила количество успешных сделок и прибыль.

308
20

Другие статьи

Ко всем статьям
Фоновое изображение: четверть круга закрыват часть круга

Интересные статьи и кейсы
от Work Solutions

Нажимая кнопку «Подписаться», я даю согласие на обработку персональных данных

Спасибо за подписку!

Фоновое изображение: верхний полукруг