Почему начисления и НДФЛ не попадают в отчеты в 1С:ЗУП 3.1 и как это исправить?

Бухгалтер 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Налоговый учет
← На главную

Каждый бухгалтер и расчетчик зарплаты в программе «1С:Зарплата и управление персоналом 3.1» (1С:ЗУП 3.1) хотя бы раз сталкивался с ситуацией, когда данные в отчетах по НДФЛ начинают «плыть». Например, сумма исчисленного налога или налоговая база в отчете «Анализ НДФЛ по месяцам» внезапно оказывается меньше, чем должна быть, а часть начислений (такие как разовые начисления или премии) просто игнорируются программой при формировании отчетов.

Попытки перепровести документы, удалить и заново выбрать сотрудника в ведомостях зачастую не приносят никакого результата. В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем внутренние механизмы программы 1С:ЗУП 3.1 и рассмотрим три эффективных способа решения этой проблемы, а также методы её профилактики.

Выясняем причину: техническая суть ошибки

Программа 1С:ЗУП 3.1 построена на строгом учете взаиморасчетов в разрезе так называемых документов-оснований. Когда мы начисляем сотруднику зарплату, премию или разовое начисление, программа фиксирует долг организации перед сотрудником не просто «общей суммой», а с привязкой к конкретному документу начисления. При выплате зарплаты через ведомости (ВедомостьВБанк, ВедомостьВКассу и т.д.) программа должна закрыть именно этот конкретный документ-основание.

Параллельно с этим программа ведет учет НДФЛ в специализированных регистрах накопления. Ключевыми для нашей проблемы являются следующие регистры:

  1. ЗарплатаКВыплате — определяет, какие суммы и по каким документам-основаниям еще предстоит выплатить сотруднику.
  2. ВзаиморасчетыССотрудниками — отвечает за баланс начислений и выплат в целом по сотруднику.
  3. БухгалтерскиеВзаиморасчетыССотрудниками — формирует данные для расчетных листков и определяет сальдо.
  4. РасчетыНалогоплательщиковСБюджетомПоНДФЛ — хранит сведения об исчисленном, удержанном и переданном в бюджет налоге.

Проблема возникает тогда, когда пользователи (расчетчики) начинают «залезать» в закрытые периоды. Если расчетчик открывает прошлый месяц (например, декабрь), перепроводит там документы или меняет суммы вручную в ведомостях, а в базе уже проведены начисления за будущие периоды (например, за март следующего года), то стройная цепочка связей рушится.

Программа 1С:ЗУП 3.1 по принципу FIFO (первым пришел — первым ушел) пытается автоматически распределить выплаты. В результате ведомость декабря «цепляет» мартовский документ-основание будущего года. Из-за этого в регистре НДФЛ за март появляется отрицательная сторнирующая запись (минус по НДФЛ) с датой начисления из декабря. Как следствие — мартовское начисление «выпадает» из анализа НДФЛ, а отчеты показывают заниженную базу и неверный налог.

---

Способ 1. Восстановление последовательности проведения (классический метод)

Рассмотрим самый очевидный, но трудоемкий метод — восстановление хронологической последовательности документов. Этот метод идеально подходит, если ошибка обнаружена быстро и документов в базе проведено еще не слишком много.

Проанализируем ситуацию по шагам:

  1. Определите, с какого именно момента началась пересортица. Для этого откройте универсальный отчет по регистру накопления ЗарплатаКВыплате с отбором по проблемному сотруднику.
  2. Распроведите все документы начислений и выплат, начиная с месяца, в котором обнаружена некорректная привязка (в нашем примере — с декабря). Обратите внимание: нужно именно распровести документы, а не просто перепроводить их «поверх».
  3. Последовательно, месяц за месяцем, начинайте проводить документы строго в хронологическом порядке: сначала документ начисления (например, «Начисление зарплаты и взносов» или «Разовое начисление»), затем — ведомость на выплату этой суммы.
  4. При проведении ведомостей обязательно проверяйте, чтобы в окне расшифровки выплаты (ссылка в колонке «К выплате») не было «чужих» документов-оснований и перекосов по периодам. Если в выплате декабря до сих пор стоит мартовский документ — удалите эту строку и заполните ведомость заново кнопкой «Заполнить».

Важное предупреждение: этот способ может быть опасен, если вы работаете в рабочей базе, где уже сдана отчетность по НДФЛ (6-НДФЛ) за прошлые периоды. Перепроведение старых документов может изменить суммы удержанного налога в закрытых кварталах!

---

Способ 2. Создание технической «нулевой» ведомости (быстрый и безопасный метод)

Если лезть в прошлые периоды категорически нельзя из-за сданной отчетности, мы можем использовать механизм автоматического выравнивания взаиморасчетов текущим периодом. Для этого мы создадим специальную выравнивающую техническую ведомость.

Разберем, как это сделать:

  1. Создайте новый документ ведомости (например, ВедомостьВБанк или ВедомостьЧерезРаздатчика) текущей датой в текущем расчетном периоде.
  2. В поле «Выплачивать» укажите «Зарплата за месяц» или выберите конкретный месяц, где зависла пересортица.
  3. Подберите в табличную часть только одного проблемного сотрудника с помощью кнопки «Подобрать».
  4. Программа автоматически проанализирует все незакрытые регистры и заполнит ведомость строками. Вы увидите, что в расшифровке платежа у сотрудника появились строки с положительными и отрицательными суммами по разным месяцам и разным документам-основаниям. В сумме эти строки дадут ровно 0 рублей.
  5. Такая ведомость называется «нулевой». При её проведении программа схлопнет зависшие остатки в регистрах взаиморасчетов, не меняя при этом реальную сумму выплаты сотруднику.

Важный нюанс по НДФЛ: Чтобы эта техническая ведомость не сделала ложных движений по регистру удержанного НДФЛ, лучше всего проводить её с видом выплаты «через раздатчика» или использовать временное расширение, которое отключает движения по НДФЛ для корректирующих ведомостей. Всегда проверяйте движения документа по кнопке «Дт/Кт» после проведения!

---

Способ 3. Корректировка через документ «Перенос данных» (экспертный метод)

Когда пересортица зашла слишком далеко и нулевые ведомости не помогают справиться с «зависшими» статьями финансирования или статьями расходов, на помощь приходит ручная корректировка регистров через технический документ ПереносДанных.

Выполним процедуру по шагам:

  1. Перейдите в раздел Администрирование — Перенос данных и создайте новый документ.
  2. В шапке документа нажмите кнопку «Настройка состава регистров» и отметьте флагами регистры накопления взаиморасчетов:
    • ЗарплатаКВыплате
    • ВзаиморасчетыССотрудниками
    • БухгалтерскиеВзаиморасчетыССотрудниками
  3. На основе данных универсального отчета по этим регистрам, внесите в документ корректирующие записи. Ваша задача — полностью продублировать ошибочные записи, но с противоположным знаком. Если в регистре висит «плюс» по неверному документу-основанию — сделайте запись с «минусом» по этому же документу, и наоборот.
  4. После проведения документа ПереносДанных регистры очистятся, и программа перестанет подтягивать неактуальные мартовские начисления в декабрьские документы.

Для программистов 1С, желающих автоматизировать исправление наборов записей без перепроведения документов-регистраторов, можно использовать программный код с флагом загрузки данных. Рассмотрим пример кода:


НаборЗаписей = РегистрыНакопления.РасчетыНалогоплательщиковСБюджетомПоНДФЛ.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаПроблемныйДокумент);
НаборЗаписей.Прочитать();

Для Каждого Запись Из НаборЗаписей Цикл
    // Проверяем некорректную дату регистрации начисления
    Если Запись.ПериодРегистрации > '20190101' Тогда 
        Запись.ПериодРегистрации = '20181231'; // Корректируем под реальный период выплаты
    КонецЕсли;
КонецЦикла;

НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Записать();

Этот код позволяет точечно исправить даты регистрации НДФЛ в проблемных наборах записей, минуя стандартные проверки конфигурации при проведении.

---

Как предотвратить проблему пересортицы в будущем?

Чтобы раз и навсегда обезопасить базу данных от подобных «сюрпризов» и избавить расчетчиков от необходимости вручную вычищать регистры, необходимо выполнить две критически важные настройки в 1С:ЗУП 3.1:

  1. Включите жесткий контроль выплат.
    Перейдите в меню Настройки — Расчет зарплаты и установите флаг «Проверяйте соответствие начислений и выплат». Эта настройка физически запретит программе проводить ведомости на выплату, если сумма в них превышает реально начисленную по документам-основаниям. Она также заблокирует изменение документов начислений, по которым уже прошли выплаты.
  2. Запретите ручные правки в ведомостях.
    Практически вся пересортица начинается в тот момент, когда расчетчик вручную меняет сумму в колонке «К выплате» непосредственно в ведомости, вместо того чтобы скорректировать первичный документ начисления. Приучите пользователей изменять данные только в документах-начислениях и перезаполнять ведомости автоматически.
  3. Своевременно устанавливайте дату запрета изменения данных.
    Как только отчетный период закрыт и сдан — обязательно устанавливайте дату запрета редактирования (меню Администрирование — Поддержка и обслуживание — Даты запрета изменения данных). Это лучшая защита от «шаловливых ручек», которые любят зайти в прошлый год и что-то там подправить.

Мы подробно разобрали причины возникновения пересортицы во взаиморасчетах по НДФЛ и методы борьбы с ней. Используйте эти инструкции, держите взаиморасчеты в чистоте, и ваши отчеты по НДФЛ всегда будут сходиться идеально!

← На главную