При расчете заработной платы в программе 1С:Зарплата и управление персоналом 8 (редакция 3.1) бухгалтеры нередко сталкиваются со сложными перерасчетами прошлых периодов. Типичный сценарий — сторнирование оклада за прошлый месяц из-за несвоевременно предоставленного больничного листа. Ситуация усложняется, если сотрудник имеет право на стандартные налоговые вычеты, а в текущем месяце увольняется. В таких случаях программа может ошибочно завысить сумму удерживаемого НДФЛ.
В этой статье мы подробно проанализируем, почему возникает данная проблема, рассмотрим внутренние алгоритмы учета НДФЛ в программе и разберем по шагам практические методы исправления этой ошибки.
Для понимания природы ошибки рассмотрим конкретную практическую ситуацию:
При оформлении окончательного расчета в документе Увольнение программа должна рассчитать НДФЛ нарастающим итогом за январь и февраль. Математически расчет выглядит следующим образом:
Доходы: 2 380,80 (январь) - 793,60 (сторно января) + 5 918,08 (больничный) + 5 675,80 (компенсация) = 13 181,08 рублей.
Вычеты: 2 800 (январь) + 2 800 (февраль) = 5 600 рублей.
Налоговая база: 13 181,08 - 5 600 = 7 581,08 рублей.
Исчисленный НДФЛ (13%): 7 581,08 * 13% = 986 рублей.
Однако на практике в версиях 1С:ЗУП 3.1.8 и 3.1.9 программа рассчитывает налог в размере 1 089 рублей. Разница составляет ровно 103 рубля, что соответствует 13% от сторнированной январской суммы оклада (793,60 * 13% = 103,17 руб.). Программа пытается удержать налог со сторнированного дохода, которого сотрудник фактически не получал.
Давайте детально проанализируем поведение алгоритмов 1С, чтобы понять причину сбоя. Ошибка кроется во взаимодействии нескольких механизмов платформы:
Разделение доходов по категориям. Начиная с версии ЗУП 3.1.8, программа жестко разделяет доходы по категориям. Сторнируемый оклад за январь относится к категории Оплата труда (код дохода 2000), а начисления февраля (больничный лист и компенсация отпуска при увольнении) относятся к категории Прочие доходы (коды 2300 и 4800). При сторнировании оклада за январь в межрасчетном документе (больничном листе) программа уменьшает базу по коду дохода 2000 за январь.
Учет отрицательного налога. Поскольку в январе НДФЛ фактически не начислялся (база была нулевой из-за вычета), сторнирование дохода приводит к возникновению «виртуального» отрицательного налога в размере -103 рубля по категории Оплата труда за январь. Согласно современным алгоритмам 1С, программа блокирует отражение отрицательного НДФЛ в межрасчетных документах, ожидая, что этот минус закроется при расчете зарплаты или увольнения в конце месяца.
Конфликт вычетов при окончательном расчете. При заполнении документа Увольнение программа видит уменьшение январской базы по коду 2000. Она пытается уменьшить (сторнировать) предоставленный в январе вычет, так как доход января стал меньше размера вычета. Но поскольку в феврале у сотрудника отсутствуют новые начисления по коду 2000 (он весь месяц болел и увольняется), алгоритм переноса вычетов и перерасчета налога «запутывается». Вместо корректного уменьшения итогового налога программа регистрирует сторно вычета отдельно от сторно дохода, что приводит к искусственному завышению исчисленного НДФЛ на те самые 103 рубля.
Если бы сотрудник продолжал работать в последующих месяцах, программа, скорее всего, выровняла бы эту сумму при расчете очередной зарплаты. Но при увольнении расчет является окончательным, и ошибка «зависает» в регистрах.
Рассмотрим несколько практических способов, которые помогут скорректировать налог и выплатить сотруднику правильную сумму.
Это самый быстрый и простой способ исправить ситуацию непосредственно в момент расчета увольнения. Если вам необходимо срочно выдать сотруднику расчет и отправить отчетность, выполните следующие действия:
Увольнение.После проведения документа обязательно пересчитайте и перезаполните созданную на его основании Ведомость на выплату. Сумма удерживаемого налога в ведомости должна автоматически синхронизироваться с исправленным значением из документа увольнения.
Если ручные правки в документе увольнения сбрасываются при последующих перерасчетах или вы хотите, чтобы исправление было зафиксировано строго в регистрах налогового учета, воспользуйтесь специализированным документом корректировки:
Операция учета НДФЛ.Увольнение и пересчитайте НДФЛ. Программа должна учесть внесенную операцию и рассчитать итоговый налог за февраль корректно без ручного вмешательства в самом увольнении.Этот метод часто используется опытными расчетчиками как обходной маневр для восстановления корректной последовательности расчетов:
Больничный лист, которым было зарегистрировано сторнирование оклада за январь.Увольнение. Налог рассчитается без ошибок, так как январская база не будет уменьшена в рамках этого документа.Чтобы в будущем полностью исключить возникновение подобных ошибок со сторнированием доходов прошлых периодов, мы рекомендуем скорректировать бизнес-процесс учета рабочего времени в вашей организации:
Отсутствие (болезнь, прогул, неявка) с кодом «НН» (Неявка по невыясненным причинам) за 31 января.Использование превентивной регистрации неявок — это наиболее надежный способ ведения учета, полностью избавляющий от системных ошибок распределения НДФЛ по категориям доходов при сторнировании в программе 1С:ЗУП 3.1.