Журнал транзакций

Единый список всех финансовых операций (продажи + возвраты) по всем каналам (касса, Я.Еда, Маркет Деливери). Служит для оперативного просмотра и сверки.

Файл

erp-admin/web/src/pages/transactions/TransactionJournalPage.tsx

Роут

/transactions — видимость по permission orders.read.

Доступ

РольДоступ
FranchiseВсе транзакции франшизы
FranchiseeСвои ТТ
ManagerСвоя ТТ
Cashier403

Layout

Фильтры в шапке:

ФильтрТипОпции
ПериодpresetСегодня / 7 дней / 30 дней / Всё
ТТselectМультивыбор, по scope
КаналselectКасса (INTERNAL) / Я.Еда / Маркет Деливери

Сверху — сводка по фильтру:

  • Общая выручка
  • Общая сумма возвратов
  • Нетто (выручка − возвраты)

Таблица транзакций:

КолонкаСодержимое
Дата/времяcreated_at
ТипПродажа / Возврат (бейдж)
КаналКасса / Я.Еда / МД
Номер заказаorder_number (ссылка → OrderDetailPage)
ТТНазвание
Метод оплатыcash / card / qr / mixed
Суммаdecimal

Поведение

  • Клик по номеру заказа → переход на /orders/{id} (история или активный).
  • Сортировка по дате (по умолчанию — сначала новые).
  • Пагинация (per_page=50 по умолчанию).

Источник данных

Фронт объединяет две выдачи в один список (клиентская склейка):

  • Продажи: GET /api/v1/admin/orders?status=closed&...
  • Возвраты: GET /api/v1/admin/refunds?...

Отсутствующий endpoint

Ранее предполагался единый endpoint GET /api/v1/admin/transactions, но в Order Service он не реализован (возвращает 404). Сейчас фронт сам собирает данные из двух источников и склеивает.

Что НЕ реализовано

  • Фильтр по методу оплаты.
  • Фильтр по кассиру.
  • Экспорт выборки в CSV / Excel.
  • Группировка по сменам.
  • Клик по сумме возврата → детальная карточка возврата.

Ссылки