С 1 сентября 2024 года изменилась редакция статьи 152 ТК РФ, которая теперь требует рассчитывать оплату сверхурочной работы исходя из всей заработной платы сотрудника, включая компенсационные и стимулирующие выплаты. Хотя аналогичные правки не были внесены в статью 153 ТК РФ (оплата в выходные и праздники), позиция Конституционного Суда (Постановления № 35-П от 27.06.2023 и № 26-П от 28.06.2018) говорит о необходимости единого подхода. Суть в том, что любая работа сверх нормы должна оплачиваться исходя из полного среднего заработка за час, а не из "голого" оклада. Разберем, как реализовать эту логику в 1С:Зарплата и Управление Персоналом.
Основной инструмент для решения нашей задачи в 1С:ЗУП — это Совокупная тарифная ставка (СТС). Этот показатель как раз и предназначен для того, чтобы собрать все плановые начисления, составляющие часовую оплату труда сотрудника, в единую базу для расчета различных отклонений, включая сверхурочные, ночные и работу в выходные дни.
Логика проста: если работа сверх нормы (сверхурочная или в выходной) по своей сути одинаково отнимает у работника личное время, то и оплачиваться она должна по единым принципам — исходя из полной стоимости часа его работы.
Рассмотрим, как настроить расчет для разных видов премий.
Это самый простой случай. Сюда относятся ежемесячные премии, надбавки и доплаты, которые рассчитываются пропорционально отработанному времени (например, определенный процент от оклада или фиксированный показатель, умноженный на долю отработанного времени).
Решение: Включить показатели этих начислений в состав Совокупной тарифной ставки.
Посмотрим на пример из формулы (6) в обсуждении:
Если зарплата состоит из оклада (О) и премии (П), которая рассчитывается как П * ОтработаноЧасов / НормаЧасов, то общая формула зарплаты выглядит так:
Зарплата = (О+П)*n/N + (1.5*m1+2*m2)*(О+П)/N
Где:
О – оклад.П – постоянный премиальный показатель.n – отработано урочных часов.N – норма часов в месяце.m1, m2 – сверхурочные часы (первые 2 и последующие).Из этой формулы видно, что стоимость обычного часа и часа для расчета сверхурочных одинаково базируется на сумме (О+П). Следовательно, в настройках плановых начислений сотрудника нужно указать, что и оклад, и такая премия входят в состав совокупной тарифной ставки. После этого программа автоматически будет использовать для расчета показателя СтоимостьЧаса сумму всех этих начислений, деленную на норму времени.
Здесь ситуация сложнее. Например, сотруднику назначена премия 40 000 руб. за месяц, не зависящая от отработанного времени (например, за успешный проект). Если сотрудник отработал всего один день (8 часов) и 3 часа сверхурочно, то расчет часовой ставки от премии как 40000 / 8 = 5000 руб./час приведет к неадекватно высокой доплате за сверхурочные. Это может быть формально верно по букве закона, но не всегда соответствует логике бизнеса.
Решение: Использовать отдельное начисление для доплаты за сверхурочные с базой из таких фиксированных премий.
Разберем по шагам:
Совокупную тарифную ставку.РасчетнаяБаза / НормаЧасовПоГрафику * (ВремяВСверхурочныхЧасах*0.5 + ВремяВСверхурочныхЧасахПослеДвух*1)
Или можно использовать два начисления для полуторной и двойной оплаты соответственно.
Таким образом, мы "доначисляем" премиальную часть доплаты за сверхурочные отдельно, используя в качестве знаменателя норму часов месяца (N), а не фактическое отработанное время (n). Это позволяет избежать завышенных расчетов при неполностью отработанном месяце.
С "длинными" премиями законодательство не дает четких указаний. Здесь решение должно быть закреплено в локальных нормативных актах компании. Возможны два подхода:
Проанализируем ситуацию, разобранную на форуме, с программистами Петей и Васей. Условия: Оклад 20 000 руб., ежемесячная премия 180 000 руб. (зависящая от отработанного времени). Итого за полностью отработанный месяц (20 дней) оба получают по 200 000 руб. Стоимость одного рабочего дня составляет 10 000 руб.
Теперь Васе пришлось выйти на работу в субботу.
(20000 / 20) * 2 = 2 000 руб.Результат: За дополнительный полноценный рабочий день, отнявший у него законный выходной, Вася получил в 5 раз меньше (2 000 руб.), чем за обычный день (10 000 руб.). Это несправедливо, демотивирует и противоречит духу закона.
((20000 + 180000) / 20) * 2 = 10000 * 2 = 20 000 руб.Результат: Вася получил за работу в выходной двойную стоимость своего обычного рабочего дня. Это является справедливой компенсацией за работу в условиях, отклоняющихся от нормальных, и полностью соответствует логике ТК РФ и позиции Конституционного Суда.
Для программистов и продвинутых пользователей будет полезно знать, что расчет стоимости часа реализован в общем модуле МенеджерРасчетаЗарплаты в функции РассчитатьЗначениеСтоимостиЧаса. Анализ этой функции показывает, как именно программа использует СовокупнуюТарифнуюСтавку для пересчета месячных, дневных и часовых ставок в итоговую стоимость часа в зависимости от настроек.
// Примерный фрагмент логики расчета для месячной ставки
// ...
// * Если показатель сотрудника - месячная ставка (оклад), пересчитываем в часовую.
Если Выборка.ВидТарифнойСтавки <> Перечисления.ВидыТарифныхСтавок.МесячнаяТарифнаяСтавка Тогда
Возврат Значение;
КонецЕсли;
Если Выборка.ПорядокРасчета = Перечисления.ПорядокРасчетаСтоимостиЕдиницыВремениОплатыТруда.ПоНормеВремениГрафикаСотрудника Тогда
// ... логика расчета по графику
Если Выборка.НормаЧасовПолногоГрафикаМесяц <> 0 Тогда
Значение = Выборка.СовокупнаяТарифнаяСтавка / Выборка.НормаЧасовПолногоГрафикаМесяц;
КонецЕсли;
// ...
ИначеЕсли Выборка.ПорядокРасчета = Перечисления.ПорядокРасчетаСтоимостиЕдиницыВремениОплатыТруда.ПоНормеВремениПроизводственногоКалендаря Тогда
Если Выборка.НормаЧасовКалендаряМесяц <> 0 Тогда
Значение = Выборка.СовокупнаяТарифнаяСтавка / Выборка.НормаЧасовКалендаряМесяц;
КонецЕсли;
КонецЕсли;
// ...
Этот код наглядно демонстрирует, что именно показатель СовокупнаяТарифнаяСтавка является источником данных для расчета стоимости часа. Правильная настройка его составляющих — ключ к корректному автоматическому расчету зарплаты.