Часто при переходе на новые версии программ, таких как «1С:Зарплата и управление персоналом 3» (1С:ЗУП) или «1С:Бухгалтерия 3.0», специалисты сталкиваются с необходимостью найти актуальные значения предельной величины базы страховых взносов. Разберем вместе, где именно в системе хранятся эти данные, как они обновляются и как программа рассчитывает взносы с сумм превышения.
Если раньше многие константы и ставки приходилось искать глубоко в конфигураторе или ждать глобального обновления всей программы, то в современных редакциях платформы (начиная с версий 3.1.4 для 1С:ЗУП) разработчики вынесли эту информацию в удобный пользовательский интерфейс.
Проанализируем, где можно просмотреть и при необходимости отредактировать законодательные значения вручную. Для этого перейдите по следующему пути:
В открывшемся окне вы увидите всю актуальную информацию по лимитам и ставкам, которые использует программа для расчета налогов и взносов.
Выясним, где эти данные хранятся на уровне базы данных. В системе предусмотрен специальный регистр сведений, который так и называется — Предельная величина базы страховых взносов. Именно к нему обращаются алгоритмы при расчете зарплаты, чтобы понять, достигнут ли лимит.
В современных версиях «1С:ЗУП» и «1С:Бухгалтерия» предельная величина поставляется в виде специального классификатора. Рассмотрим подробнее, как происходит обновление:
Значение предельной базы ежегодно индексируется государством. Программа хранит всю историю этих изменений. Посмотрим на актуальные лимиты, которые фиксируются в регистре:
Разберем по шагам, как система понимает, какие ставки применять после того, как доход сотрудника превысил предельную величину. Ранее (до 2023 года) фонды были разделены (ПФР, ФСС, ФОМС), и разработчикам приходилось внедрять в код довольно объемные конструкции. Посмотрим на пример устаревшего кода из обсуждения, где ставки (например, 10% для ПФР) были буквально «зашиты» в запрос:
| СУММА(ВЫРАЗИТЬ(ВЫБОР
| КОГДА НеОграниченнаяОблагаемаяБаза.Период < &ДатаВыделенияВзносовНаОПСсСуммПревышения
| ТОГДА 0
| КОГДА ОписаниеТарифов.НачислятьВзносыСПревышения
| ТОГДА ЕСТЬNULL(НеОграниченнаяОблагаемаяБаза.СуммаПревысившаяПределПФР, 0)
| ИНАЧЕ 0
| КОНЕЦ * 0.1 КАК ЧИСЛО(15, 2))) КАК РезультатПФРСПревышения,
| СУММА(ВЫБОР
| КОГДА НеОграниченнаяОблагаемаяБаза.Период < &ДатаВыделенияВзносовНаОПСсСуммПревышения
| ТОГДА (ВЫРАЗИТЬ((НеОграниченнаяОблагаемаяБаза.БазаПФР - ЕСТЬNULL(НеОграниченнаяОблагаемаяБаза.СуммаПревысившаяПределПФР, 0)) * ОсновнойТариф.ПФР / 100 КАК ЧИСЛО(15, 2))) + (ВЫРАЗИТЬ(ВЫБОР
| КОГДА ОписаниеТарифов.НачислятьВзносыСПревышения
| ТОГДА ЕСТЬNULL(НеОграниченнаяОблагаемаяБаза.СуммаПревысившаяПределПФР, 0) * 0.1
| ИНАЧЕ 0
| КОНЕЦ КАК ЧИСЛО(15, 2)))
| ИНАЧЕ 0
| КОНЕЦ) КАК РезультатПФРПоСуммарномуТарифу
Как видно из примера, умножение на 0.1 (то есть на 10%) применялось жестко в коде запроса. Однако, с 2023 года в России произошло глобальное изменение: фонды объединились в единый Социальный фонд России (СФР), а вместо отдельных взносов был введен Единый тариф страховых взносов.
Проанализируем современную логику работы 1С. Огромные конструкции с хардкод-проверками были заменены на более универсальные алгоритмы. Теперь ставки корректно вынесены в обновляемые классификаторы и регистры. Для общего тарифа логика следующая:
Таким образом, для анализа превышений по сотрудникам и правильного начисления взносов вам больше не нужно искать зашитые в коде коэффициенты — достаточно убедиться, что регистр Предельная величина базы страховых взносов содержит актуальные данные на текущий год, а в системе установлены последние версии законодательных классификаторов.