food-market/docs/money-module-progress.md
nns a25b5b3277
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 API / Build + push API (push) Waiting to run
Docker API / Deploy API on stage (push) Blocked by required conditions
feat(money): бэкенд модуля «Деньги» для простого режима (пп.0–6)
Сверка с МойСкладом (docs/money-moysklad-reference.md) + домен/инфра/API:

- Счета и кассы (MoneyAccount: Cash/Safe/Bank/Acquiring, начальный остаток,
  привязка к магазину, IsDefault/IsActive, инвариант CurrentBalance).
- Денежные документы (MoneyTransaction: PaymentIn/Out, CashIn/Out, переводы
  парой TransferOut↔TransferIn; статьи расходов ExpenseItem; проведение/отмена
  в Serializable-транзакции через MoneyService).
- Оплата поставщикам: Supply/SupplierReturn.PayedSum + MoneyTransactionLink,
  SuppliesController отдаёт PaymentStatus + фильтр paymentStatus.
- Взаиморасчёты: CounterpartyAdjustment + MoneyReportsController.SupplierDebts.
- Смены кассы: CashShift + CashDrawerOperation (open/close, expected↔actual,
  Z-отчёт), запрет розничной продажи без открытой смены в RetailSalesController.
- Отчёт «Деньги»: balances/movement с проверкой инварианта остатков.

Права: RolePermissions +MoneyView/MoneyEdit/CashShiftOperate; сидер раздаёт
кассиру CashShiftOperate+MoneyView, кладовщику — нет; 5 системных статей
расходов на новую орг. Миграция Phase33a (ручная, с [Migration]+[DbContext]).

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

50 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Модуль «Деньги» (простой режим) — прогресс
**Старт:** 2026-10-07.
**Решение владельца от 07.10.2026:** собрать базовый финансовый контур
в простом режиме (счета, кассовые/безналичные движения, оплата приёмок,
долги поставщикам, смены кассы, отчёт «Деньги»).
## Чек-лист
- [x] **0. Сверка с МойСкладом** → `docs/money-moysklad-reference.md`
- [x] **1. Счета и кассы** (тип: касса / сейф / банк, начальный остаток,
магазин, активный флаг; поддержка нескольких банковских счетов на магазин;
счёт эквайринга) — domain + миграция, сидер статей расходов
- [x] **2. Денежные документы** (PaymentIn/Out, CashIn/Out, Transfer между
своими счетами; статьи расходов; проведение/отмена; аудит) — MoneyService
с Serializable-транзакциями, controllers `MoneyTransactionsController` +
`ExpenseItemsController`
- [x] **3. Оплата поставщикам** (платёж ↔ приёмки/возвраты с распределением,
payedSum на приёмке, статус оплаты, кнопка «Оплатить» из приёмки,
частичная оплата) — колонка `PayedSum`, `MoneyTransactionLink`,
`SuppliesController` отдаёт `PaymentStatus` + фильтр
- [x] **4. Взаиморасчёты (долги поставщикам)** (отчёт, корректировки,
самая старая неоплаченная дата) — `CounterpartyAdjustmentsController`,
`MoneyReportsController.SupplierDebts`
- [x] **5. Смены кассы** (open/close, внесения/выплаты, «должно быть ↔ по факту»,
Z-отчёт, запрет продажи без смены) — `CashShiftsController`, Z-отчёт
в `/shifts/{id}/report`, проверка в `RetailSalesController.PostCoreAsync`
- [x] **6. Отчёт «Деньги»** (остатки по счетам, движение за период,
инвариант остатков) — `MoneyReportsController.Balances`/`Movement`
- [ ] **7. UI и меню** (раздел «Деньги», блок оплаты в приёмке,
mobile-first, права кассир/кладовщик/админ)
- [ ] **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-рендер нужен).