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
Сверка с МойСкладом (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>
3.3 KiB
3.3 KiB
Модуль «Деньги» (простой режим) — прогресс
Старт: 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 и меню (раздел «Деньги», блок оплаты в приёмке, 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-рендер нужен).