Почему двоятся суммы и НДФЛ в Справке о доходах при перерасчете премии с кодом 2002?

Программист 1С v7.7 1С:Зарплата и Управление Персоналом Налоговый учет
← На главную

При формировании отчетности по НДФЛ (Справка о доходах, 2-НДФЛ) пользователи нередко сталкиваются с ситуацией, когда изменение кода дохода начисления с 2000 на 2002 приводит к неожиданному росту налоговой базы и исчисленного налога. Если в расчетном периоде проводился перерасчет зарплаты за прошлые месяцы со сторнированием премии (плюс и минус в сумме давали ноль), то в справке отображается только положительная сумма перерасчета, а сторно текущего месяца игнорируется. В результате происходит задвоение дохода. Разберем, почему возникает эта ошибка в механизмах расчета и какими способами ее можно устранить.

Причины возникновения коллизии при смене кода дохода

Проанализируем механику работы периодических расчетов и налогового учета. Код дохода 2000 присваивается вознаграждению за выполнение трудовых обязанностей (окладу, регулярной оплате труда). По нормам налогового законодательства датой фактического получения такого дохода признается последний день месяца, за который он был начислен. В типовых конфигурациях виды расчетов с кодом 2000 учитываются по периоду действия.

Код дохода 2002 введен для премий за производственные результаты. В конфигурациях прошлых версий алгоритмы сбора данных для НДФЛ распределяли начисления по двум спискам: учитываемые по периоду действия и учитываемые по периоду регистрации (по дате фактической выплаты). Код 2002 по умолчанию попадал в категорию выплат по периоду регистрации.

Когда расчетчик оформляет исправление прошлого периода, в журнале расчетов создается сторнирующая запись за прошлый месяц, зарегистрированная в текущем расчетном месяце. Налоговые форматы не допускают отрицательных сумм в доходах за отдельный месяц. Типовой механизм сбора данных, обрабатывая доходы «по периоду регистрации», отсекает отрицательные сторно-записи, чтобы не образовался отрицательный доход в месяце регистрации. Положительное доначисление принимается, а сторно теряется, что и приводит к завышению облагаемой базы.

Способ 1. Включение кода 2002 в список начислений по периоду действия

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

Откроем конфигуратор и перейдем в глобальный модуль. Найдем процедуру ГлПолучитьСписокВРДляРасчетаНДФЛ2016 (или аналогичную функцию сбора списков видов расчета для соответствующего налогового периода). В исходном коде распределение начислений выглядит следующим образом:


Если (КодДохода="2000") Или ((КодДохода="2012") И (УчетОтпуска=0)) Тогда
    СписокВРПоПериодуДействияГод.ДобавитьЗначение(ВР);
Иначе
    СписокВРПоПериодуРегистрацииГод.ДобавитьЗначение(ВР);
КонецЕсли;

Изменим условие, добавив проверку кода дохода 2002, чтобы премия учитывалась в налоговой базе по периоду действия:


Если (КодДохода="2000") Или (КодДохода="2002") Или ((КодДохода="2012") И (УчетОтпуска=0)) Тогда
    СписокВРПоПериодуДействияГод.ДобавитьЗначение(ВР);
Иначе
    СписокВРПоПериодуРегистрацииГод.ДобавитьЗначение(ВР);
КонецЕсли;

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

Способ 2. Корректировка алгоритма обработки сторно по периоду регистрации

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

Разберем универсальное решение. Найдем в глобальном модуле функцию глСобратьДанныеДляНДФЛ2016 и строку с установкой флага ДоходыПоРегистрацииСторно=1. Исходный проблемный блок выглядит так:


//если вызов функции осуществлен для распределения НДФЛ по ИФ, не регистрируем в таблице доходов
//сторно дохода по периоду регистрации, зарегистрированные в периоде формирования отчета
Если (ВызовДляРаспределенияНДФЛ=0) или ((ВызовДляРаспределенияНДФЛ=1) и (ЖрнЗарплата.НачалоПериодаПоДате(ПериодРегистрации)<>ЖрнЗарплата.НачалоПериодаПоДате(ДатаАктуальности))) Тогда
    ДоходыПоРегистрацииСторно=1;
КонецЕсли;

Заменим этот фрагмент на обработку с проверкой групп расчетов. Если сторнируемый вид расчета относится к отпускам или больничным и зарегистрирован в рамках текущего отчетного года, включим его в доходы по регистрации напрямую:


Если (ВызовДляРаспределенияНДФЛ=0) или ((ВызовДляРаспределенияНДФЛ=1) и (ЖрнЗарплата.НачалоПериодаПоДате(ПериодРегистрации)<>ЖрнЗарплата.НачалоПериодаПоДате(ДатаАктуальности))) Тогда
    Если (ВР.ВходитВГруппу(ГруппаРасчетов.Отпуска)=1) или (ВР.ВходитВГруппу(ГруппаРасчетов.БольничныеЛисты)=1) Тогда
        Если (ПериодРегистрации>=НачалоГода) и (ПериодРегистрации<=ОкончаниеГода) Тогда
            ДоходыПоРегистрации=1;
        Иначе
            Продолжить;
        КонецЕсли;
    Иначе
        ДоходыПоРегистрацииСторно=1;
    КонецЕсли;
КонецЕсли;

Посмотрим на результат модификации: программа перестает отбрасывать сторнирующие записи внутри текущего года для указанных групп начислений, обеспечивая корректный итоговый расчет базы без искажения закрытых налоговых периодов.

Альтернативные способы исправления без изменения программного кода

Если внесение правок в глобальный модуль конфигурации нежелательно или база находится на строгой типовой поддержке, проанализируем регламентные пути решения проблемы:

  1. Обновление конфигурации: Данная проблема классифицировалась как ошибка релизов переходного периода. В последующих обновлениях логика функции сбора данных для НДФЛ была оптимизирована с учетом особенностей кодов 2002 и 2003.
  2. Ручная корректировка справки о доходах: При разовых расхождениях в документе формирования справки (или отчетной формы) в строках соответствующего сотрудника суммы дохода и исчисленного налога за проблемные месяцы уменьшаются вручную до фактически причитающихся величин.
  3. Использование специализированных документов налогового учета: Ввод корректировок через документ Корректировка данных по НДФЛ позволяет зарегистрировать правильные суммы дохода с нужным кодом без вмешательства в журналы расчетов.
  4. Разделение видов расчетов: Создание двух отдельных начислений в плане видов расчетов — для премий, входящих в регулярную систему оплаты труда (с кодом 2002 и признаком учета в конце месяца), и для разовых поощрительных выплат, выплачиваемых нерегулярно.
← На главную