[EPIC-INV-001] Procurement & Receipt Parsing Engine

Управление закупками, фиксация цен и оркестрация асинхронного разбора чеков ОФД

Author

Inventory Domain Lead / Backend Architect

Published

July 13, 2026

NoteКраткая карточка эпика
  • Эпик: (EPIC-INV-001)
  • Компоненты: shop-engine, Kafka (KRaft), Mobile App (Button: 1. Shop), Shop_db
  • Статус: Готово к реализации
  • Направление связи: Клиент \(\rightarrow\) S3 Upload \(\rightarrow\) Kafka (bpds.inventory.in.receipt.upload)

Бизнес-контекст и цель (Business Context)

Эпик изолирует финансово-номенклатурную сторону закупок. При сканировании чека приложение загружает медиа-файл в S3 и шлет легковесную команду со ссылкой в Kafka. ИИ-воркер возвращает структурированный JSON, который shop-engine сохраняет в Shop_db (база цен) и передает дальше на склад для постановки партий на баланс.

Список атомарных задач:

  • [Migrations] Схема истории покупок [Метод 1]: Создание таблиц чеков, сырых позиций и исторических цен магазинов (001_init_shop_engine.sql).
  • [Backend] Эмиттер загрузки чека [Метод 2]: Реализация эндпоинта отправки ссылки на файл чека из S3 в топик bpds.inventory.in.receipt.upload (receipt_upload_producer.py).
  • [Backend] Приемник распознанных чеков [Метод 3]: Консьюмер топика bpds.inventory.out.receipt.parsed для сохранения структуры чека и цен (receipt_parsed_consumer.py).
  • [Frontend] Экран Покупок (Shop) [Экран 1]: Реализация интерфейса кнопки 1. Shop с камерой для сканирования QR/чеков и отображения списка цен (shop_screen.dart).