После обновления конфигурации «1С:Зарплата и управление персоналом 3.1» (в частности, релиза 3.1.38.123) многие пользователи и специалисты сталкиваются с критической ошибкой: в отчетах «Анализ взносов в фонды» и «Проверка расчета взносов» суммы доходов и взносов начинают хаотично перемещаться между основным тарифом и льготным тарифом для субъектов МСП. Это приводит к появлению отрицательных сумм («красноты»), искажению регламентированного отчета РСВ (Раздел 3), а также к необоснованным сторнированиям и доначислениям взносов за предыдущие месяцы года в документах начисления заработной платы.
Разберем детально механизм возникновения данной проблемы, выясним, почему отчет ведет себя нестабильно при формировании по всей организации, и рассмотрим практические способы решения — от установки официального патча до точечной корректировки кода и методологического обхода.
Проанализируем типичный сценарий проявления ошибки в информационной базе:
Не является объектом обложения страховыми взносами.Выясним причину такого поведения программы. В конфигурации ЗУП 3.1 расчетные механизмы распределения сумм по тарифам унифицированы. Для распределения базы до 1 МРОТ (основной тариф) и свыше 1 МРОТ (льготный тариф МСП) используются общие процедуры подготовки временных таблиц в общем модуле УчетСтраховыхВзносов (в частности, в процедуре СформироватьВТРасширенныхСведенийОДоходах).
В релизе 3.1.38.123 разработчики изменили условия выборки данных во временных таблицах при обработке сведений по доходам. Согласно ст. 420 НК РФ, выплаты по договорам аренды не являются объектом обложения страховыми взносами и вообще не должны участвовать в расчете и распределении лимитов МРОТ. Однако в логику формирования признака необрабатываемой строки было добавлено некорректное условие:
| ДанныеДляВыделенияМРОТ.РазмерМРОТ ЕСТЬ NULL
| ИЛИ СведенияБезУточненияЗастрахованностиИностранцевВФСС.ВидДохода = ЗНАЧЕНИЕ(Справочник.ВидыДоходовПоСтраховымВзносам.НеЯвляетсяОбъектом) КАК СтрокаНеТребуетОбработки,
Такое совмещение условий привело к нарушению логики сопоставления записей. При построении временных таблиц по всей базе без жесткой сортировки СУБД возвращает записи в недетерминированном порядке. Из-за этого распределение лимитов МРОТ начинает опираться на случайную последовательность строк выборки: при отборе по одному человеку выборка мала и детерминирована, а при массовом формировании база «перескакивает» между тарифами от запуска к запуску.
Более того, программа фиксирует расхождение между уже исчисленными суммами в регистрах и новыми данными временных таблиц, в результате чего регистрируются ложные записи в очереди перерасчетов за прошлые периоды.
Фирма «1С» оперативно выпустила официальное исправление (патч) под номером EF_60035091 с описанием: «Если в организации применяется тариф "Для субъектов МСП..." и у сотрудника в предыдущих периодах был начислен доход не облагаемый страховыми взносами/не являющийся объектом обложения страховыми взносами, то в документе Перерасчет страховых взносов/Начисление зарплаты и взносов может быть произведен перерасчет страховых взносов в месяцах начисления такого дохода».
Разберем порядок действий при установке патча:
Если автоматическая загрузка патчей недоступна или требуется срочно устранить дефект в нетиповой конфигурации, внесем точечное исправление в запрос общего модуля УчетСтраховыхВзносов через расширение конфигурации.
Посмотрим на ошибочный фрагмент запроса формирования временной таблицы. В нем строка проверки вида дохода является лишней:
| ДанныеДляВыделенияМРОТ.РазмерМРОТ ЕСТЬ NULL
| ИЛИ СведенияБезУточненияЗастрахованностиИностранцевВФСС.ВидДохода = ЗНАЧЕНИЕ(Справочник.ВидыДоходовПоСтраховымВзносам.НеЯвляетсяОбъектом) КАК СтрокаНеТребуетОбработки,
Удалим ошибочное условие соединения и оставим выражение в исходном виде, как это реализовано в официальном патче:
| ДанныеДляВыделенияМРОТ.РазмерМРОТ ЕСТЬ NULL КАК СтрокаНеТребуетОбработки,
Обратите внимание: не следует полностью откатывать весь модуль или отменять работу со временной таблицей ВТСведенияБезУточненияЗастрахованностиИностранцевВФСС, так как сопутствующие изменения в релизе требуются для корректного учета взносов с выплат иностранным гражданам. Достаточно точечно скорректировать лишь признак СтрокаНеТребуетОбработки.
После применения патча или расширения ошибка в алгоритме формирования таблиц устраняется, однако в базе могут остаться «хвосты» — зарегистрированные ранее команды на перерасчет взносов. Разберем по шагам, как привести данные в порядок:
Начисление зарплаты и взносов за текущий месяц уже был проведен до исправления, откроем его и проверим вкладку Перерасчет страховых взносов. При наличии необоснованных строк удалим их вручную либо полностью перезаполним взносы в документе.Если на предприятии регулярно возникают сложности с прочими выплатами, не являющимися объектом обложения страховыми взносами, рассмотрим методологический способ изоляции таких операций.
Договоры аренды транспорта или недвижимости с физическими лицами не относятся к трудовым договорам или договорам ГПХ на выполнение работ (оказание услуг). Поэтому такие начисления можно отражать непосредственно в бухгалтерской программе (например, «1С:Бухгалтерия предприятия 3.0») документами расчетов с контрагентами с использованием счетов 73.03 или 76. Исключение аренды из контура ЗУП полностью устраняет риск влияния подобных сумм на алгоритмы распределения льготных тарифов страховых взносов.