Переход с одной редакции программы на другую — это всегда стресс для бухгалтера, особенно когда речь идет о расчете среднего заработка для отпусков, больничных и командировок. Одной из наиболее острых проблем является ситуация, когда привычные алгоритмы ЗУП 2.5 сменяются более строгими правилами ЗУП 3.1. В результате квартальные и годовые премии, которые раньше учитывались в полном объеме, начинают «резаться» программой, что приводит к занижению выплат сотрудникам.
Рассмотрим подробно, почему это происходит, в чем заключается разница в логике программ и как технически привести расчет в ЗУП 3.1 к результатам, ожидаемым бухгалтером и сотрудниками.
Проанализируем ситуацию с точки зрения законодательства. Основным документом, регулирующим расчет среднего заработка, является Постановление Правительства РФ № 922. Различия между редакциями 2.5 и 3.1 кроются в интерпретации пункта 15 этого постановления.
В старой редакции ЗУП 2.5 расчет зачастую опирался на месяц начисления премии. Если премия была начислена в расчетном периоде, она включалась в расчет целиком (если это предусмотрено настройками), даже если расчетный период был отработан не полностью. Часто программа просто делила сумму премии на коэффициент 29.3, не анализируя глубоко период, за который эта премия была выдана.
В ЗУП 3.1 реализован более строгий и, по мнению методологов фирмы 1С, более корректный механизм. Программа анализирует так называемый базовый период премии (период, за который она начислена) и сопоставляет его с фактически отработанным временем сотрудника в этом же самом периоде. Если квартальная премия начислена за 1 квартал, а сотрудник в этом квартале болел или был в отпуске, ЗУП 3.1 автоматически уменьшит сумму премии пропорционально отработанному времени, даже если сам расчетный период для среднего заработка отработан полностью. Это часто воспринимается как «ошибка», хотя с точки зрения строгого следования букве закона это является уточнением алгоритма.
Разберем, как на расчет влияет технический процесс перехода. При использовании «краткого» (рекомендованного) переноса данных из ЗУП 2.5 в ЗУП 3.1 полноценная история начислений и времени за прошлые годы не переносится. Вместо этого создаются технические документы Перенос данных, которые заполняют регистры накопления, отвечающие за средний заработок.
Основные данные хранятся в регистре Данные о начислениях для расчета среднего заработка (общий) (в документах переноса он обычно имеет префикс СЗО). Проблема заключается в том, что при переносе в этот регистр записываются даты начала и окончания базового периода премии. ЗУП 3.1, видя эти даты, пытается найти информацию об отработанном времени за тот период. Если данных о времени за прошлые годы в новой базе недостаточно (так как перенос был кратким), программа может интерпретировать это как «неполную отработку» и начать делить премию пропорционально, что и приводит к уменьшению итоговой суммы.
Если ваша задача — добиться полного соответствия расчетов с ЗУП 2.5 и избежать пропорционального уменьшения премий, которые уже были начислены с учетом отработанного времени, воспользуемся следующим алгоритмом:
Дата начала базового периода и Дата окончания базового периода необходимо очистить значения или изменить их так, чтобы программа перестала считать премию относящейся к прошлому «неотработанному» периоду.Выясним причину эффективности этого метода: когда поле Дата начала базового периода пустое, система перестает сопоставлять премию с графиком работы за тот период и учитывает её в полной сумме (как текущее начисление), что полностью совпадает с поведением ЗУП 2.5.
Посмотрим на настройки самой премии в ЗУП 3.1. Иногда причина кроется не в переносе данных, а в том, как настроен вид начисления в новой базе. Проанализируем вкладку «Средний заработок» в карточке начисления:
Для программистов и опытных пользователей рассмотрим структуру записей, которую генерирует документ Перенос данных. Если вы решите автоматизировать исправление премий через обработку, обратите внимание на следующие поля в коде:
// Пример структуры записи регистра для корректировки
Запись = РегистрыНакопления.ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий.СоздатьНаборЗаписей();
// ... выборка данных ...
Для Каждого Строка Из ТаблицаДанных Цикл
Если Строка.ВидПремии = Перечисления.ВидыПремий.Квартальная Тогда
Строка.ДатаНачалаБазовогоПериода = '00010101'; // Очистка даты начала
Строка.ДатаОкончанияБазовогоПериода = '00010101'; // Очистка даты окончания
КонецЕсли;
КонецЦикла;
Очистка этих полей программным способом во всех документах переноса СЗО позволит массово восстановить суммы среднего заработка для всех сотрудников, не прибегая к ручному перебору каждой записи.
Разберем еще один нюанс. ЗУП 3.1 очень внимательно относится к нормам времени. В документах Перенос данных заполняется не только сумма (регистр СЗО), но и данные о времени (регистр Данные о времени для расчета среднего заработка (общий)).
Если при переносе норма дней за какой-то месяц была указана неверно (например, 22 дня вместо 20), то любая, даже самая правильная премия, будет умножена на коэффициент 20 / 22. Поэтому при проверке расчетов в ЗУП 3.1 обязательно сформируйте отчет Калькулятор расчета среднего заработка (он доступен прямо из документа «Отпуск» или «Больничный») и посмотрите, какой коэффициент применяется к премиям.
Важный момент: Если вы видите, что программа применяет коэффициент (например, 0.854), это прямой сигнал к тому, что либо не заполнены данные о времени за базовый период премии, либо этот период действительно был отработан не полностью.
Подводя итог, можно сказать, что «занижение» среднего в ЗУП 3.1 чаще всего связано с более точным соблюдением законодательства и нехваткой исторических данных о времени после переноса. Для исправления ситуации мы рекомендуем:
Используя эти методы, вы сможете добиться идентичности расчетов с предыдущей версией программы и успешно обосновать суммы выплат как руководству, так и сотрудникам предприятия.