food-market/docs/money-module-progress.md
nns 830cd73ee0
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
feat(money/web): UI раздела «Деньги» — счета, платежи, смены, долги, отчёт (п.7)
- Раздел «Деньги» в sidebar: Отчёт/Счета и кассы/Платежи и ордера/Смены/
  Долги поставщикам. Админ — всё; кассир — только смены; кладовщик — ничего.
- Страницы (src/pages/money/): MoneyAccountsPage, ExpenseItemsPage,
  MoneyTransactionsPage (+ переводы), CashShiftsPage (open/close/внесения/
  выплаты/Z-отчёт), SupplierDebtsPage (+ корректировки), MoneyReportPage
  (остатки + движение за период).
- Приёмка: SupplyPaymentSection (статус/оплачено/остаток + «Оплатить»
  наличными/с банка, частичная оплата); в списке приёмок — колонка и фильтр
  статуса оплаты.
- src/lib/money.ts (enum'ы/DTO/лейблы/lookups), типы SupplyDto/SupplyListRow
  +payedSum/+paymentStatus, роуты в App.tsx, i18n ru/en.

Без AdvancedModeGuard — модуль для простого режима. tsc -b + eslint зелёные.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-07 21:59:32 +05:00

3.7 KiB
Raw Blame History

Модуль «Деньги» (простой режим) — прогресс

Старт: 2026-10-07. Решение владельца от 07.10.2026: собрать базовый финансовый контур в простом режиме (счета, кассовые/безналичные движения, оплата приёмок, долги поставщикам, смены кассы, отчёт «Деньги»).

Чек-лист

  • 0. Сверка с МойСкладом → docs/money-moysklad-reference.md
  • 1. Счета и кассы (тип: касса / сейф / банк, начальный остаток, магазин, активный флаг; поддержка нескольких банковских счетов на магазин; счёт эквайринга) — domain + миграция, сидер статей расходов
  • 2. Денежные документы (PaymentIn/Out, CashIn/Out, Transfer между своими счетами; статьи расходов; проведение/отмена; аудит) — MoneyService с Serializable-транзакциями, controllers MoneyTransactionsController + ExpenseItemsController
  • 3. Оплата поставщикам (платёж ↔ приёмки/возвраты с распределением, payedSum на приёмке, статус оплаты, кнопка «Оплатить» из приёмки, частичная оплата) — колонка PayedSum, MoneyTransactionLink, SuppliesController отдаёт PaymentStatus + фильтр
  • 4. Взаиморасчёты (долги поставщикам) (отчёт, корректировки, самая старая неоплаченная дата) — CounterpartyAdjustmentsController, MoneyReportsController.SupplierDebts
  • 5. Смены кассы (open/close, внесения/выплаты, «должно быть ↔ по факту», Z-отчёт, запрет продажи без смены) — CashShiftsController, Z-отчёт в /shifts/{id}/report, проверка в RetailSalesController.PostCoreAsync
  • 6. Отчёт «Деньги» (остатки по счетам, движение за период, инвариант остатков) — MoneyReportsController.Balances/Movement
  • 7. UI и меню (раздел «Деньги»: Отчёт/Счета/Платежи/Смены/Долги; блок оплаты в приёмке SupplyPaymentSection; колонка+фильтр оплаты в списке приёмок; mobile-first через ListPageShell/Modal; меню: админ — всё, кассир — только смены, кладовщик — ничего (оплаченность видит в приёмке). src/pages/money/*, src/lib/money.ts, роуты в App.tsx, i18n ru/en)
  • 8. Тесты (unit + integration на реальном Postgres + e2e на стенде изнутри сети + меню-прогон watchdog step 9 зелёный)
  • 9. Деплой + документация (~/deploy-stage.sh, docs/money.md)

Границы

НЕ в этом спринте: банк-клиент / выгрузка платёжек, импорт выписок, валюты, зарплата, полный P&L.

Запрещено трогать: прод, shared-postgres, global.json, gateway nginx, соседний проект sklad.

Журнал

2026-10-07

  • Старт. Создан этот прогресс-док. Готовлю docs/money-moysklad-reference.md через headless Playwright (SPA-рендер нужен).