План недели: документ из анкеты, сверка оплат и приёмка интерфейса

Учим платформу собирать документ из ответов человека, которого нет в базе, дожимаем деньги до автоматической сверки и доводим новый интерфейс до приёмки.

План недели: документ из анкеты, сверка оплат и приёмка интерфейса

По понедельникам я рассказываю, что команда взяла в работу и почему выбрали именно это. В Telegram этот пост выходит коротким. Здесь полная версия, с деталями, которые в мессенджер не помещаются.

На этой неделе три направления:

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

Разберём каждое: что делаем, зачем и в каком оно состоянии.

Делопроизводство: документ из анкеты

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

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

В чём разница: здесь человека в базе нет вообще. Он не клиент, он заявитель, и данные надо собрать с него самого: тридцать, сорок, шестьдесят полей, часть из которых повторяется. Это не «ещё один шаблон документа», это другой класс задачи. В мире у него есть название: document assembly. Человек отвечает на вопросы анкеты, из ответов собирается готовый документ.

Разберём по частям: у каждой части своя работа.

Повторяющиеся группы

Мест работы у человека может быть три, а может двенадцать. Позиций в плане закупок: двадцать две. Сейчас задать такое в конструкторе полей нечем: поле либо есть, либо его нет, а «места работы, сколько наберётся» описать невозможно.

Заводим тип поля «группа»: организация, должность, период, и кнопка «+ Добавить место работы» в форме. В документе группа разворачивается сплошной нумерацией. Плюс итоги по группе: «всего оборудования на сумму 70 000 рублей» должно считаться из строк, а не вписываться руками.

Word, а не PDF

Клиент сказал прямо: «корректировки сами будем вносить». Значит, PDF не годится по определению: нужен редактируемый .docx. Сейчас у нас только печать через браузер.

Делаем выгрузку в Word с сохранением таблиц: разобранные формы почти целиком состоят из таблиц, и если они рассыплются при открытии, толку от выгрузки нет.

Проверки перед выдачей

Самая недооценённая часть. Когда мы разобрали присланные клиентом заполненные документы, оказалось, что в двух из трёх итог не сходится с подстроками: расхождение 4 260 рублей в одном и 5 рублей в другом. Причём чистая прибыль в обоих случаях посчитана от правильной суммы. То есть человек считал верно, а в итоговую строку вписал другое число.

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

Считает здесь код, а не ИИ. Числа, суммы, сроки и реквизиты модели не доверяем принципиально.

Персональные данные

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

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

Деньги: оплаты сверяются сами

Второе направление. Здесь важно начать с того, что уже работает, иначе непонятно, что мы вообще доделываем.

Уже есть: из счёта выставляется ссылка на оплату через ЮKassa, клиент платит, и счёт закрывается сам: по уведомлению от платёжного сервиса, без участия менеджера. Это работает сегодня.

Где рвётся: на всём, что приходит не по ссылке. Клиент оплатил по счёту обычным платёжным поручением, и дальше начинается ручная работа: зайти в банк-клиент, выгрузить выписку файлом, загрузить её в платформу, сверить, кто и за что заплатил. Сопоставление платежа со счётом у нас автоматическое, а вот сама выписка приезжает руками. Автоматизировали середину, оставив ручными концы.

Что делаем на этой неделе:

  • банковские выписки по API. Начинаем с Точки: платформа сама забирает движения по счёту и отдаёт их в уже работающее сопоставление. Загрузка файла остаётся как запасной путь, а не как основной способ;
  • второй эквайринг. Добавляем Т-Банк рядом с ЮKassa. Причина не в том, что ЮKassa плоха, а в том, что один провайдер платежей означает зависимость: у бизнеса уже есть свой банк и свои условия, и выбирать их должен он;
  • чеки по 54-ФЗ. Приём оплаты от физлица требует фискального чека. Сейчас его пробивают отдельно, вручную, и это ровно тот шов, где всё разъезжается.

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

Дизайн-система: доводим до приёмки

Третье направление. Последние две недели команда переносила интерфейс «Орбиты» на новую дизайн-систему, и на прошлой неделе доехали последние компоненты. Теперь этап приёмки: пройти экраны один за другим и сверить с эталоном.

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

Что из этого уже видно в платформе:

  • клик по строке реестра открывает быстрый просмотр записи сбоку: не нужно уходить со списка, чтобы посмотреть, что там;
  • открытые записи живут рабочими вкладками, как в редакторе кода;
  • тёмная тема и настраиваемый акцент действуют на всю платформу, а не на отдельных экранах.

Отдельно расскажу про решение, которое приняли сегодня. Эталон предлагал разложить карточку сделки по вкладкам: «Обзор · КП · Документы · Оплаты». Мы от этого отказались. У нас содержимое карточки состоит из блоков, которые сам пользователь перетаскивает и прячет под свою работу, и это рабочая механика, которой пользуются. Ломать её ради вкладочной эстетики мы не стали. Красиво в макете не отменяет работающего у клиента.

Почему именно эти три

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

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

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

Отдельно про сроки. Всё перечисленное стоит в плане на эту неделю. Это план. Часть задач регулярно уезжает вправо, и это нормально. В пятницу покажу, что из этого доехало до релиза, а что переехало, и с чем столкнулись по дороге.

Что должно быть готово к пятнице:

  1. выгрузка документа в редактируемый Word с сохранением таблиц;
  2. повторяющиеся группы полей и итоги по ним;
  3. проверки перед выдачей документа;
  4. банковские выписки по API и автоматическая сверка оплат;
  5. приёмка экранов на новой дизайн-системе.

Анкета участника с публичной ссылкой, второй эквайринг и чеки по 54-ФЗ идут следом за этим списком. Анкета опирается на первые три пункта, а деньги едут через тестовый контур. Обещать это на ту же пятницу было бы нечестно.

А теперь вопрос к вам. Что съедает больше времени: подготовка документов или сверка оплат: кто что оплатил и закрыт ли счёт? Напишите в комментариях к посту: тему с большим спросом разберём отдельно и покажем на живых экранах, как это устроено в «Орбите».