Разработка мобильного приложения для согласования документов
Счёт на оплату поставщику лежит на согласовании у директора три дня — он в командировке, не проверяет почту. Поставщик выставил пени. Мобильное приложение для согласования документов — это не «удобный интерфейс», это ускорение денежного потока компании.
Push-уведомления как движок workflow
Документ попал в цепочку согласования → каждый согласующий получает push в момент, когда очередь доходит до него. Не email через час, не утреннее письмо — немедленный push с priority: high.
Действия прямо из уведомления (iOS Notification Actions / Android Notification Actions):
- «Согласовать» — без открытия приложения, с биометрической подписью
- «Отклонить» — открывает поле ввода причины
- «Открыть» — полный просмотр документа
На iOS это UNNotificationAction с опцией UNNotificationActionOptions.authenticationRequired — система запрашивает Face ID/Touch ID перед выполнением действия «Согласовать». Юридически это не квалифицированная электронная подпись, но для внутреннего документооборота достаточно.
При истечении времени ожидания (настраивается: 4 часа, 8 часов, 1 рабочий день) — push-напоминание согласующему и уведомление инициатору «Ожидает согласования более 8 часов».
Эскалация: если документ не согласован за N часов — автоматически уведомляется руководитель согласующего. Это реализуется через Bull Queue с delayed jobs, которые отменяются при поступлении действия от пользователя.
Типы маршрутов согласования
Последовательный: юрист → финансовый директор → генеральный директор. Каждый следующий получает уведомление только после действия предыдущего.
Параллельный: бухгалтер + юрист одновременно, затем директор. Push всем участникам параллельного шага сразу, следующий шаг стартует когда все согласовали.
Условный: если сумма >1 млн ₽ — добавляется шаг согласования с советом директоров. Логика условий в маршруте описывается в конфигурации (JSON-правила), не в коде — чтобы бизнес мог менять маршруты без деплоя.
Просмотр документов в приложении
PDF-рендеринг на мобильном — специфичная задача. На iOS есть нативный PDFKit (работает отлично). На Android — PdfRenderer (базовый) или сторонний AndroidPdfViewer.
На Flutter кросс-платформенно: flutter_pdfview или syncfusion_flutter_pdfviewer. Последний платный, но поддерживает аннотации — нужны для пометок при отклонении.
Документы хранятся в S3, ссылки presigned с TTL 30 минут. Версионирование документов — S3 Versioning или ручная версия в БД. При отклонении и повторной отправке создаётся новая версия, история сохраняется.
Документы размером >10 MB — streaming рендеринг, не загружаем целиком перед показом. syncfusion_flutter_pdfviewer поддерживает это из коробки через URL.
Электронная подпись
Для юридически значимого документооборота нужна КЭП (квалифицированная электронная подпись). Это отдельная интеграция с удостоверяющими центрами или СБИС/Диадок.
Простая электронная подпись (логин + действие в приложении + timestamp + IP) достаточна для внутреннего согласования и соответствует требованиям 63-ФЗ при наличии соглашения сторон.
Интеграции
1С:Документооборот — SOAP API или прямое подключение к базе (если одна компания). SAP, SharePoint, Битрикс24 — REST API. Интеграция позволяет инициировать согласование из привычного корпоративного инструмента, а мобильное приложение — только для получения уведомлений и быстрых действий.
Сроки
| Масштаб | Срок |
|---|---|
| MVP: согласование, push, просмотр PDF | 8–10 недель |
| + Условные маршруты, эскалация, история | 14–18 недель |
| + Интеграция с 1С/SAP, КЭП | +6–10 недель |







