Мобильное приложение для обработки информации с чеков: сканирование чеков, автоматическое извлечение ключевых параметров, проверка и редактирование данных, категоризация и сохранение документов в корпоративное облако, формирование отчетов. Приложение уменьшает ручную работу при оформлении компенсаций и подготовке бухгалтерских отчетов. Пользователи делятся на 2 роли – сотрудник и офис-менеджер.
Система обеспечивает процессы:
- авторизации;
- просмотра чеков;
- подтверждения чеков;
- распознавания данных из чеков;
- категоризации чеков;
- сохранения чеков в облако;
- просмотра уведомлений;
- анализа стоимости товаров;
- формирования и редактирования отчетов.
Цели
- Сокращение времени на обработку чеков от сотрудников;
- Сокращение времени на формирование отчета для Директора;
- Упрощение процесса передачи данных для компенсации средств.
- Централизовать и автоматизировать хранение и учёт чеков;
- Снизить количество ошибок и ручной рутинной работы при подготовке компенсаций.
Задача
Разработать мобильное приложение, которое:
- предоставляет удобный интерфейс для загрузки фото или PDF-файла чека;
- реализует процесс подтверждения и редактирования чеков офис‑менеджером;
- автоматически распознает набор обязательных и необязательных полей (ИТОГ, дата, ФН/ФД/ФП, ИНН, название магазина, товары и т.д.);
- категоризирует чеки по названию магазина и по ценовому диапазону;
- сохраняет распознанные чеки в корпоративное облако в заданном порядке;
- формирует годовые и месячные отчёты в Google Sheets (расходы по корпоративной карте, компенсации сотрудникам, отчёт для бухгалтера);
- реализует уведомления о статусах и ошибках распознавания.
Решение
Ключевые пункты реализации:
- Клиентская часть. Кроссплатформенное мобильное приложение на Flutter (загрузка фото/файла, просмотр списка чеков, экран подтверждения и детального просмотра чека, редактирование распознанных полей).
- Backend. .NET‑сервис с очередями на RabbitMQ для обработки и распределения задач распознавания/сохранения, логирование через Graylog.
- OCR. Алгоритмический OCR‑модуль, настроенный на распознавание ключевых полей чеков (поле «ИТОГ», ФН/ФД/ФП, ИНН, название магазина, список товаров и цены).
- Категоризация. Правила на основе распознанного названия магазина (определённые категории) и автоматическое назначение ценового диапазона; ручная корректировка офис‑менеджером.
- Архивирование. Сохранение файлов в корпоративное облако по шаблону (Расходы по корпоративной карте / Компенсации сотрудников → год → месяц → чеки).
- Отчёты. Экспорт данных в Google Sheets с установленной структурой по годам и месяцам — отдельные таблицы для корпоративной карты, компенсаций и бухгалтера.
- Уведомления пользователю о подтверждении/отклонении, оповещение после сохранения чека в облако, уведомления о нераспознанных чеках/категориях.
**Как это работает: **
- Сотрудник загружает фото или PDF-файл чека → статус: «Ожидает подтверждение».
- Офис‑менеджер подтверждает или отклоняет чек; при подтверждении чек получает статус «Ожидает обработку».
- Система ставит задачу в очередь на OCR → при успешном распознавании чек получает статус «Распознан», при проблемах — «Не распознан».
- Офис‑менеджер может вручную отредактировать распознанные поля и назначить категорию.
- Распознанные и подтверждённые чеки загружаются в облако и попадают в отчёты.
- Система отправляет уведомления и формирует Google Sheets‑отчёты.
Результат
Централизованное хранение чеков и автоматизация архивации исключает потерю документов и ускоряет поиск нужных подтверждений; Уменьшение ручной работы офис‑менеджера и бухгалтера: автоматическое распознавание и категоризация существенно сокращает время обработки одного чека — в несколько раз по сравнению с полностью ручной обработкой; Формирование отчётов в таблицах экономит время при подготовке данных для директора и бухгалтера; Чёткие роли пользователей и статусы чеков делают процесс прозрачнее и более управляемым: легко отследить, на какой стадии документ, и кто за него отвечает.

