Мы сталкиваемся с достаточно распространенной и серьезной проблемой в конфигурации 1С:Управление производственным предприятием (УПП), когда в Разделе 3 расчета по страховым взносам (РСВ) появляются отрицательные суммы выплат. Такая ситуация не только противоречит порядку заполнения отчетности, но и может привести к запросам от налоговой инспекции и необходимости подавать уточненные расчеты. Давайте вместе разберемся, почему возникает эта ошибка и как ее исправить.
Согласно общим положениям, отрицательные значения в РСВ недопустимы. Все стоимостные показатели должны быть положительными или равными нулю. Если в результате каких-либо перерасчетов (например, возврат отпускных) возникает отрицательная база, программа должна корректно ее обработать, как правило, обнуляя. Появление отрицательных сумм всегда сигнализирует об ошибке в алгоритме расчета.
Проанализируем ситуацию, основываясь на опыте коллег и изменениях законодательства. Основная причина этой ошибки кроется в некорректной работе алгоритма расчета страховых взносов для субъектов малого и среднего предпринимательства (МСП), особенно после вступления в силу изменений 2025 года.
Как мы знаем, для МСП действует пониженный тариф страховых взносов: выплаты до 1,5 МРОТ облагаются по общему тарифу 30%, а выплаты свыше 1,5 МРОТ – по пониженному тарифу 15%. Проблема возникает, когда доход сотрудника за месяц оказывается меньше 1,5 МРОТ.
В такой ситуации программа 1С:УПП может ошибочно формировать две строки в Разделе 3 для одного месяца:
Вместо того чтобы показать нулевое значение по тарифу "МС" (поскольку доход не превысил 1,5 МРОТ), программа ошибочно выводит отрицательную разницу. Например, если 1,5 МРОТ составляет 33660 рублей, а доход сотрудника – 25418.70 рублей, то по тарифу "МС" может быть показано 25418.70 - 33660 = -8241.30. При этом по тарифу "НР" сумма может быть некорректно завышена.
Такая ошибка обычно указывает на некорректное условие в коде, отвечающем за определение необходимости выделения базы по МРОТ для МСП.
Давайте разберем по шагам, где именно в коде 1С:УПП может скрываться проблема и как ее решить. Нам потребуется обратиться к общему модулю, отвечающему за заполнение регламентированной отчетности.
Как правило, некорректные расчеты, связанные с выделением базы для МСП, сосредоточены в процедуре ВыделитьБазуМРОТНаОсновнойТариф, которая находится в общем модуле ЗаполнениеРегламентированнойОтчетности. Именно здесь происходит логика определения, нужно ли разделять базу на "до 1,5 МРОТ" и "свыше 1,5 МРОТ".
Откроем процедуру ВыделитьБазуМРОТНаОсновнойТариф и внимательно рассмотрим ее содержимое. Мы увидим, что МРОТ для целей расчета обычно определяется как 1,5 МРОТ, действующего на начало расчетного периода. Например, для 2025 года это может быть 33660 рублей. Этот расчет, как правило, корректен:
МРОТ = СтрокиМесяца[0].РазмерМРОТ * 1.5;
Ключевой момент, который нас интересует, это переменная ТребуетсяВыделятьМРОТ_ПФР. Именно она определяет, будет ли программа формировать две строки (НР и МС) или только одну. Изначально это условие может выглядеть примерно так:
ТребуетсяВыделятьМРОТ_ПФР = СтрокиМесяца[0].ТребуетсяВыделятьМРОТ_ПФР;
Эта строка является неверной в контексте нашей проблемы. Она означает, что если для организации установлен флаг "Требуется выделять МРОТ ПФР" (то есть организация относится к МСП), то программа всегда будет пытаться выделить базу, даже если доход сотрудника не превышает 1,5 МРОТ. А это, как мы выяснили, приводит к отрицательным суммам.
Нам необходимо изменить условие для переменной ТребуетсяВыделятьМРОТ_ПФР таким образом, чтобы выделение базы происходило только в том случае, если:
СтрокиМесяца[0].ТребуетсяВыделятьМРОТ_ПФР установлен).
БазаПФР) превышает 1,5 МРОТ.
Рассмотрим несколько вариантов исправления, которые предлагались и были успешно применены.
Первое предложение по корректировке выглядело так:
ТребуетсяВыделятьМРОТ_ПФР = (СтрокиМесяца[0].БазаПФР > МРОТ);
Этот вариант является шагом в правильном направлении, но имеет существенный недостаток: он будет выделять базу свыше МРОТ для всех фирм, а не только для МСП. Это не соответствует логике законодательства и может привести к некорректным расчетам для организаций, не являющихся МСП.
Более точное и корректное условие должно учитывать оба фактора – принадлежность к МСП и превышение базы над 1,5 МРОТ. Предлагаем следующую поправку:
ТребуетсяВыделятьМРОТ_ПФР = ((СтрокиМесяца[0].ТребуетсяВыделятьМРОТ_ПФР) И (СтрокиМесяца[0].БазаПФР > МРОТ));
В этом случае выделение базы на "НР" и "МС" будет происходить только тогда, когда:
ТребуетсяВыделятьМРОТ_ПФР для данной строки месяца (то есть организация МСП).
БазаПФР) действительно превышает рассчитанное значение МРОТ (1,5 МРОТ).
Это условие гарантирует, что если доход сотрудника МСП не превышает 1,5 МРОТ, то флаг ТребуетсяВыделятьМРОТ_ПФР не будет установлен, и программа сформирует только одну строку "НР" без отрицательных значений по "МС".
Важно отметить, что разработчики 1С также выпускают исправления. В одном из последних релизов (например, 245.3 для УПП) эта проблема была устранена. Официальное исправление выглядит следующим образом:
ТребуетсяВыделятьМРОТ_ПФР = СтрокиМесяца[0].ТребуетсяВыделятьМРОТ_ПФР И МРОТ < СтрокиМесяца[0].Сумма;
Здесь используется переменная Сумма, которая, вероятно, содержит общую сумму выплат сотруднику за месяц. Логика та же: выделение происходит только если организация является МСП (СтрокиМесяца[0].ТребуетсяВыделятьМРОТ_ПФР истинно) и сумма выплат превышает 1,5 МРОТ (МРОТ < СтрокиМесяца[0].Сумма).
После внесения изменений в код или обновления релиза программы, выполните следующие действия:
Помните, что появление отрицательных значений в регламентированной отчетности – это сигнал к немедленному исправлению. Корректное заполнение РСВ поможет избежать проблем с контролирующими органами и обеспечит прозрачность учета.
← К списку