При расчете среднего заработка для оплаты различных видов отсутствий, таких как отпуск или больничный, бухгалтеры часто сталкиваются с проблемой "запредельных" сумм. Эта ситуация особенно актуальна для сотрудников, которые часто находятся в служебных командировках. Рассмотрим эту проблему подробнее и выясним, как ее можно решить как с помощью кастомизации системы 1С, так и с использованием стандартных настроек, соблюдая при этом требования законодательства.
Давайте проанализируем типовую ситуацию, описанную в сообщениях форума. Представим сотрудника, который после 5 отработанных дней отправляется в командировку на целый месяц, затем возвращается на короткий срок и снова уезжает в командировку. В расчетном периоде для исчисления среднего заработка у него фактически будет всего несколько отработанных дней, но при этом могут быть начислены премии за полный месяц. Если сумма премии, например, 250 000 рублей, будет делиться всего на 5 отработанных дней, средний дневной заработок получится колоссальным. В результате, при уходе в отпуск или на больничный, такой сотрудник может получить отпускные или пособие в миллионы рублей, что, безусловно, вызывает вопросы у финансовой службы и удивляет самого сотрудника.
Прежде всего, давайте разберемся, как исчисляется средний заработок согласно законодательству Российской Федерации. Порядок расчета регулируется
Положением об особенностях порядка исчисления средней заработной платы, утвержденным Постановлением Правительства РФ № 916 от 24 декабря 2007 г. (ранее действовало Постановление № 922). Согласно этому Положению, при расчете среднего заработка для командировок из расчетного периода
исключаются как время, так и суммы, начисленные за период сохранения среднего заработка в соответствии с законодательством. К таким периодам относится время нахождения работника в служебных командировках. Это означает, что дни командировки и выплаты, произведенные за этот период (средний заработок), не должны учитываться при дальнейшем расчете среднего заработка для других случаев (например, для отпуска или больничного).
Таким образом, стандартная логика программы 1С, исключающая дни командировок из отработанных дней и начисленные суммы (которые сами по себе являются средним заработком) из расчетной базы для других случаев расчета среднего, полностью соответствует действующему законодательству. Это объясняет, почему в табеле дни командировки ("К") не проставляются как отработанные дни ("Я") для целей расчета среднего заработка, и почему сумма премий делится на фактически отработанные дни, а не на полный календарный период.
На практике, как показывает обсуждение на форуме, бухгалтеры или руководители иногда сталкиваются с ситуацией, когда внутренние представления о расчете среднего заработка расходятся с законодательными нормами и, соответственно, со стандартной логикой программы. В таких случаях звучат требования, чтобы "дни в командировке, по табелю и часы попадали в расчет среднего заработка", поскольку для них "командировка 'К' в табеле это = Явке 'Я'", подобно тому, как считаются дни на вахте у вахтовиков. Эта позиция игнорирует юридические нюансы, но создает необходимость поиска решения, которое удовлетворит внутренние запросы, даже если оно сопряжено с определенными рисками.
Один из участников обсуждения на форуме поделился опытом реализации функционала, который позволяет включать дни командировки и соответствующие доплаты в расчет среднего заработка. Этот подход требует внесения изменений в конфигурацию 1С и, как мы уже отметили, противоречит действующему законодательству. Однако, если такое решение является критичным для вашей компании и вы готовы принять на себя связанные риски, рассмотрим, как это может быть реализовано.
Изменения затрагивают Общий модуль УчетСреднегоЗаработка. Основная идея заключается в том, чтобы переопределить флаг, который управляет исключением времени и сумм командировок из расчетного периода.
В процедуре ЗарегистрироватьДанныеОбщегоСреднегоЗаработка в Общем модуле УчетСреднегоЗаработка необходимо найти участок кода, отвечающий за определение флага исключения командировок, и добавить логику, которая будет его отключать при выполнении определенного условия (например, если включена специальная константа).
Исходный код (или его часть) может выглядеть так:
Процедура ЗарегистрироватьДанныеОбщегоСреднегоЗаработка(Движения, Отказ, МенеджерВременныхТаблиц, ЗаписыватьДвижения = Ложь)
// Время нахождения работника в служебной командировке,
// а также начисленные за это время суммы исключаются при исчислении среднего заработка.
// ...
ИсключатьВПериодКомандировок = Истина; // Это стандартное поведение: исключать командировки
// Здесь добавляется наша логика для переопределения
//Jira BASE1-2464 zomi 28.03.19
Если Константы.Jira_ВключатьВСреднийЗаработокДоплатыКомандировка.Получить Тогда
//РольДоступна("Jira_Служебная") И Сообщить("Включаем в расчет среднего заработка доплаты при командировках", СтатусСообщения.Важное);
ИсключатьВПериодКомандировок = Ложь; // Отключаем исключение!
КонецЕсли; //Jira BASE1-2464 zomi 28.03.19
СоздатьВТДляИсключенияКомандировок(МенеджерВременныхТаблиц, ИсключатьВПериодКомандировок);
ЗарегистрироватьНачисленияДляРасчетаОбщегоСреднегоЗаработка(Движения, Отказ, МенеджерВременныхТаблиц, ИсключатьВПериодКомандировок, ЗаписыватьДвижения);
ЗарегистрироватьДанныеВремениДляРасчетаОбщегоСреднегоЗаработка(Движения, Отказ, МенеджерВременныхТаблиц, ИсключатьВПериодКомандировок, ЗаписыватьДвижения);
КонецПроцедуры
// Процедура СоздатьВТДляИсключенияКомандировок также должна учитывать этот флаг
Процедура СоздатьВТДляИсключенияКомандировок(МенеджерВременныхТаблиц, ИсключатьНачисленияВПериодКомандировок) Экспорт
УдалитьВТ = Новый Массив;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("КатегорииПрогула", ПланыВидовРасчета.Начисления.КатегорииПрогула);
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыКомандировок.Ссылка,
| Начисления.Начисление КАК ВидРасчета,
| ВЫБОР
| КОГДА ИсключаемыеВПериодКомандировки.ЗачетОтработанногоВремени
| ИЛИ ИсключаемыеВПериодКомандировки.КатегорияНачисленияИлиНеоплаченногоВремени В (&КатегорииПрогула)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИсключатьВремя
|ПОМЕСТИТЬ ВТИсключаемыеВПериодКомандировки
|ИЗ
| ВТНачисления КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления КАК ВидыКомандировок
| ПО (ВидыКомандировок.КатегорияНачисленияИлиНеоплаченногоВремени = ЗНАЧЕНИЕ(Перечисление.КатегорииНачисленийИНеоплаченногоВремени.ОплатаКомандировки)
| ИЛИ ВидыКомандировок.КатегорияНачисленияИлиНеоплаченногоВремени = ЗНАЧЕНИЕ(Перечисление.КатегорииНачисленийИНеоплаченногоВремени.ДенежноеСодержаниеНаПериодКомандировки))
| И (ВидыКомандировок.ЗачетНормыВремени)
| И (ВидыКомандировок.Ссылка <> Начисления.Начисление)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления КАК ИсключаемыеВПериодКомандировки
| ПО (ИсключаемыеВПериодКомандировки.Ссылка = Начисления.Начисление)
| И (ИсключаемыеВПериодКомандировки.ТребуетсяРасчетВремени)
| И (НЕ ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ПланВидовРасчета.Начисления.ВытесняющиеВидыРасчета КАК ВытесняющиеВидыРасчета
| ГДЕ
| ВытесняющиеВидыРасчета.Ссылка = Начисления.Начисление
| И ВытесняющиеВидыРасчета.ВидРасчета = ВидыКомандировок.Ссылка))
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК Поле1
|ИЗ
| ВТИсключаемыеВПериодКомандировки КАК ИсключаемыеВПериодКомандировки";
РезультатЗапроса = Запрос.Выполнить;
Если РезультатЗапроса.Пустой Тогда
ИсключатьНачисленияВПериодКомандировок = Ложь;
Возврат;
КонецЕсли;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ФПДКомандировки.Регистратор КАК Регистратор,
| ФПДКомандировки.НомерСтроки КАК НомерСтроки,
| ФПДКомандировки.Сотрудник КАК Сотрудник,
| ФПДКомандировки.ВидРасчета КАК ВидРасчета,
| ФПДКомандировки.ПериодДействияНачало КАК Начало,
| ФПДКомандировки.ПериодДействияКонец КАК Окончание,
| ФПДКомандировки.СторнируемыйДокумент КАК СторнируемыйДокумент
|ПОМЕСТИТЬ ВТПериодыКомандировокПредварительно
|ИЗ
| РегистрРасчета.Начисления.ФактическийПериодДействия(
| (Сотрудник, ПериодДействия) В
| (ВЫБРАТЬ
| Начисления.Сотрудник,
| Начисления.ПериодДействия
| ИЗ
| ВТНачисления КАК Начисления)
| И ВидРасчета В
| (ВЫБРАТЬ
| ВидыКомандировок.Ссылка
| ИЗ
| ВТИсключаемыеВПериодКомандировки КАК ВидыКомандировок)
| И СторноТекущегоПериода = НЕОПРЕДЕЛЕНО) КАК ФПДКомандировки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПериодыКомандировокСторно.СторнируемыйДокумент КАК СторнируемыйДокумент
|ПОМЕСТИТЬ ВТСторнируемыеДокументы
|ИЗ
| ВТПериодыКомандировокПредварительно КАК ПериодыКомандировокСторно
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПериодыКомандировокПредварительно КАК ПериодыКомандировокПредварительно
| ПО ПериодыКомандировокСторно.СторнируемыйДокумент = ПериодыКомандировокПредварительно.Регистратор
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПериодыКомандировокПредварительно.Регистратор КАК Регистратор,
| ПериодыКомандировокПредварительно.НомерСтроки КАК НомерСтроки,
| ПериодыКомандировокПредварительно.Сотрудник КАК Сотрудник,
| ПериодыКомандировокПредварительно.ВидРасчета КАК ВидРасчета,
| ПериодыКомандировокПредварительно.Начало КАК Начало,
| ПериодыКомандировокПредварительно.Окончание КАК Окончание
|ПОМЕСТИТЬ ВТПериодыКомандировок
|ИЗ
| ВТПериодыКомандировокПредварительно КАК ПериодыКомандировокПредварительно
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСторнируемыеДокументы КАК СторнируемыеДокументы
| ПО ПериодыКомандировокПредварительно.Регистратор = СторнируемыеДокументы.СторнируемыйДокумент
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСторнируемыеДокументы КАК СторнирующиеДокументы
| ПО ПериодыКомандировокПредварительно.СторнируемыйДокумент = СторнирующиеДокументы.СторнируемыйДокумент
|ГДЕ
| СторнируемыеДокументы.СторнируемыйДокумент ЕСТЬ NULL
| И СторнирующиеДокументы.СторнируемыйДокумент ЕСТЬ NULL
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК Поле1
|ИЗ
| ВТПериодыКомандировок КАК ФПДКомандировки";
РезультатЗапроса = Запрос.Выполнить;
УдалитьВТ.Добавить("ВТПериодыКомандировокПредварительно");
УдалитьВТ.Добавить("ВТСторнируемыеДокументы");
ЗарплатаКадры.УничтожитьВТ(МенеджерВременныхТаблиц, УдалитьВТ);
Если РезультатЗапроса.Пустой Тогда
ИсключатьНачисленияВПериодКомандировок = Ложь;
Возврат;
КонецЕсли;
//Jira BASE1-2464 zomi 28.03.19
Если Константы.Jira_ВключатьВСреднийЗаработокДоплатыКомандировка.Получить Тогда
ИсключатьНачисленияВПериодКомандировок = Ложь;
Возврат;
КонецЕсли; //Jira BASE1-2464 zomi 28.03.19
ИсключатьНачисленияВПериодКомандировок = Истина;
КонецПроцедуры
Давайте подробно разберем ключевые изменения и их назначение:
Константа Jira_ВключатьВСреднийЗаработокДоплатыКомандировка: Создается новая константа в системе 1С (например, типа "Булево"), которая служит переключателем для нестандартной логики. Это позволяет гибко управлять включением или исключением командировок без изменения кода при каждом обновлении.
Переопределение флага ИсключатьВПериодКомандировок: В начале процедуры ЗарегистрироватьДанныеОбщегоСреднегоЗаработка флаг ИсключатьВПериодКомандировок по умолчанию устанавливается в Истина, что соответствует стандартному поведению. Однако, если созданная константа возвращает Истина, этот флаг принудительно устанавливается в Ложь. Это означает, что система будет обрабатывать командировки как обычное отработанное время для целей расчета среднего заработка.
Передача флага в подчиненные процедуры: Измененный флаг ИсключатьВПериодКомандировок далее передается в процедуры СоздатьВТДляИсключенияКомандировок, ЗарегистрироватьНачисленияДляРасчетаОбщегоСреднегоЗаработка и ЗарегистрироватьДанныеВремениДляРасчетаОбщегоСреднегоЗаработка. Эти процедуры используют его для определения, следует ли исключать данные по командировкам при формировании временных таблиц и регистрации движений регистров среднего заработка.
Аналогичное переопределение в СоздатьВТДляИсключенияКомандировок: В процедуре СоздатьВТДляИсключенияКомандировок также дублируется логика проверки константы и установки флага ИсключатьНачисленияВПериодКомандировок = Ложь. Это гарантирует, что даже на этапе формирования временных таблиц для исключения командировок, этот механизм будет отключен, если константа активна.
В результате этих изменений система 1С будет воспринимать время нахождения сотрудника в командировке как отработанное время и включать соответствующие суммы (в том числе доплаты или премии, начисленные за этот период) в расчетную базу для среднего заработка. Таким образом, знаменатель в формуле расчета среднего (количество отработанных дней) увеличится, а запредельные суммы среднего заработка, вызванные делением на малое число дней, будут нивелированы.
Мы настоятельно подчеркиваем, что данная кастомизация является
прямым нарушением действующего законодательства. Включение времени командировки в отработанные дни для расчета среднего заработка, когда за этот период сотруднику уже был выплачен средний заработок, может повлечь за собой серьезные негативные последствия:
Нарушения трудового законодательства: Государственная инспекция труда (ГИТ) при проверке выявит некорректный расчет среднего заработка. Это приведет к предписаниям об устранении нарушений и требованию пересчета всех выплат (отпускных, больничных) по всем сотрудникам, затронутым данной логикой.
Штрафные санкции: За нарушения трудового законодательства предусмотрены административные штрафы, размер которых может быть значительным для юридических лиц и должностных лиц.
Дополнительные налоговые риски: Если пересчеты затронут налогооблагаемую базу, это может привести к доначислениям налогов, пеней и штрафов со стороны Федеральной налоговой службы.
Сложности при обновлениях: Кастомизация типовых общих модулей всегда усложняет процесс обновления конфигурации. При каждом обновлении необходимо будет внимательно проверять, не затронуты ли измененные участки кода, и заново применять модификации, что увеличивает трудозатраты и риски ошибок.
Поэтому, прежде чем принимать решение о такой кастомизации, мы рекомендуем тщательно взвесить все риски и, по возможности, рассмотреть законные альтернативные пути решения проблемы.
Если цель состоит в том, чтобы избежать "запредельных" сумм среднего заработка из-за малого количества отработанных дней, когда сотрудник часто бывает в командировках, и при этом строго соблюсти законодательство, мы можем рассмотреть следующие подходы, связанные с настройкой премий в 1С. Этот метод позволяет снизить влияние премий на средний заработок без нарушения правил его исчисления.
Настройка премий как "учитываемых частично": В 1С, при создании или редактировании вида начисления "Премия", вы можете указать, как она учитывается при расчете среднего заработка. Вместо опции "Премия, учитываемая полностью", выберите "Премия, учитываемая частично" или "Премия, учитываемая пропорционально отработанному времени".
Что это значит?
"Премия, учитываемая полностью": Если премия назначена за период, и сотрудник хотя бы один день отработал в этом периоде, то вся сумма премии будет включена в расчет среднего заработка, независимо от фактически отработанных дней.
"Премия, учитываемая частично" или "Премия, учитываемая пропорционально отработанному времени": В этом случае, если премия начислена за период (например, месяц), но сотрудник отработал неполный период (часть был в командировке, часть отсутствовал по другим причинам), то в расчет среднего заработка войдет только часть премии, пропорциональная фактически отработанным дням.
Например, если сумма премии 250 000 рублей начислена за месяц, в котором по плану 20 рабочих дней, а сотрудник фактически отработал только 5 дней (остальное время был в командировке), то в средний заработок попадет только (250 000 руб. / 20 дней * 5 дней) = 62 500 рублей. Если отработанного времени в расчетном периоде будет 0, то премия, учитываемая пропорционально, вообще не войдет в расчет.
Такая настройка значительно снизит "запредельный" средний заработок, поскольку премии будут учитываться более справедливо относительно фактически отработанного времени, а не "давить" на малый знаменатель.
Документальное оформление: Убедитесь, что положения о премировании в вашей компании (Положение о премировании, Коллективный договор, Трудовой договор) четко описывают условия начисления премий, в том числе за периоды нахождения в командировках. Это поможет избежать споров и неясностей.
Возможно, корень проблемы лежит не столько в программе 1С или в законодательстве, сколько в самой системе мотивации и порядке начисления премий. Мы предлагаем задать себе несколько вопросов, чтобы глубже проанализировать ситуацию:
За что именно начисляется премия? Если премия начисляется за выполнение определенных KPI или за общие результаты компании за месяц, независимо от личного присутствия сотрудника на рабочем месте, то ее включение в средний заработок (даже частично) может быть оправдано с точки зрения стимулирования. Однако, если премия должна стимулировать именно личное присутствие и выполнение задач, то начисление полной премии за месяц, в котором сотрудник почти все время был в командировке, может быть нелогичным.
Почему премии так сильно влияют на средний заработок в командировках? Возможно, размер премий чрезмерно велик относительно окладной части или система их начисления не учитывает специфику работы сотрудников, часто находящихся в разъездах. Финансисты, проектировавшие систему мотивации, должны были понимать эти последствия.
Введение специальных доплат за командировки: Мы можем рассмотреть возможность выплаты за период командировки не только среднего заработка, но и дополнительных компенсационных выплат (доплат), которые по своей природе не являются частью оплаты труда (согласно ст. 129 ТК РФ) и, соответственно, не включаются в расчет среднего заработка. Это позволит "добрать" сотруднику желаемую сумму дохода, не искажая при этом расчет среднего заработка. Такие доплаты могут быть оформлены, например, в соответствии со ст. 191 ТК РФ.
Пересмотр "командировочных" выплат: Альтернативным подходом может быть изменение порядка оплаты времени командировки. Если разъезды являются основной частью работы сотрудника (подобно разъездному характеру работы), можно рассмотреть вариант оплаты времени командировки не по среднему заработку, а по окладу. Это, однако, требует тщательного юридического оформления и может не быть применимо к большинству случаев.
Пересмотр системы мотивации может потребовать изменения внутренних нормативных документов компании, но это позволит решить проблему запредельного среднего заработка законным и логичным способом, устраняя первопричину, а не борясь с ее последствиями.
Важно провести четкое различие между днями командировки и днями нахождения на вахте, так как их учет для расчета среднего заработка принципиально разный.
Дни командировки ("К"): Согласно законодательству, за время нахождения в служебной командировке за работником
сохраняется средний заработок. Само это время и выплаты, связанные с ним, исключаются из расчетного периода при исчислении среднего заработка для других случаев (отпуска, больничного). Это сделано для того, чтобы многократное включение одного и того же среднего заработка в расчет не приводило к его необоснованному завышению.
Дни вахты ("В"): Для работников, выполняющих работу вахтовым методом, дни нахождения на вахте, которые приходятся на рабочие дни по графику, являются
фактически отработанным временем. Заработная плата, начисленная за эти дни (оклад, премии за вахту), включается в расчет среднего заработка на общих основаниях. Аналогия, что "командировка 'К' в табеле это = Явке 'Я'", некорректна с правовой точки зрения, поскольку статус времени и порядок его оплаты отличаются.
Поэтому попытка приравнять дни командировки к дням вахты для целей расчета среднего заработка является методологически неверной и противоречащей трудовому законодательству.
Мы рассмотрели проблему "запредельного" среднего заработка при частых командировках и предложили несколько путей решения. Каждый из них имеет свои особенности и риски:
Кастомизация 1С: Позволяет добиться желаемого результата (включение командировок в расчет) путем изменения кода, но сопряжена с высоким риском нарушения законодательства, штрафами и сложностями в поддержке системы.
Корректировка учета премий: Это законный и эффективный способ снизить влияние премий на средний заработок, установив для них режим "учитываемых частично" или "пропорционально отработанному времени". Этот подход соответствует законодательству и не требует изменения типовой конфигурации.
Анализ и изменение системы мотивации: Наиболее фундаментальный подход, который позволяет устранить саму причину проблемы путем пересмотра принципов начисления премий и, возможно, введения компенсационных выплат, не включаемых в расчет среднего заработка.
Мы настоятельно рекомендуем в первую очередь рассмотреть законные методы (пункты 2 и 3), поскольку они позволяют решить проблему без создания юридических и аудиторских рисков для компании. Если же давление со стороны внутренних заказчиков ("Бабы Клавы") непреодолимо, и компания осознанно идет на риски кастомизации, то необходимо быть готовыми к возможным последствиям и иметь четкое документальное обоснование таких решений (например, внутреннее положение, описывающее нестандартный порядок расчета среднего заработка и соответствующие риски).