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