При ведении учета заработной платы в программе 1С:Бухгалтерия предприятия 3.0 бухгалтеры часто сталкиваются с ситуацией, когда данные в Регистре налогового учета по НДФЛ и в регламентированном отчете 6-НДФЛ не совпадают по строкам удержанного налога. Типичный пример: зарплата за июнь начислена 30.06, а выплачена 10.07. В Регистре за полугодие мы видим налог как удержанный, а в 6-НДФЛ за тот же период — нет. В этой статье мы подробно разберем, почему так происходит, является ли это ошибкой и как правильно проверять отчетность.
Для начала проанализируем ситуацию с точки зрения алгоритмов программы. В 1С реализованы разные принципы группировки данных для внутренних регистров и для внешней отчетности. Это часто сбивает с толку, но такая логика обусловлена требованиями Налогового кодекса РФ.
Регистр налогового учета по НДФЛ строится по принципу «привязки к доходу». Когда мы открываем этот отчет, программа собирает информацию за налоговый период (год). Если доход (зарплата) относится к июню, то все операции, связанные с этим доходом — исчисление, удержание и перечисление — программа стремится показать в блоке за июнь. Это сделано для того, чтобы пользователь мог наглядно увидеть: налог по конкретному начислению полностью закрыт. Даже если физическое удержание произошло в июле, в Регистре оно отобразится рядом с исчисленным налогом июня.
Отчет 6-НДФЛ работает иначе. Он строится строго по датам фактических событий. Раздел 1 (в старых редакциях) и соответствующие блоки Раздела 2 заполняются на основании даты фактического удержания налога. Если деньги выплачены сотруднику 10 июля, то и удержание НДФЛ произошло 10 июля. Следовательно, эта сумма должна попасть в отчет за 9 месяцев, а не за полугодие.
Выясним причину расхождения: если мы пытаемся сверять итоговую сумму «Удержано» из Регистра за 6 месяцев с данными строки 070 (или аналогичной в новых формах) отчета 6-НДФЛ за полугодие, мы неизбежно получим разницу на сумму июньской зарплаты, выплаченной в июле. Это нормальное поведение системы, предусмотренное разработчиками.
Рассмотрим подробнее один из самых неочевидных нюансов работы в 1С — влияние даты на титульном листе отчета. Многие пользователи замечают, что при изменении даты формирования отчета меняются и цифры в нем. Особенно это касается строки 080 «Сумма налога, не удержанная налоговым агентом».
Проанализируем алгоритм 1С: программа сравнивает дату выплаты зарплаты из документа Ведомость с датой, указанной на титульном листе 6-НДФЛ. Рассмотрим пример:
Начисление зарплаты), но дата фактической выплаты (05.10) еще не наступила относительно даты отчета.Чтобы избежать этой ошибки, всегда придерживайтесь правила: дата на титульном листе отчета 6-НДФЛ должна быть не ранее даты фактической выплаты зарплаты за последний месяц отчетного периода. В нашем примере необходимо установить дату подписи не ранее 05.10.2018. Это позволит программе «увидеть» удержание и корректно распределить суммы по периодам.
Если вы сомневаетесь в правильности заполнения Регистра налогового учета, рекомендуем выполнить следующие действия:
Шаг 1. Проверка хронологии документов.
НДФЛ в 1С крайне чувствителен к последовательности проведения документов. Если вы сначала создали Ведомость на выплату, а потом изменили Начисление зарплаты, программные регистры (такие как НДФЛ к перечислению) могут работать некорректно. Рассмотрим правильный порядок:
Начисление зарплаты и взносов.Ведомость (в кассу или на счета). Проверьте, чтобы сумма НДФЛ в ведомости совпадала с исчисленным налогом.Списание с расчетного счета или Расходный кассовый ордер).Шаг 2. Использование вспомогательных отчетов.
Вместо регламентированного Регистра для проверки лучше использовать отчет «Анализ НДФЛ по месяцам» (раздел Зарплата и кадры -> Отчеты по зарплате). Посмотрим на настройки этого отчета: он позволяет увидеть суммы исчисленного, удержанного и перечисленного налога в разрезе месяцев начисления. Если в колонке «Осталось удержать» висит сумма, которая по факту была выплачена, значит, в программе есть «пересортица» по документам-основаниям.
Шаг 3. Анализ регистра накопления.
Для продвинутых пользователей полезно проанализировать записи регистра накопления Расчеты налогоплательщиков с бюджетом по НДФЛ. Именно на основании записей этого регистра строится и 6-НДФЛ, и Регистр налогового учета. Обратите внимание на колонку «Вид движения»: Приход означает исчисление налога, Расход — его удержание при выплате.
Важно отметить, что правила, обсуждаемые в контексте 2018 года, претерпели радикальные изменения. С 1 января 2023 года понятие «дата получения дохода в последний день месяца» для зарплаты отменено. Теперь доход признается по дате фактической выплаты.
Это означает, что современная логика программы стала проще:
Проанализируем ситуацию, когда вам все же нужно «подогнать» Регистр под 6-НДФЛ для внутренней проверки. Как советовали участники форума, можно попробовать установить рабочую дату в персональных настройках программы (Главное -> Персональные настройки). Однако, как показывает практика, это не всегда влияет на формирование уже записанных данных. Более надежный способ — формирование отчета с четким указанием периода, не захватывающего будущие выплаты, если это позволяет структура отчета.
Посмотрим на пример кода, который описывает логику заполнения строки 080 (условно, для понимания принципа):
Если ДатаВыплаты > ДатаОформленияОтчета Тогда
// Налог считается исчисленным, но еще не удержанным
Результат.Строка080 = СуммаНДФЛ;
Иначе
// Налог считается удержанным
Результат.Строка070 = СуммаНДФЛ;
КонецЕсли;
Этот упрощенный пример наглядно показывает, почему так важно следить за датами. Подведем итог: расхождения между Регистром налогового учета и 6-НДФЛ в части удержанного налога при переходящих выплатах — это не ошибка программы, а следствие разной группировки данных. Для успешной сдачи отчетности ориентируйтесь на дату фактической выплаты дохода и всегда проверяйте актуальность даты на титульном листе 6-НДФЛ.