В работе бухгалтера и расчетчика заработной платы в программе 1С:Зарплата и управление персоналом 3.1 нередко возникают ситуации, когда задним числом регистрируются документы, влияющие на прошлые периоды. Одной из самых неприятных проблем является ошибка 30159727, при которой система некорректно обрабатывает сторнирование начислений в месяцах, где была достигнута предельная величина базы страховых взносов. Рассмотрим подробно, почему это происходит и как правильно исправить ситуацию, не допуская искажения отчетности РСВ и 4-ФСС.
Разберем типичную ситуацию: в августе сотруднику был начислен отпуск, и в этом же месяце его доход нарастающим итогом превысил предельную величину для взносов (например, по ФСС или ОПС). В октябре в систему вводится больничный лист, который «наслаивается» на период августовского отпуска. Программа автоматически производит сторнирование суммы отпуска за август.
Согласно правилам учета, если исходное начисление (отпуск) в августе частично или полностью облагалось взносами «свыше предела», то и его сторнирование должно в первую очередь уменьшать базу «свыше предела». Однако из-за ошибки в алгоритмах старых релизов (в частности, 3.1.8.155) система игнорирует предельную величину и сторнирует взносы с полной суммы начисления по основному тарифу. В итоге возникают необоснованные отрицательные суммы взносов («минусы»), которых быть не должно, так как в исходном периоде взносы с этой части дохода не начислялись.
Проанализируем основные способы решения этой проблемы, начиная с самых простых и заканчивая методами ручной корректировки регистров.
Первым делом попробуем заставить систему пересмотреть распределение базы с помощью штатных механизмов перерасчета. Документ Начисление зарплаты и взносов при автоматическом заполнении может некорректно связывать периоды, поэтому мы воспользуемся специализированным инструментом.
Этот метод является наиболее предпочтительным, так как он сохраняет автоматизацию учета и минимизирует риск ошибок при ручном вводе данных.
Если автоматический пересчет не помог, и программа упорно продолжает сторнировать взносы с полной суммы, необходимо прибегнуть к ручной корректировке. Для этого в 1С предусмотрен документ Операция учета взносов.
Выясним причину расхождения, сформировав отчет Карточка учета страховых взносов по конкретному сотруднику. Если мы видим, что в колонке «свыше предельной величины» суммы не соответствуют реальности, выполним следующие действия:
Важно: этот документ напрямую делает записи в регистры накопления, минуя общие алгоритмы расчета, поэтому будьте предельно внимательны при заполнении сумм.
Для глубокого понимания проблемы и её исправления на техническом уровне нам необходимо проанализировать состояние регистров. В 1С:ЗУП 3.1 основными регистрами, отвечающими за расчет взносов, являются:
СтраховыеВзносыПоФизическимЛицам — здесь хранятся суммы исчисленных взносов.СведенияОДоходахСтраховыеВзносы — здесь фиксируется облагаемая база.Рассмотрим логику, по которой система должна производить записи. Если предел достигнут, запись должна выглядеть примерно так:
// Пример логики сторнирования при достижении предела
СуммаСторно = -10000;
БазаСвышеПредела = ПолучитьОстатокБазыСвышеПредела(Сотрудник, Август);
Если БазаСвышеПредела >= Абс(СуммаСторно) Тогда
// Весь сторно уходит в базу "свыше предела", взносы не меняются
ЗаписатьВРегистрДоходов(Сотрудник, Август, СуммаСторно, "СвышеПредела");
Иначе
// Часть сторно уменьшает базу "свыше предела", остаток уменьшает обычную базу
ОстатокСторно = СуммаСторно + БазаСвышеПредела;
ЗаписатьВРегистрДоходов(Сотрудник, Август, -БазаСвышеПредела, "СвышеПредела");
ЗаписатьВРегистрДоходов(Сотрудник, Август, ОстатокСторно, "ДоПредела");
ЗаписатьВРегистрВзносов(Сотрудник, Август, ОстатокСторно * Тариф);
КонецЕсли;
Если вы обнаружили, что в регистре СведенияОДоходахСтраховыеВзносы записи по сторно не разделяются на «до» и «после» предела, это подтверждает программную ошибку. В таком случае, помимо документа Операция учета взносов, может помочь временное обновление конфигурации или применение патча (исправления).
Поскольку рассматриваемая ошибка (30159727) была официально признана и исправлена компанией 1С в последующих релизах, лучшим долгосрочным решением будет обновление программы. На текущий момент рекомендуется использовать версии веток 3.1.27 или 3.1.30.
Проанализируем преимущества перехода на новые версии:
Перед любым массовым перерасчетом или обновлением обязательно создайте резервную копию базы данных. После исправления ситуации со сторно всегда проверяйте итоговые суммы в отчетах «Анализ взносов в фонды» и «Проверка расчета взносов», чтобы убедиться в отсутствии «разрывов» между базой и начисленными суммами.