При настройке нестандартных начислений в 1С:Зарплата и Управление Персоналом 3.1 пользователи часто сталкиваются с ситуацией, когда галочки стоят «правильно», а расчет среднего заработка (например, для отпускных) игнорирует эти суммы. Рассмотрим подробный кейс с начислением «Доплата до оклада» (или до ФОТ) на время командировки и разберем не только техническое решение, но и методологические подводные камни.
Представим, что мы создали в системе начисление «Доплата до ФОТ». Оно предназначено для сотрудников, находящихся в командировке, чтобы компенсировать разницу между средним заработком (который платится по закону в командировке) и текущим окладом сотрудника.
Формула расчета выглядит следующим образом:
Макс((Оклад + ПрофНадбавка) * ДоляНеполногоРабочегоВремени / НормаДней * ВремяВДнях - РасчетнаяБаза, 0)
На вкладке «Средний заработок» в настройках начисления установлен флаг «Включать в базу начислений при расчете среднего заработка». Однако, когда мы формируем документ «Отпуск» в следующем месяце, эта сумма не попадает в расчетную базу. Разберем причины и способы решения.
Самая распространенная причина, по которой сумма не попадает в расчет, кроется в механизме хранения данных в ЗУП 3.1.
В программе существует специальный регистр накопления, который хранит данные для будущего расчета среднего. Записи в этот регистр формируются в момент проведения документа начисления (например, документа «Начисление зарплаты и взносов»).
Если вы сначала начислили зарплату и провели документы, а только потом зашли в настройки начисления и поставили галочку «Включать в базу среднего заработка», то прошлые документы об этом изменении «не знают». В регистре остались записи без признака включения в средний.
Чтобы исправить ситуацию, нам не обязательно перепроводить все документы начисления (что может быть опасно в закрытых периодах). В ЗУП 3.1 существует специальный инструмент.
Эта процедура перечитает настройки начислений и перезапишет движения в регистрах учета среднего заработка. После этого при расчете отпуска сумма должна появиться.
Если обновление данных не помогло или вы хотите понять глубину процесса, обратимся к программному коду модуля УчетСреднегоЗаработка. В системе заложена логика, соответствующая законодательству (Постановление № 922).
Логика работы следующая:
Программа анализирует формулу начисления. Если в формуле используется показатель времени (ВремяВДнях, ВремяВЧасах) и это начисление вытесняется или накладывается на период командировки, система пытается исключить его из среднего.
В коде модуля УчетСреднегоЗаработка есть комментарии разработчиков:
// Время нахождения работника в служебной командировке,
// а также начисленные за это время суммы исключаются при исчислении среднего заработка.
// - определяем начисления, которые зависят от расчета времени...
// - вычитаем расчетную базу из регистрируемых начислений...
Если у начисления стоит признак, что оно требует расчета времени, и это время приходится на командировку (которая исключается из знаменателя формулы среднего), то и числитель (сумма) может быть исключен автоматически. Однако, если вы принудительно указали настройки включения, п.1 (обновление данных) обычно перекрывает это поведение, но результат может быть математически некорректным.
Давайте проанализируем, почему включение такой доплаты в средний заработок может быть опасной ошибкой, даже если технически мы заставим программу это сделать.
Формула расчета среднедневного заработка (СДЗ) выглядит так:
СДЗ = (Сумма начислений за расчетный период) / (Отработанное время или дни)
В соответствии с законодательством, дни командировки исключаются из знаменателя (из отработанного времени). Если мы при этом включим сумму доплаты за эту командировку в числитель, произойдет математический «взрыв» стоимости дня.
Допустим, сотрудник весь месяц был в командировке. Оклад 100 000 руб. В месяце 20 рабочих дней.
Сценарий А: Правильный (по закону)
Мы исключаем и дни командировки, и суммы за командировку (включая доплату).
Сценарий Б: Мы включили доплату в средний
Допустим, сотрудник вышел на 1 день поработать, а остальное время был в командировке.
Вместо реальной стоимости дня сотрудника (5 000 руб.), мы получаем завышенную в 7 раз цифру. При расчете следующих отпускных компания понесет колоссальные убытки.
Если руководство настаивает на том, чтобы доплата учитывалась в среднем заработке (что является улучшением положения работника и допустимо локальными актами, но требует аккуратности), рекомендуется использовать следующий подход:
Резюме: Если начисление не попадает в расчет, первым делом используйте обработку «Обновление данных для расчета среднего заработка». Но перед этим убедитесь, что включение этой суммы при исключении времени командировки не приведет к кратному завышению отпускных выплат.