Как вычесть суммы удержаний из налогооблагаемой базы НДФЛ в 1С:ЗУП

Программист 1С v8.3 (Обычные формы) 1С:Зарплата и Управление Персоналом Налоговый учет
← На главную

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

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

Выясним причину: почему налог пересчитывается в следующем месяце

Чтобы понять, почему программа делает автоматический перерасчет, разберем механизм работы налогового учета в конфигурации 1С:Зарплата и Управление Персоналом.

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

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

  1. Суммирует все зарегистрированные доходы сотрудника с начала года из налогового регистра.
  2. Рассчитает положенную сумму налога за весь период по установленной ставке.
  3. Вычтет из полученного результата сумму налога, фактически удержанную за предыдущие месяцы.
  4. Обнаружит расхождение и автоматически доначислит сумму, на которую налог был уменьшен вручную в прошлом месяце.

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

Способ 1. Использование начисления с отрицательной суммой

Рассмотрим наименее трудоемкий способ настройки учета без изменения программного кода конфигурации. Вместо вида расчета из категории удержаний создадим специальный вид расчета в категории начислений.

Разберем порядок настройки по шагам:

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

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

Способ 2. Регистрация сумм через механизм налоговых вычетов

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

Проанализируем порядок действий при таком подходе:

  1. Проверим наличие нужного кода вычета в справочнике Виды вычетов НДФЛ (например, социальные вычеты по негосударственному пенсионному обеспечению или добровольному страхованию).
  2. Для учета суммы вычета воспользуемся специализированным документом Операция учета НДФЛ.
  3. Перейдем на вкладку Предоставленные вычеты и добавим строку с указанием физического лица, кода вычета и его суммы.

При проведении документа программа зафиксирует вычет в регистре налогового учета. При расчете налога расчетный модуль автоматически уменьшит доход на сумму зарегистрированного вычета.

Способ 3. Корректировка регистра доходов документом «Операция учета НДФЛ»

Если нужно явно скорректировать доход в налоговом учете без создания новых видов расчета, разберем вариант использования документа Операция учета НДФЛ для ввода отрицательного дохода.

  1. Создаем документ Операция учета НДФЛ на нужного сотрудника.
  2. Переходим на закладку Доходы.
  3. Добавляем строку, указав код дохода, дату получения дохода и сумму со знаком минус (соответствующую сумме проведенного удержания по ДМС или ПФ).
  4. Сохраняем и проводим документ.

Этот способ позволяет напрямую повлиять на записи регистра Сведения о доходах НДФЛ, благодаря чему базовый алгоритм расчета НДФЛ учтет уменьшенную налоговую базу без сбоев в последующих месяцах.

Способ 4. Доработка алгоритма сбора налогооблагаемой базы в конфигураторе

Если требования учета требуют автоматического вычета удержаний из базы НДФЛ строго при определенном расчете (например, для локализованных или нестандартных конфигураций), потребуется внесение изменений в программный код.

Рассмотрим техническую сторону доработки:

Логика сбора налогооблагаемой базы зашита в общем модуле УчетНДФЛ (или УчетНДФЛПереопределяемый в зависимости от редакции программы). Функция сбора доходов формирует запрос к регистрам расчета и накопления.

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


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

Добавив левое соединение с таблицей удержаний и вычтя суммы необходимых удержаний (по определенным видам расчета) из общей суммы доходов, мы получим скорректированную налогооблагаемую базу напрямую на уровне запроса. В этом случае расчет НДФЛ нарастающим итогом будет работать корректно и без дополнительных ручных операций.

← На главную