При ведении учета зарплаты иногда возникает необходимость вычитать из налогооблагаемой базы по НДФЛ суммы определенных удержаний — например, добровольных медицинских взносов, пенсионных отчислений или страховых премий. Однако при попытке просто уменьшить рассчитанный налог вручную или задать формулу в виде расчета пользователи сталкиваются с проблемой: в следующем месяце программа автоматически доначисляет удержанный ранее налог.
В этой статье мы подробно проанализируем, почему возникает такое поведение системы, и рассмотрим проверенные способы настройки и доработки программы для правильного учета таких вычетов.
Чтобы понять, почему программа делает автоматический перерасчет, разберем механизм работы налогового учета в конфигурации 1С:Зарплата и Управление Персоналом.
Расчет НДФЛ в платформе 1С всегда выполняется нарастающим итогом с начала налогового периода (календарного года). Налогооблагаемая база формируется исключительно на основе специализированных регистров накопления и сведений налогового учета (например, регистры Сведения о доходах НДФЛ или Учет доходов для расчета НДФЛ).
Обычные виды расчета из категории удержаний отражаются в регистрах расчета зарплаты, но не попадают в налоговые регистры доходов. Если просто скорректировать сумму налога в документе начисления зарплаты без изменения записей в регистрах доходов, при следующем расчете зарплаты алгоритм системы выполнит следующие действия:
Для решения задачи необходимо сделать так, чтобы сумма, уменьшающая базу НДФЛ, правильно отражалась в регистрах налогового учета.
Рассмотрим наименее трудоемкий способ настройки учета без изменения программного кода конфигурации. Вместо вида расчета из категории удержаний создадим специальный вид расчета в категории начислений.
Разберем порядок настройки по шагам:
Корректировка базы НДФЛ (ДМС)).Так как элемент относится к категории начислений, программа автоматически внесет отрицательную запись в налоговый регистр доходов. В результате налогооблагаемая база уменьшится корректно, и при расчете НДФЛ в следующих месяцах система не будет производить нежелательных перерасчетов.
Если добровольные пенсионные или медицинские взносы по правилам применяемого законодательства квалифицируются как налоговые вычеты, правильным решением будет регистрация их в системе через специализированный механизм вычетов.
Проанализируем порядок действий при таком подходе:
При проведении документа программа зафиксирует вычет в регистре налогового учета. При расчете налога расчетный модуль автоматически уменьшит доход на сумму зарегистрированного вычета.
Если нужно явно скорректировать доход в налоговом учете без создания новых видов расчета, разберем вариант использования документа Операция учета НДФЛ для ввода отрицательного дохода.
Этот способ позволяет напрямую повлиять на записи регистра Сведения о доходах НДФЛ, благодаря чему базовый алгоритм расчета НДФЛ учтет уменьшенную налоговую базу без сбоев в последующих месяцах.
Если требования учета требуют автоматического вычета удержаний из базы НДФЛ строго при определенном расчете (например, для локализованных или нестандартных конфигураций), потребуется внесение изменений в программный код.
Рассмотрим техническую сторону доработки:
Логика сбора налогооблагаемой базы зашита в общем модуле УчетНДФЛ (или УчетНДФЛПереопределяемый в зависимости от редакции программы). Функция сбора доходов формирует запрос к регистрам расчета и накопления.
Для реализации вычета удержаний из базы необходимо отредактировать текст запроса формирования базы НДФЛ. Посмотрим на пример концептуального изменения структуры запроса:
// В функции сбора базы НДФЛ модуля УчетНДФЛ
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОсновныеДоходы.Сотрудник КАК Сотрудник,
| ОсновныеДоходы.СуммаДохода - ЕСТЬНУЛЛ(Удержания.СуммаУдержания, 0) КАК НалогооблагаемаяБаза
|ИЗ
| РегистрНакопления.СведенияОДоходахНДФЛ КАК ОсновныеДоходы
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Удержания КАК Удержания
| ПО ОсновныеДоходы.Сотрудник = Удержания.Сотрудник
| И ОсновныеДоходы.ПериодРегистрации = Удержания.ПериодРегистрации";
Добавив левое соединение с таблицей удержаний и вычтя суммы необходимых удержаний (по определенным видам расчета) из общей суммы доходов, мы получим скорректированную налогооблагаемую базу напрямую на уровне запроса. В этом случае расчет НДФЛ нарастающим итогом будет работать корректно и без дополнительных ручных операций.