# Справочник схем расчёта переменной части зарплаты Собран по практике российского малого и среднего бизнеса (вендорские материалы iiko, r_keeper, СБИС, 1С, YCLIENTS, отраслевые публикации, вакансии). Назначение — состав блоков конструктора и отраслевые пресеты. Конкретные проценты приведены как ориентир рынка, а не как норматив: в пресетах они лишь значения по умолчанию. ## 1. Обозначения `R` — выручка подразделения, `R_personal` — личные продажи, `H` — часы (в том числе `H_night`, `H_over`, `H_holiday`), `N` — количество единиц, `P` — план, `F` — фонд, `n` — число участников, `w` — вес участника, `G` — гарантия, `pct(x)` — процент как функция показателя. ## 2. Отрасли ### Общепит | Роль | Формула | Ориентир рынка | | ---------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------ | | Официант | `ставка_смены + R_personal × pct + N_позиций_категории × ставка + премия за средний чек` | процент 1,3–5% от личного оборота; допродажа десерта 40 ₽/шт | | Официант, порог | `if(R_personal ≥ порог, R_personal × pct, 0)` | порог включения процента, например 50 000 ₽ | | Повар (командно) | `F × доля_по_времени + ставка_часа × H + надбавка`, `F = R × pct` | фонд 10–11% от выручки | | Повар (личный процент) | `ставка_часа × H + R × pct` | 1–2%, в том числе от конкретной станции | | Бармен | `ставка_смены + R_бара × pct + доля чаевых` | 2–5%; доля в общем котле 20% | | Курьер ресторана | `ставка_часа × H_простоя + Σ(за заказ) × k_спроса` | 50–110 ₽ за доставку либо 3% от заказа | | Администратор | `max(G, R × pct + ставка_часа × H)` | pct 2,5–8%, G около 3000 ₽ за смену | Чаевые как отдельный фонд: официанты 75% поровну, бармен 20%, посудомойка 5%; банкет — кухня 40%, зал 50%, техперсонал 10%. Юридически чаевые от гостя — дарение, не оплата труда. Ориентир по ФОТ: 18–27% от товарооборота, около 32% — операционный ноль. ### Розница и продажи | Схема | Формула | | ----------------------------- | ----------------------------------------------------------------------------------------------- | | Ставка по достигнутому уровню | `оклад + R_personal × tier(R_personal / P, [<80% → 1,75%; <100% → 2,0%; ≥100% → 2,25%])` | | Прогрессивная (послойная) | `оклад + progressive(R_personal, [до 80% плана → 3%; 80–100% → 5%; 100–120% → 7%; выше → 10%])` | | Кассир | `оклад + R_точки × pct` (процент от общих продаж смены) | | Старший смены | `оклад × коэффициент + R_смены × pct + премия KPI` | Разница между двумя первыми схемами на плане 105% — десятки процентов премии; владельцы их регулярно путают. В конструкторе это два разных блока: «шкала» и «прогрессивная шкала». ### Услуги с мастерами | Схема | Формула | Ориентир | | ----------------------------------- | --------------------------------------------------- | ------------------------------------------------- | | Чистый процент | `R_personal × pct(категория)` | 30–35% начинающий, 35–45% средний, 45–55% топ | | Оклад плюс процент на превышение | `оклад + max(0, R_personal − порог) × pct` | оклад 25 000 ₽, порог 60 000 ₽, 40% сверх | | Разный процент по источнику клиента | `сумма(свои) × 50% + сумма(салона) × 35%` | повышение за повторные визиты | | Автосервис, нормо-часы | `Σ нормо-часов × ставка_разряда` | 140 / 180 / 220 ₽ за нормо-час | | Автосервис, превышение плана | `оклад + max(0, н-ч − норма) × ставка` | норма 80 н-ч, 350 ₽ сверх | | Мастер-приёмщик | `max(G, R_приёмки × tier(план) + бонусы) × k_CSI` | шкала 1–2,5%, множитель качества 1,05 / 1,0 / 0,9 | | Клининг, бригада | `сумма_заказа × pct × (часы × КТУ) / Σ(часы × КТУ)` | фонд 30–40% от заказа | ### Доставка и логистика | Роль | Формула | | ------------ | ---------------------------------------------------------------------------------------------------------------------- | | Пеший курьер | `Σ_заказ(база + max(0, км − порог) × ставка_км + доплата_вес) × k_спроса + чаевые` | | Авто-курьер | `за забор + за выдачу × N + ставка_км × км + ставка_кг × кг` | | Водитель | `ставка_км × км × k_рефрижератор + суточные × дни + надбавка_стажа + премия за безаварийность + доля экономии топлива` | | Сборщик | `ставка_часа × H + max(0, N_строк − норма × H) × ставка_единицы` | Особый случай, который чаще всего ломает ручные таблицы: крупный заказ оплачивается фиксированной суммой по дальности **и исключается из базы процента**. Без исключения возникает двойная оплата. ### Склад и производство ``` расценка = тарифная_ставка / норма_выработки прямая: расценка × N прогрессивная: расценка × min(N, норма) + расценка × k × max(0, N − норма), k = 1,5–2 косвенная: тариф_вспомогательного × средний_процент_выполнения_норм бригады аккордная: фиксированная сумма за объём, затем делится по КТУ и часам ``` Бригадное распределение, самый практичный вариант (гарантирует тариф каждому): ``` доля_i = тариф_i × часы_i + (F − Σ тариф × часы) × (КТУ_i × часы_i) / Σ(КТУ × часы) ``` КТУ: база 1,0, диапазон в источниках 0–2; утверждается протоколом бригады; фонд не увеличивает, только перераспределяет. ### B2B-продажи ``` ЗП = твёрдый_оклад + мягкий_оклад × if(Σ(KPI_i × вес_i) ≥ 0,8, Σ(KPI_i × вес_i), 0) + progressive(оплаченная_маржа_за_месяц, [<80% плана → 2%; ≤100% → 4%; ≤120% → 6%; выше → 8%]) ``` Соотношение фикс к переменной: 30–50% на 50–70%. База процента — оплаченная маржа, а не выручка: процент от выручки поощряет скидки. Порог отсечки KPI около 80% — отраслевой стандарт. Рекомендуется 3–5 метрик, на которые сотрудник реально влияет. ### Медицина, фитнес, образование | Роль | Формула | | --------------------- | -------------------------------------------------------------------------------------------- | | Врач | `max(МРОТ_пропорционально, оклад + Σ(услуга × pct(тип)))`; ФОТ врачей 25–35% оборота клиники | | Стоматолог | врачу 40–50% выручки по его услугам | | Администратор клиники | `оклад + N_дошедших × ставка + if(конверсия_явки ≥ 70%, командная премия, 0)` | | Персональный тренер | `Σ(тренировка × pct(количество тренировок))`, 30–70%, типично 35–50% | | Групповой тренер | `ставка_занятия × N` либо `Σ(ставка + ставка_участника × N_участников)` | | Преподаватель | `Σ(ставка_академчаса × k_группы × k_квалификации)` плюс надбавка за удержание ученика | Правило, которое ломает наивный расчёт: по абонементу на N занятий выручка признаётся **при каждом посещении** (стоимость ÷ N), по безлимиту — равными долями за период. Мотивацию считать от факта оказания услуги, иначе при возврате абонемента возникает переплата, которую уже не вернуть. ### Охрана, диспетчеры, линейный персонал ``` ЗП = ставка_смены × S + ставка_часа × H_night × 20% + ставка_часа × (min(H_over, 2) × 0,5 + max(0, H_over − 2) × 1,0) + ставка_часа × H_holiday + премия за отсутствие нарушений ``` При графике «сутки через трое» обязателен суммированный учёт: переработка определяется по итогам учётного периода, а не по дням. Надбавки не поглощают друг друга: ночная работа в праздник оплачивается и как ночная, и как праздничная. ## 3. Что из этого поддерживает движок Реализовано в `src/domain/payroll/rule.ts`: процент от показателя, ставка за час и за смену, ставка за единицу, агрегаты по позициям с фильтрами (количество, сумма, среднее, число уникальных значений), поштучная оценка строки по её атрибутам, шкала и прогрессивная шкала, фонд с делением по времени присутствия и весами, условия с И/ИЛИ, гарантия и потолок, округление, типизированные часы (ночные, сверхурочные, праздничные), окно агрегации шире дня (неделя, декада, месяц, период). Пресеты в `src/domain/payroll/presets.ts`: общепит (фонд, личный процент, официант с допродажами, администратор с гарантией, почасовая, премия за порог выручки), розница и продажи (две шкалы), доставка (два варианта), услуги с мастерами, сменная работа с ночными и сверхурочными, B2B с месячной прогрессией, простая почасовая. Не реализовано и вынесено в следующий шаг: 1. **Блок вычета.** Удержание должно быть отдельной сущностью с основанием, лимитом и следом в аудите, а не отрицательным слагаемым формулы — см. [правовые ограничения](PAYROLL-LEGAL-LIMITS.md). 2. **Фонд сверх тарифа** как готовый блок (сейчас выражается комбинацией). 3. **Линтер правил**: предупреждение о начислении ниже МРОТ пропорционально отработанному, об отсутствии оплаты ночных и сверхурочных, об отрицательных узлах с дисциплинарным основанием. ## 4. Чего рынок не подтверждает Эти конструкции встречаются в обсуждениях, но подтверждения как отраслевой нормы нет — в пресетах они допустимы как значения по умолчанию с пометкой «настройте под себя»: - многоступенчатая шкала процента мастера салона (практика — плоский процент по категории либо порог на превышение); - сдельщина «за строку» у сборщиков заказов (доминирует почасовая с бонусом за выработку); - конкретная прогрессия процента персонального тренера по порогам числа тренировок (структура уровней подтверждается, ставки — нет).