В процессе ведения учета в 1С:Зарплата и Управление Персоналом 3.1 бухгалтеры и технические специалисты часто сталкиваются с ситуацией, когда при кадровых изменениях в середине месяца расчет дополнительных страховых взносов (за вредные условия труда) отрабатывает некорректно. Особенно остро эта проблема проявляется в документах типа Премия или при начислении межрасчетных выплат. Рассмотрим подробнее, почему система игнорирует класс условий труда (СОУТ) и как это исправить.
Типичный сценарий выглядит следующим образом: в середине месяца (например, 13-го числа) сотрудник переводится на новую позицию штатного расписания. У этой позиции изменен класс условий труда по результатам СОУТ (например, с 3.2 на 3.1). При начислении премии за этот же месяц программа успешно распределяет общую сумму дохода пропорционально отработанному времени на разных должностях. Однако при записи данных в регистр накопления Учет доходов для исчисления страховых взносов та часть премии, которая относится к периоду работы на новой должности, фиксируется с пустым значением в поле "Класс вредности".
В результате страховые взносы по доп. тарифу с этой части дохода либо не начисляются вовсе, либо рассчитываются "Без спецоценки", что является методологической ошибкой. Проанализируем причины такого поведения системы.
В 1С:ЗУП сведения о классе условий труда для позиции штатного расписания хранятся в регистре сведений История изменения классов условий труда по штатным единицам. Выясним причину ошибки: алгоритмы расчета взносов в типовой конфигурации зачастую выполняют запрос к этому регистру со срезом данных на начало расчетного периода (первое число месяца).
Если запись в штатном расписании датирована серединой месяца, то на момент формирования выборки для расчета межрасчетного документа программа "не видит" актуальный класс условий труда для этой позиции. Рассмотрим, как система обрабатывает данные в модуле УчетСтраховыхВзносов. При формировании записей для регистра доходов используется функция, которая сопоставляет стаж ПФР и наличие класса СОУТ. Если временной интервал начисления не совпадает с интервалом действия записи СОУТ (даже если они пересекаются), механизм распределения может дать сбой.
Самый простой, но не всегда приемлемый с точки зрения кадрового учета способ — это установка даты документа Изменение штатного расписания первым числом месяца. Разберем по шагам, почему это помогает:
Кадровый перевод при этом может оставаться датированным серединой месяца (например, 13-м числом). Программа увидит, что сотрудник переведен на позицию, у которой уже (с начала месяца) установлен класс условий труда 3.1.Важно: этот метод имеет существенный недостаток. Если на предприятии строгий контроль за соответствием дат в программе и дат в приказах (особенно для сезонных или аварийных работ), перенос даты на 1-е число может вызвать вопросы у аудиторов или трудовой инспекции.
Если организационный метод не подходит, проанализируем техническую возможность исправления через расширение конфигурации. Нам необходимо повлиять на то, как записываются данные в регистр истории СОУТ или как они извлекаются при расчете премии.
Разберем вариант создания расширения, которое будет корректировать дату в записях регистра сведений История изменения классов условий труда по штатным единицам. Основная задача — сделать так, чтобы для целей расчета взносов класс условий труда считался действующим с начала месяца, даже если фактическое изменение ШР произошло позже.
Рассмотрим пример кода, который можно использовать в обработчике перед записью документа Изменение штатного расписания (в контексте расширения):
&После("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если ЭтотОбъект.Проведен Тогда
// Проходим по табличной части позиций
Для Каждого СтрокаПозиции Из ЭтотОбъект.Позиции Цикл
// Логика принудительной установки начала месяца для регистрации СОУТ
// Это позволит расчетным механизмам взносов видеть КУ с 1-го числа
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Однако более надежным методом считается корректировка функции распределения базы в модуле УчетСтраховыхВзносов. Нам нужно убедиться, что при расчете дополнительных тарифов система берет класс условий труда на дату фактического начисления или на конец периода, за который начисляется доход, а не строго на начало месяца.
Иногда корень проблемы кроется в настройках самого начисления. Проанализируем ситуацию: если премия начисляется за прошлый период или общим итогом, программа может не понимать, к какому именно периоду работы (и, соответственно, к какому классу СОУТ) отнести доход. Посмотрим на важную настройку:
Премия.Если премия уже рассчитана и вы видите ошибку, выполните следующие действия для диагностики:
1. Проверьте регистр сведений Параметры периодов стажа ПФР. Выясним, как программа разбила стаж сотрудника в этом месяце. Если там нет разбивки на дату 13-е число, то и взносы не распределятся корректно.
2. Проверьте регистр накопления Учет доходов для исчисления страховых взносов. Сформируйте отчет по движениям документа Премия. Если поле Класс условий труда пустое, значит, на момент проведения документа программа не смогла найти связь между позицией ШР и историей СОУТ.
3. Попробуйте выполнить ручное перепроведение записи в справочнике Штатное расписание. Зайдите в позицию, перейдите по гиперссылке "История изменения условий труда" и убедитесь, что запись там присутствует именно с нужной даты.
Рассмотренная проблема является следствием "жесткой" привязки некоторых механизмов 1С:ЗУП к началу расчетного периода. Для исправления ситуации мы рекомендуем:
Учет доходов... на основании текущей позиции штатной расстановки сотрудника.Начисление зарплаты и взносов в конце месяца. Часто при окончательном расчете за месяц система выполняет перерасчет и может доначислить недостающие взносы, если база была зафиксирована некорректно в межрасчетном документе.Помните, что корректность учета СОУТ напрямую влияет на отчетность в СФР (бывший ПФР), и пустое значение класса вредности приведет к ошибкам в проверках при сдаче квартальной отчетности.