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