Почему не рассчитывается НДФЛ в документе «Отпуск» в 1С:ЗУП 3.1 и как это исправить?

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

Ситуация, когда в программе 1С:Зарплата и Управление Персоналом (ЗУП) версии 3.1 расчет отпускных проходит корректно, а вкладка НДФЛ остается пустой или содержит нулевые значения, является довольно распространенной. Особенно часто это встречается в старых релизах (например, 3.1.5), но может проявляться и в актуальных версиях из-за специфики учета налогов. Проанализируем основные причины этой проблемы и разберем пошагово методы ее решения.

Анализируем влияние даты выплаты дохода

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

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

Решение: Убедимся, что установлена корректная дата выплаты и выбран способ В межрасчетный период.

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

Одной из самых частых причин «нулевого» НДФЛ является применение стандартных налоговых вычетов (например, на детей). В ЗУП 3.1 реализован алгоритм «упреждающего» применения вычетов. Рассмотрим подробнее:

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

Техническая ошибка алгоритма расчета в релизах 3.1.5

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

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

Разберем, как выглядит логика (упрощенно):


// Фрагмент логики расчета
Если РезультатТаблица.НалогПоСтавке13 < 0 Тогда
    // Программа считает, что налог уже излишне исчислен 
    // и не создает новую строку в документе Отпуск
КонецЕсли;

Способ исправления: Попробуем временно изменить дату выплаты в документе Отпуск на другое число (например, вместо 1-го марта поставить 2-е марта) и нажмем кнопку «Пересчитать НДФЛ» (зеленый значок карандаша рядом с суммой налога). Если налог появился — значит, мы столкнулись именно с этой ошибкой округления.

Анализ регистров накопления

Если визуально в документе все верно, необходимо «раскопать» данные в регистрах. НДФЛ в ЗУП 3.1 живет в нескольких ключевых местах:

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

Пошаговый алгоритм диагностики

Если вы столкнулись с отсутствием расчета НДФЛ, выполним следующие действия:

  1. Откроем расшифровку налога (нажать на «зеленый карандаш» в поле НДФЛ). Проанализируем колонки Вычеты и Налог.
  2. Проверим поле Дата выплаты. Она должна совпадать с предполагаемым днем выдачи денег.
  3. Проанализируем регистр Учет доходов для НДФЛ. Нет ли там записей на ту же дату с другими суммами, которые могут «поглощать» текущий расчет.
  4. Убедимся, что документ Начисление зарплаты и взносов за этот месяц еще не проведен или не содержит этого сотрудника (иногда расчет «схватывается» там, если он был создан раньше отпуска).
  5. Попробуем способ «обнуления»: удалим строку сотрудника из документа, запишем документ, и добавим сотрудника заново. Это принудительно очистит кэш расчета для данной транзакции.

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

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

← На главную