Почему при выплате зарплаты новому сотруднику в 1С:ЗУП 3.1 «вылезают» старые взаиморасчеты прошлых лет и как это исправить

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

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

Проанализируем ситуацию, выясним скрытые причины этого поведения программы и детально разберем по шагам, какими профессиональными инструментами можно устранить эту проблему раз и навсегда.

Суть проблемы: откуда берутся миллионные обороты в первой ведомости

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

Проблема кроется во взаимосвязи справочников Физические лица и Сотрудники. Когда сотрудник увольняется, его карточка в справочнике Сотрудники переносится в архив и скрывается. Однако карточка в справочнике Физические лица остается активной. При повторном приеме на работу крайне важно выбирать уже существующее физическое лицо, чтобы правильно велся учет страховых взносов, стажа и личных данных. Но именно эта связь «будит» старые регистры взаиморасчетов, которые велись по данному человеку много лет назад.

Главная причина — скрытая аналитическая пересортица

Основная техническая причина появления старых сумм — это пересортица (расхождение аналитики) во взаиморасчетах в прошлых периодах. Очень часто такие хвосты тянутся еще со времен переноса данных из старых версий программы (например, из 1С:ЗУП 2.5).

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

  1. Физическое лицо;
  2. Сотрудник;
  3. Подразделение;
  4. Статья расходов / Статья финансирования;
  5. Период взаиморасчетов (месяц, в котором начислена зарплата);
  6. Вид дохода исполнительного производства;
  7. Документ-основание.

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

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

Посмотрим на пример запроса, который условно выполняет программа при заполнении ведомости:


ВЫБРАТЬ
    ЗарплатаОстатки.ФизическоеЛицо КАК ФизическоеЛицо,
    ЗарплатаОстатки.Сотрудник КАК Сотрудник,
    ЗарплатаОстатки.Подразделение КАК Подразделение,
    ЗарплатаОстатки.СтатьяФинансирования КАК СтатьяФинансирования,
    ЗарплатаОстатки.СуммаКВыплатеОстаток КАК ОстатокКВыплате
ИЗ
    РегистрНакопления.ЗарплатаКВыплате.Остатки(&Период, ФизическоеЛицо = &ВыбранноеФизЛицо) КАК ЗарплатаОстатки
ГДЕ
    ЗарплатаОстатки.СуммаКВыплатеОстаток <> 0

Как мы видим, если по одной статье финансирования висит остаток +5000 рублей, а по другой -5000 рублей, то в сумме это дает ноль, но запрос вернет обе строки. Программа попытается их выплатить и выровнять аналитику.

В каких регистрах накапливаются эти ошибки и как их обнаружить

Для полной картины и корректного исправления расчетных листков и аналитических отчетов нам необходимо анализировать три регистра накопления:

  1. Зарплата к выплате (отвечает непосредственно за заполнение ведомостей);
  2. Взаиморасчеты с сотрудниками (влияет на баланс в расчетных листках и аналитических отчетах по зарплате);
  3. Бухгалтерские взаиморасчеты с сотрудниками (отвечает за формирование проводок и отражение в регламентированном учете).

Чтобы локализовать проблему, воспользуемся стандартным инструментом платформы — Универсальным отчетом.

Пошаговый разбор: как локализовать проблему с помощью Универсального отчета

Выполним следующие шаги для анализа регистров:

  1. Перейдем в раздел Администрирование — Универсальный отчет.
  2. В поле «Тип объекта» выберем Регистр накопления.
  3. В поле «Имя объекта» выберем регистр Зарплата к выплате, тип таблицы — Остатки и обороты.
  4. Нажмем кнопку Настройки и перейдем в режим Расширенный.
  5. На вкладке Группировка добавим поля: Физическое лицо, Сотрудник, Подразделение, Статья финансирования (или Статья расходов), Период взаиморасчетов. Чтобы отличать старого сотрудника от нового, обязательно выведем дополнительное поле Табельный номер.
  6. На вкладке Отбор установим фильтр по нашему физическому лицу.
  7. Нажмем кнопку Закрыть и сформировать.

В сформированном отчете мы наглядно увидим, на каких именно разрезах аналитики «зависли» старые суммы. Наша задача — сделать так, чтобы по всем аналитическим разрезам прошлых лет конечный остаток стал равен нулю.

Три практических способа устранения проблемы

Просто проигнорировать эти строки и провести ведомость (как иногда советуют на форумах) — плохое решение. Столкновение старых периодов с текущими может исказить учет НДФЛ, привести к неверному отражению удержанного налога в отчетности 6-НДФЛ или заблокировать проведение последующих выплат. Рассмотрим три надежных способа исправления ситуации.

Способ №1. Формирование «технической» нулевой ведомости

Это самый простой и быстрый способ «схлопнуть» прошлые хвосты без изменения документов прошлых лет.

  1. Создадим новый документ ведомости (например, Ведомость в банк или Ведомость через раздатчика).
  2. В поле Месяц выплаты укажем текущий рабочий месяц.
  3. Нажмем кнопку Заполнить. В ведомость подтянутся строки текущего месяца и все старые «хвосты» с плюсами и минусами.
  4. Удалим из ведомости всех остальных сотрудников, оставив только нашего проблемного работника.
  5. Отредактируем строку сотрудника: удалим начисления текущего месяца, оставив только старые взаиморасчеты прошлых лет. Сумма к выплате в итоге должна стать строго равной 0 рублей.
  6. Важно: Перейдем в колонку НДФЛ к перечислению (или откроем расшифровку выплаты) и полностью очистим строки, связанные с налогом. На вкладке НДФЛ не должно быть никаких записей, иначе программа зарегистрирует фиктивное удержание или возврат налога. В некоторых релизах для этого можно использовать специальный флаг «Не формировать движения по НДФЛ» или вручную удалить строки на вкладке НДФЛ.
  7. Проведем документ.

После проведения этой технической ведомости все остатки по регистру Зарплата к выплате спишутся в ноль, и при заполнении следующей штатной ведомости старые периоды больше не появятся.

Способ №2. Использование документа «Перенос данных» для ручной корректировки

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

  1. Перейдем в раздел Администрирование — Переносы данных.
  2. Создадим новый документ. В качестве номера и даты укажем текущие значения.
  3. Нажмем кнопку Настройка состава регистров на панели документа.
  4. В открывшемся окне на вкладке Регистры накопления отметим флагами три регистра:
    • Зарплата к выплате
    • Взаиморасчеты с сотрудниками
    • Бухгалтерские взаиморасчеты с сотрудниками
  5. На основании данных, полученных ранее из Универсального отчета, внесем корректирующие записи.
  6. Для каждой строки с «зависшим» остатком создадим запись с видом движения Расход (чтобы списать остатки). Если на аналитике висел плюс, мы делаем движение Расход с положительной суммой. Если на аналитике висел минус, мы делаем движение Расход со знаком минус (или движение Приход с положительной суммой, чтобы обнулить показатель). Наша цель — вывести конечное сальдо по каждой конкретной аналитике прошлых лет в ноль.
  7. Заполним все ключевые поля: Физическое лицо, Сотрудник, Подразделение, Статья финансирования, Период взаиморасчетов именно так, как они были отражены в Универсальном отчете.
  8. Сохраним и проведем документ.

Способ №3. Автоматизированное закрытие остатков с помощью внешних обработок

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

В этом случае рекомендуется воспользоваться специализированными внешними обработками (такими как «Закрытие остатков по взаиморасчетам» или «Корректировка регистров выплат»). Эти обработки автоматически:

Дополнительный триггер: почему объединение дублей физических лиц «будит» старые долги

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

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

Поэтому перед слиянием дубликатов физических лиц всегда проверяйте наличие исторических остатков и будьте готовы провести техническую корректировку регистров одним из описанных выше способов.

Полезные рекомендации для предотвращения подобных ситуаций

Чтобы избежать подобных проблем в будущем, рекомендуем придерживаться следующих правил:

← На главную