--- компонент: Чешуйка «Выплаты и бонусы» статус: черновик v1 обновлено: 2026-09-11 имя во вселенной: Казна (предложено) агент: T1 «Финансовый бот» (уже в каноне: «зарплата без тумана») поверхность: карман (главный дом) · артефакт (фонд по отделу, только руководителю) связано: [[chesuyka]] · [[cheshuyka-tasks]] — бонус за задачу · Реферальная программа · Программа вознаграждений --- # Казна · Выплаты и бонусы Зарплата без тумана: выплаты дважды в месяц, и каждая сумма разобрана — вот фикс, вот бонусы, и за что каждый: лид, задание, буст задачи. Аналитика по месяцам и за год. «Деньги перестали быть загадкой — понятно, что делать, чтобы цифра росла». ## Имя: Казна В каноне это **T1 «Финансовый бот»** — Алина «в козырьке банкира». Чешуйка под ним имени не имела. **Казна** — одно слово, про место, где считают честно. Запасные: **Кошелёк** (слишком личное), **Счётная** (канцелярит). ## Что реально есть | | | |---|---| | Канон T1 | выплаты **15-го и в конце месяца**; фикс + бонусы; бонусы за **лид**, **задание**, **буст задачи**; аналитика по месяцам и году | | Источники бонусов в каноне | Реферальная программа (лид → сделка → доля), Программа вознаграждений (квест выполнен), Задачи («поставить бонусы на чужую задачу», T6) | | Зарплатные данные в Б24 | нет | **Вывод:** Казна — **источник истины по начислениям**, а факты выплат приходят из бухгалтерии. Бонусы Казна **не придумывает** — их присылают соседние чешуйки, каждая со ссылкой на своё основание. --- ## Модель: книга с источником Главный принцип — **у каждой копейки есть источник**. Спорить не о чем. | Сущность | Поля | |---|---| | `entry` | человек · тип: фикс / бонус / удержание / выплата · сумма · период · **источник**: чешуйка + сущность (сделка, квест, задача) · статус: начислено → к выплате → выплачено · дата | | `period` | половина месяца: 1–15, 16–конец; закрыт / открыт | | `rate` | ставка человека: оклад, правила бонусов (SSI) | | `bounty` | бонус, поставленный на задачу: кто поставил, сколько, условие, кому ушло | | `payout` | факт выплаты: дата, сумма, чем закрыл (список `entry`) | ## Откуда приходят начисления | Источник | Что присылает | Основание | |---|---|---| | **Реферальная программа** | доля с платящего клиента | сделка, платёж | | **Программа вознаграждений** | бонус за квест | квест, подтверждение | | **Задачи** | бонус за выполнение задачи с bounty; bounty ставит коллега или руководитель | задача, кто поставил | | **Штиль** | дни отсутствия для расчёта, если фикс зависит | период | | SSI | фикс | ставка | Начисление, у которого нет источника, — ошибка данных, а не «ручная премия». Ручная премия тоже сущность: источник — «решение руководителя», с автором. ## Bounty — бонус на чужую задачу Из выпуска №4: «зачем ставить бонусы на чужую задачу — честный рынок приоритетов». Это связка с **Задачами**: поднятие приоритета может нести сумму. Тогда: 1. коллега ставит bounty на задачу → в Задачах она поднимается, в Казне резервируется сумма; 2. задача закрыта → bounty уходит исполнителю как `entry` с источником «задача N, поставил K»; 3. задача отменена → резерв снимается. Откуда деньги на bounty — из личного фонда человека или фонда отдела — настройка. ## Периоды и выплаты Период закрывается 15-го и в последний день месяца. При закрытии Казна формирует **ведомость** для бухгалтерии: человек, фикс, бонусы списком с источниками, итого. Факт выплаты возвращается в Казну (импорт или рукой) и закрывает `entry`. Человек в кармане видит: **начислено за период · к выплате · выплачено**, и по каждой строке — откуда. ## Аналитика По месяцам и за год: сколько заработал, доля бонусов, какие источники растут. Это то, что делает цифру понятной: «чтобы вырасти — больше лидов, а не больше квестов». --- ## Экраны - **Карман (главный дом):** «Мой период» — к выплате, разбивка, лента начислений с источниками; «Год» — график по месяцам. - **Артефакт в папке отдела (только руководителю):** фонд отдела, кто сколько, bounty в резерве, ведомость на закрытие периода. - **Док у чата:** нет. Деньги у клиентского чата не показываются. - **Рейл:** нет — модуль в рейле видят все участники, а это самые чувствительные данные в компании. ## Компоненты — React + shadcn/ui | Компонент | shadcn | Заметка | |---|---|---| | `PeriodSummary` | `Card` + крупные числа `tabular-nums` | | | `EntryList` | `Accordion` (карман) / `Table` (артефакт) | у каждой строки — ссылка на источник | | `SourceBadge` | `Badge` вариант по чешуйке | цвет источника | | `YearChart` | `Chart` (recharts через shadcn) | по месяцам, фикс/бонус | | `BountyDialog` | `Sheet` + `Input` + `Select`(фонд) | из Задач | | `Statement` | `Table` + `Button`(экспорт) | только артефакт | ## MCP-инструменты `my_period` · `my_entries` · `my_year` · `post_accrual` (для соседних чешуек, с источником — обязателен) · `place_bounty` · `release_bounty` · `close_period` · `record_payout` · `statement` · `request_feature`. Агент может **показать** и **объяснить**; начислять — только чешуйка-источник или руководитель. ## SSI | Группа | Поля | |---|---| | Ставки | оклад по людям, валюта | | Периоды | даты выплат (по умолчанию 15 и конец), часовой пояс | | Правила бонусов | доля с реферала, суммы за квесты, лимиты bounty | | Фонды | личный / отдела, лимиты | | Бухгалтерия | формат ведомости, куда отдавать, как возвращается факт | | Видимость | руководитель видит отдел; бухгалтер — ведомости; остальные — только себя | ## Права - Свои — только себе. Отдел — руководителю. Ведомости — бухгалтеру. **Никаких общих экранов.** - Не в рейле и не в общем модуле: ядро не ограничивает видимость, а модуль видят все. Только карман (личность из сессии) и папка с правами. - Каждое чтение чужих данных — в лог. ## Чек-лист - [ ] у каждого начисления есть источник и сущность-основание - [ ] ручная премия — тоже с автором - [ ] bounty связан с Задачами: резерв → выплата → снятие - [ ] период закрывается ведомостью, факт выплаты возвращается - [ ] карман показывает «откуда» по каждой строке - [ ] ни одного общего экрана; рейл выключен - [ ] чтения чужих данных логируются ## Где обычно ломается 1. **Начисление без источника** — первая же «а за что это?» без ответа убивает доверие. 2. **Деньги в модуле рейла** — их видят все участники. 3. **Bounty без резерва** — обещали, а фонда нет. 4. **Ведомость руками** — расходится с Казной, два источника правды. 5. **Бонусы считает сама Казна** — дублирует логику Рефералки и Программы вознаграждений. ## Источники - Канон: выпуск №4, кадр 2 «Финансовый бот», досье T1; T6 «поставить бонусы на чужую задачу» - [Задачи](manifest-cheshuyka-tasks.md) — boost / bounty · [Штиль](manifest-cheshuyka-shtil.md) --- _Источник: `cobra-components/cheshuyka-kazna.md` в репозитории audio-talks. Эта копия обновляется скриптом `sync-components.mjs` — правки вносить в источник, не здесь._