Как исправить расчет дополнительных страховых взносов по СОУТ при переводе сотрудника в середине месяца в 1С:ЗУП

Программист 1С v8.3 (Управляемые формы) Налоговый учет
← На главную

В процессе ведения учета в 1С:Зарплата и Управление Персоналом 3.1 бухгалтеры и технические специалисты часто сталкиваются с ситуацией, когда при кадровых изменениях в середине месяца расчет дополнительных страховых взносов (за вредные условия труда) отрабатывает некорректно. Особенно остро эта проблема проявляется в документах типа Премия или при начислении межрасчетных выплат. Рассмотрим подробнее, почему система игнорирует класс условий труда (СОУТ) и как это исправить.

Суть проблемы: пустой класс вредности в регистре

Типичный сценарий выглядит следующим образом: в середине месяца (например, 13-го числа) сотрудник переводится на новую позицию штатного расписания. У этой позиции изменен класс условий труда по результатам СОУТ (например, с 3.2 на 3.1). При начислении премии за этот же месяц программа успешно распределяет общую сумму дохода пропорционально отработанному времени на разных должностях. Однако при записи данных в регистр накопления Учет доходов для исчисления страховых взносов та часть премии, которая относится к периоду работы на новой должности, фиксируется с пустым значением в поле "Класс вредности".

В результате страховые взносы по доп. тарифу с этой части дохода либо не начисляются вовсе, либо рассчитываются "Без спецоценки", что является методологической ошибкой. Проанализируем причины такого поведения системы.

Причина 1: Особенности получения данных из штатного расписания

В 1С:ЗУП сведения о классе условий труда для позиции штатного расписания хранятся в регистре сведений История изменения классов условий труда по штатным единицам. Выясним причину ошибки: алгоритмы расчета взносов в типовой конфигурации зачастую выполняют запрос к этому регистру со срезом данных на начало расчетного периода (первое число месяца).

Если запись в штатном расписании датирована серединой месяца, то на момент формирования выборки для расчета межрасчетного документа программа "не видит" актуальный класс условий труда для этой позиции. Рассмотрим, как система обрабатывает данные в модуле УчетСтраховыхВзносов. При формировании записей для регистра доходов используется функция, которая сопоставляет стаж ПФР и наличие класса СОУТ. Если временной интервал начисления не совпадает с интервалом действия записи СОУТ (даже если они пересекаются), механизм распределения может дать сбой.

Решение №1: Организационный метод (изменение даты утверждения ШР)

Самый простой, но не всегда приемлемый с точки зрения кадрового учета способ — это установка даты документа Изменение штатного расписания первым числом месяца. Разберем по шагам, почему это помогает:

  1. Когда изменение в штатном расписании зафиксировано 1-м числом, любая выборка данных по классу условий труда за текущий месяц будет возвращать корректное значение.
  2. Документ Кадровый перевод при этом может оставаться датированным серединой месяца (например, 13-м числом). Программа увидит, что сотрудник переведен на позицию, у которой уже (с начала месяца) установлен класс условий труда 3.1.
  3. При расчете премии программа корректно соотнесет доход с позицией штатного расписания и подтянет действующий класс вредности.

Важно: этот метод имеет существенный недостаток. Если на предприятии строгий контроль за соответствием дат в программе и дат в приказах (особенно для сезонных или аварийных работ), перенос даты на 1-е число может вызвать вопросы у аудиторов или трудовой инспекции.

Решение №2: Использование расширения для корректировки логики

Если организационный метод не подходит, проанализируем техническую возможность исправления через расширение конфигурации. Нам необходимо повлиять на то, как записываются данные в регистр истории СОУТ или как они извлекаются при расчете премии.

Разберем вариант создания расширения, которое будет корректировать дату в записях регистра сведений История изменения классов условий труда по штатным единицам. Основная задача — сделать так, чтобы для целей расчета взносов класс условий труда считался действующим с начала месяца, даже если фактическое изменение ШР произошло позже.

Рассмотрим пример кода, который можно использовать в обработчике перед записью документа Изменение штатного расписания (в контексте расширения):


&После("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    Если ЭтотОбъект.Проведен Тогда
        // Проходим по табличной части позиций
        Для Каждого СтрокаПозиции Из ЭтотОбъект.Позиции Цикл
            // Логика принудительной установки начала месяца для регистрации СОУТ
            // Это позволит расчетным механизмам взносов видеть КУ с 1-го числа
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры

Однако более надежным методом считается корректировка функции распределения базы в модуле УчетСтраховыхВзносов. Нам нужно убедиться, что при расчете дополнительных тарифов система берет класс условий труда на дату фактического начисления или на конец периода, за который начисляется доход, а не строго на начало месяца.

Решение №3: Проверка настроек начисления (Премия)

Иногда корень проблемы кроется в настройках самого начисления. Проанализируем ситуацию: если премия начисляется за прошлый период или общим итогом, программа может не понимать, к какому именно периоду работы (и, соответственно, к какому классу СОУТ) отнести доход. Посмотрим на важную настройку:

  1. Откройте карточку начисления Премия.
  2. Перейдите на вкладку "Налоги, взносы, бухучет".
  3. Проверьте поле "Вид дохода" для страховых взносов.
  4. На вкладке "Учет времени" обратите внимание на флаг "Выполнять расчет только за отработанное время". Если этот флаг снят, программа начисляет премию "сверху" без жесткой привязки к интервалам стажа, что мешает корректному распределению по классам вредности.

Дополнительная диагностика через регистры

Если премия уже рассчитана и вы видите ошибку, выполните следующие действия для диагностики:

1. Проверьте регистр сведений Параметры периодов стажа ПФР. Выясним, как программа разбила стаж сотрудника в этом месяце. Если там нет разбивки на дату 13-е число, то и взносы не распределятся корректно.

2. Проверьте регистр накопления Учет доходов для исчисления страховых взносов. Сформируйте отчет по движениям документа Премия. Если поле Класс условий труда пустое, значит, на момент проведения документа программа не смогла найти связь между позицией ШР и историей СОУТ.

3. Попробуйте выполнить ручное перепроведение записи в справочнике Штатное расписание. Зайдите в позицию, перейдите по гиперссылке "История изменения условий труда" и убедитесь, что запись там присутствует именно с нужной даты.

Выводы и рекомендации

Рассмотренная проблема является следствием "жесткой" привязки некоторых механизмов 1С:ЗУП к началу расчетного периода. Для исправления ситуации мы рекомендуем:

Помните, что корректность учета СОУТ напрямую влияет на отчетность в СФР (бывший ПФР), и пустое значение класса вредности приведет к ошибкам в проверках при сдаче квартальной отчетности.

← На главную