Кадровые перестановки и повторный прием ранее уволенных сотрудников — обычное дело для любой крупной организации. Однако в программе «1С:Зарплата и управление персоналом 3.1» (1С:ЗУП) эта рутинная процедура может преподнести неприятный сюрприз расчетчику. Вы оформляете прием нового сотрудника, рассчитываете его первую заработную плату, создаете ведомость на выплату и видите в ней десятки строк со старыми начислениями и удержаниями, датированными прошлыми годами (например, 2013 годом). При этом итоговая сумма к выплате за текущий месяц оказывается верной, но в расшифровках строк появляются огромные положительные и отрицательные суммы, которые «схлопываются» в ноль.
Проанализируем ситуацию, выясним скрытые причины этого поведения программы и детально разберем по шагам, какими профессиональными инструментами можно устранить эту проблему раз и навсегда.
Часто при заполнении ведомости на выплату первой зарплаты по вновь принятому сотруднику программа начинает подтягивать исторические данные за прошлые периоды работы этого человека. В ведомость попадает множество строк с плюсом и минусом на одну и ту же сумму. В итоге сальдо по старым периодам равно нулю, но внешний вид ведомости пугает бухгалтера, а проведение такого документа может нарушить учет по НДФЛ и испортить отчетность 6-НДФЛ.
Проблема кроется во взаимосвязи справочников Физические лица и Сотрудники. Когда сотрудник увольняется, его карточка в справочнике Сотрудники переносится в архив и скрывается. Однако карточка в справочнике Физические лица остается активной. При повторном приеме на работу крайне важно выбирать уже существующее физическое лицо, чтобы правильно велся учет страховых взносов, стажа и личных данных. Но именно эта связь «будит» старые регистры взаиморасчетов, которые велись по данному человеку много лет назад.
Основная техническая причина появления старых сумм — это пересортица (расхождение аналитики) во взаиморасчетах в прошлых периодах. Очень часто такие хвосты тянутся еще со времен переноса данных из старых версий программы (например, из 1С:ЗУП 2.5).
В программе 1С:ЗУП 3.1 взаиморасчеты с персоналом ведутся в строгом разрезе нескольких ключевых измерений:
Если в прошлых периодах (например, в 2013 году) зарплата сотруднику была начислена по одной статье финансирования (или по одному подразделению), а выплачена по другой, то для бухгалтера общий итог на бумаге равен нулю. Однако в регистрах программы остались «висеть» незакрытые записи: плюс по одной аналитике и минус по другой.
Пока сотрудник был уволен и скрыт в архиве, программа его не рассчитывала и не пыталась выплатить ему деньги. Но как только по этому физическому лицу появляется активный трудовой договор (новый элемент в справочнике Сотрудники, привязанный к старому Физическому лицу), алгоритм автозаполнения ведомости обращается к регистрам остатков. Программа видит незакрытые остатки в разрезе аналитики по этому человеку и пытается автоматически «схлопнуть» (закрыть) их в текущей ведомости, выводя строки с плюсами и минусами.
Посмотрим на пример запроса, который условно выполняет программа при заполнении ведомости:
ВЫБРАТЬ
ЗарплатаОстатки.ФизическоеЛицо КАК ФизическоеЛицо,
ЗарплатаОстатки.Сотрудник КАК Сотрудник,
ЗарплатаОстатки.Подразделение КАК Подразделение,
ЗарплатаОстатки.СтатьяФинансирования КАК СтатьяФинансирования,
ЗарплатаОстатки.СуммаКВыплатеОстаток КАК ОстатокКВыплате
ИЗ
РегистрНакопления.ЗарплатаКВыплате.Остатки(&Период, ФизическоеЛицо = &ВыбранноеФизЛицо) КАК ЗарплатаОстатки
ГДЕ
ЗарплатаОстатки.СуммаКВыплатеОстаток <> 0
Как мы видим, если по одной статье финансирования висит остаток +5000 рублей, а по другой -5000 рублей, то в сумме это дает ноль, но запрос вернет обе строки. Программа попытается их выплатить и выровнять аналитику.
Для полной картины и корректного исправления расчетных листков и аналитических отчетов нам необходимо анализировать три регистра накопления:
Зарплата к выплате (отвечает непосредственно за заполнение ведомостей);Взаиморасчеты с сотрудниками (влияет на баланс в расчетных листках и аналитических отчетах по зарплате);Бухгалтерские взаиморасчеты с сотрудниками (отвечает за формирование проводок и отражение в регламентированном учете).Чтобы локализовать проблему, воспользуемся стандартным инструментом платформы — Универсальным отчетом.
Выполним следующие шаги для анализа регистров:
Физическое лицо, Сотрудник, Подразделение, Статья финансирования (или Статья расходов), Период взаиморасчетов. Чтобы отличать старого сотрудника от нового, обязательно выведем дополнительное поле Табельный номер.В сформированном отчете мы наглядно увидим, на каких именно разрезах аналитики «зависли» старые суммы. Наша задача — сделать так, чтобы по всем аналитическим разрезам прошлых лет конечный остаток стал равен нулю.
Просто проигнорировать эти строки и провести ведомость (как иногда советуют на форумах) — плохое решение. Столкновение старых периодов с текущими может исказить учет НДФЛ, привести к неверному отражению удержанного налога в отчетности 6-НДФЛ или заблокировать проведение последующих выплат. Рассмотрим три надежных способа исправления ситуации.
Это самый простой и быстрый способ «схлопнуть» прошлые хвосты без изменения документов прошлых лет.
После проведения этой технической ведомости все остатки по регистру Зарплата к выплате спишутся в ноль, и при заполнении следующей штатной ведомости старые периоды больше не появятся.
Если техническая ведомость по каким-то причинам не помогает или если «хвосты» зависли в других регистрах (например, в регистре Взаиморасчеты с сотрудниками, из-за чего искажаются расчетные листки), применим более глубокую корректировку.
Зарплата к выплатеВзаиморасчеты с сотрудникамиБухгалтерские взаиморасчеты с сотрудникамиФизическое лицо, Сотрудник, Подразделение, Статья финансирования, Период взаиморасчетов именно так, как они были отражены в Универсальном отчете.Если у вас в базе много таких сотрудников (например, после масштабного переноса данных или слияния баз), ручной ввод документов Перенос данных по трем регистрам может занять колоссальное количество времени и привести к случайным ошибкам ввода.
В этом случае рекомендуется воспользоваться специализированными внешними обработками (такими как «Закрытие остатков по взаиморасчетам» или «Корректировка регистров выплат»). Эти обработки автоматически:
Перенос данных нужными записями.Рассмотрим частый сценарий, о котором упоминают практикующие специалисты. При повторном приеме сотрудника кадровик по ошибке создает абсолютно новую карточку в справочнике Физические лица (вместо того, чтобы выбрать старую запись). Через некоторое время расчетчик обнаруживает дубли и запускает стандартную обработку Поиск и удаление дублей.
В момент слияния карточек программа переносит все ссылки на документы и все движения по регистрам со старого (удаляемого) физлица на новое (сохраняемое). В этот самый момент все старые косяки и пересорты по аналитике с 2013 года, которые мирно «спали» на удаленном элементе, мгновенно привязываются к новой карточке физлица. При первом же заполнении ведомости программа видит эти незакрытые остатки и пытается выровнять их, выводя пугающие обороты в ведомость.
Поэтому перед слиянием дубликатов физических лиц всегда проверяйте наличие исторических остатков и будьте готовы провести техническую корректировку регистров одним из описанных выше способов.
Чтобы избежать подобных проблем в будущем, рекомендуем придерживаться следующих правил:
Физическое лицо, но создать для него новый элемент в справочнике Сотрудники.