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