Телеграм-бот
«Домашние финансы»
Техническое задание для создания инновационного инструмента управления личными финансами
Мгновенный ввод
Распознавание текста, фото чеков и голосовых сообщений
Аналитика
Детальные отчеты, бюджеты и финансовые рекомендации
Безопасность
Шифрование данных, приватность и контроль доступа
1. Введение и Цели Проекта
1.1. Цель Проекта
Основная цель — предоставить пользователю максимально простой и быстрый способ учета личных финансов. Процесс внесения расхода или дохода должен занимать не более 10-15 секунд и не требовать открытия сложных таблиц или сторонних приложений.
Пользователь может записать транзакцию:
- Текстовым сообщением
- Голосовым сообщением
- Фотографией чека или скриншота
1.2. Ожидаемый Результат
Быстрый ввод транзакций
Автоматическое распознавание суммы, категории и кошелька из текста, фото или голоса
Аккуратная база данных
Структурированное хранение транзакций с привязкой к категориям и кошелькам
Управление кошельками
Создание и управление персональными кошельками и категориями
Функция бюджетирования
Установка бюджетов по категориям с отслеживанием выполнения
Генерация отчетов
Сводки расходов и доходов за день, неделю или месяц в один клик
Экспорт данных
Поддержка экспорта в CSV или Google Sheets
2. Основные Пользовательские Сценарии (MVP)
2.1. Быстрый Ввод Текста
Пользователь отправляет текстовое сообщение, описывающее транзакцию. Бот автоматически распознает параметры:
Пример сообщения:
"Перевела няне 3000, наличными"
2.2. Ввод через Фото/Скрин
Пользователь отправляет фото чека или скриншот перевода. Бот использует OCR для извлечения данных:
1. Отправка фото
Пользователь делает фото чека
2. OCR распознавание
Бот извлекает сумму, дату, магазин
3. Подтверждение
Пользователь проверяет данные
Пример ответа бота:
"Нашла: Перекрёсток, 1 980 ₽, 27.08 12:41. Категория: Еда? [Да/Нет]"
2.3. Ввод через Голос/Аудио
Пользователь отправляет голосовое сообщение. Бот преобразует его в текст и обрабатывает:
Пример:
"заплатила за чай 250, нал" → Expense, Еда/кафе, 250 ₽
3. Каналы Ввода и Парсинг
3.1. Парсинг Текстовых Сообщений
Извлечение Суммы
Гибкое распознавание различных форматов сумм:
Определение Категории
Словарь синонимов для точного определения категории:
Определение Кошелька
Ключевые слова для определения источника средств:
Парсинг Даты и Времени
Поддержка различных форматов временных меток:
3.2. Обработка Фото и Скриншотов (OCR)
Вариант 1: Внешнее API
- Google Cloud Vision
- Mindee - специализация на чеках
- Высокая точность (до 95%)
- Зависимость от внешних сервисов
Вариант 2: Локальная обработка
- Tesseract OCR + OpenCV
- Полный контроль над процессом
- Бесплатное решение
- Более сложная настройка
Извлекаемые поля:
4. Команды и Быстрые Фразы
Основные Команды
/start Инициализация бота Приветствие, настройка часового пояса и категорий
/help Справка Примеры фраз и инструкции по использованию
/add Добавить транзакцию Мастер пошагового ввода
/report Отчеты Сводка за день, неделю, месяц
Быстрые Фразы-шаблоны
Категория: Еда, Сумма: 1250 ₽, Кошелек: Карта Тинькофф
С указанием даты и времени
Тип: Доход, Категория: Работа/Курсы
5. Диалоги и UX-потоки
Подтверждение Данных перед Сохранением
Перед сохранением каждой транзакции бот предоставляет пользователю карточку для проверки:
Обработка Ошибок и Неполных Данных
Отсутствие суммы
"Не вижу сумму. Добавьте число, пример: 250"
Неполные данные
Предложение выбрать категорию/кошелек из списка
Ошибки OCR
Показ распознанного текста + ручная коррекция
Дубликаты
Предупреждение + показ существующей записи
6. Структура Данных
Ключевые принципы хранения данных:
Таблица `users`
Таблица `wallets`
Таблица `categories`
Таблица `transactions`
Дополнительные таблицы:
- attachments - хранение фото чеков
- budgets - настройки бюджетов
- recurring_rules - правила повторяющихся транзакций
7. Категории и Кошельки по умолчанию
Кошельки
Категории (топ-уровень)
8. Отчеты и Аналитика
Структура Отчета за Период
Топ-5 категорий расходов:
Интеллектуальные Рекомендации
"Подписки: +1 200₽ к прошлому месяцу"
"Еда превышает бюджет на 18%"
"Расходы на 15% ниже среднего"
"Рекомендуется уменьшить расходы на кафе"
9. Бюджеты и Уведомления
Система Бюджетирования
Установка бюджета
"Установи бюджет Еда 25 000/мес" - Выбор категории
- Установка суммы
- Выбор периода
Отслеживание выполнения
Система Уведомлений
"Бюджет на Еда наполовину использован"
"Бюджет на Еда почти исчерпан"
"Бюджет на Еда полностью исчерпан"
Дополнительные настройки:
- Тихие часы
- Периоды: месяц/неделя
- Произвольные периоды
10. Импорт и Экспорт Данных
Экспорт Данных
CSV / XLSX
Экспорт в табличные форматы для анализа в Excel или Google Sheets
date,time,type,amount,currency,wallet,category,merchant,note,source Google Sheets
Создание или обновление документа в Google Sheets с актуальными данными
Notion (опционально)
Экспорт в базу данных Notion для ведения личного финансового журнала
Импорт Данных
CSV из таблиц
Импорт исторических данных из других приложений или таблиц
Парсинг SMS (опционально)
Автоматический импорт транзакций из SMS-уведомлений банков
11. Безопасность и Приватность
Ключевые принципы безопасности:
Шифрование Данных
- Шифрование PII в базе данных
- Замазывание номеров карт в отчетах
- Безопасное хранение API-ключей
Контроль Пользователя
- Команда /delete_me для удаления данных
- Возможность скрытия отчетов
- Удаление фото по запросу
Резервное Копирование
- Ежедневные автоматические бэкапы
- Хранение копий 30 дней
- Возможность восстановления
Логирование и Аудит
- Логирование событий без PII
- Контрольная запись OCR-уверенности
- Журнал доступа и изменений
12. Технологический Стек
Вариант A: No-Code/Low-Code
Основная Платформа: Make.com
Визуальный редактор сценариев для быстрого запуска MVP
- • Watch updates - отслеживание сообщений
- • HTTP - взаимодействие с внешними API
- • Google Sheets - хранение данных
Хранилище: Google Sheets
Простое и доступное решение для MVP
- • Транзакции в строках
- • Отдельные листы для справочников
- • Встроенная интеграция с Make.com
Вариант B: Кодовая Реализация
Асинхронный фреймворк для высокопроизводительного бота
Надежная реляционная база для финансовых данных
Удобная работа с базой данных через Python-классы
Изоляция окружения и простое развертывание
13. Интеграции (v2)
Курсы Валют
Автоматическая конвертация по курсу ЦБ или ExchangeRate
- • Поддержка мультивалютности
- • Конвертация по дате транзакции
- • Отчеты в базовой валюте
SMS/Email Парсинг
Автоматический импорт транзакций из SMS и email-уведомлений
- • Поддержка основных банков
- • Автоматическое распознавание
- • Согласие пользователя
ML-Категоризация
Машинное обучение для улучшенной автоматической категоризации
- • LightGBM / Naive Bayes
- • Обучение на личных данных
- • Повышение точности предсказаний
14. Компоненты Интерфейса Telegram
Интерактивные Элементы
Inline Кнопки
Выбор категории, кошелька, подтверждение
Reply Клавиатура
Быстрые действия и команды
Карточка Транзакции
Подтверждение перед сохранением
Пример Карточки Транзакции
15. Примеры и Тест-кейсы
Примеры Фраз
Тест-кейсы
"Купила кофе" → Запрос суммы у пользователя
"Купила кофе 250 и пирожное 150" → Уточнение, какую записать
pHash + сумма + дата → Показ существующей транзакции
Конфиденция < 0.6 → Обязательное подтверждение вручную
16. Дорожная Карта Развития
Этап 1: MVP (1-2 недели)
Базовый парсинг, ручной выбор категории/кошелька
Распознавание суммы, даты, магазина
Сводки за период, экспорт CSV/Sheets
Критерии приемки MVP:
- • 95% текстовых транзакций сохраняются без ручной правки
- • Время ответа ≤ 2 сек (текст) и ≤ 7 сек (OCR)
- • Экспорт корректно открывается в Google Sheets
- • Отчет "Месяц" совпадает с суммой в БД (погрешность = 0)
Этап 2: Расширенные Функции
Система контроля расходов с оповещениями
Speech-to-Text транскрибация аудио
Общий бюджет для нескольких пользователей
Этап 3: Продвинутые Функции
Машинное обучение для улучшенной автокатегоризации
Автоматическая конвертация по курсу ЦБ
Прямой импорт транзакций по API или SMS
