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