Розробка мобільного додатка для узгодження документів
Рахунок постачальнику лежить на узгодженні у директора три дні — він у командировці, не перевіряє пошту. Постачальник виставив штрафи. Мобільний додаток для узгодження документів — це не «зручний інтерфейс», це прискорення грошового потоку компанії.
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) достатня для внутрішнього узгодження та відповідає вимогам при наявності угоди сторін.
Інтеграції
1С:Документообіг — SOAP API або пряме підключення до БД. SAP, SharePoint, Бітрікс24 — REST API. Інтеграція дозволяє ініціювати з знайомого корпоративного інструменту, мобільний додаток — тільки для сповіщень та швидких дій.
Терміни
| Масштаб | Термін |
|---|---|
| MVP: узгодження, push, перегляд PDF | 8–10 тижнів |
| + Умовні маршрути, еськалація, історія | 14–18 тижнів |
| + Інтеграція з 1С/SAP, КЕП | +6–10 тижнів |







