Как устранить ошибки расчета среднего заработка и НДФЛ после перехода с БП 3.0 на ЗУП 3.1?

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

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

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

---

1. Ошибки расчета календарных дней отпуска при приеме сотрудника в середине месяца

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

Выясним причину этой ошибки. При переносе данных из БП в ЗУП создается документ Перенос данных с префиксом ЗП_СЗО (данные для расчета общего среднего заработка). Программа переносит информацию в регистр накопления Данные о времени для расчета среднего заработка (общий). При этом часто игнорируется реальная дата приема сотрудника, и в регистр записывается полное количество календарных дней за месяц.

Пошаговое решение проблемы:

  1. Корректировка периода начисления: Как показывает практика, в первом документе начисления зарплаты после приема сотрудника необходимо проверить реквизиты периода. Если сотрудник принят, например, 15-го числа, то в строке начисления период должен быть указан строго с даты приема (с 15-го числа), а не с 1-го числа расчетного месяца. Проверьте и перепроведите такие начисления.
  2. Очистка корректирующего регистра: Если вы решите вручную исправить количество дней непосредственно в документе Перенос данных (ЗП_СЗО), ЗУП 3.1 может автоматически создать корректировочные записи в регистре сведений Данные о времени для расчета общего среднего заработка (корректировка). Из-за этого при расчете отпуска данные снова исказятся.

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


НаборЗаписей = РегистрыСведений.ДанныеОВремениДляРасчетаОбщегоСреднегоЗаработкаКорректировка.СоздатьНаборЗаписей();
// При необходимости можно установить отбор по конкретному сотруднику:
// НаборЗаписей.Отбор.Сотрудник.Установить(ВыбранныйСотрудник);
НаборЗаписей.Записать(Истина);

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

---

2. Отсутствие или искажение данных для расчета больничных (ФСС)

Суть проблемы: При попытке рассчитать больничный лист в ЗУП 3.1 программа «не видит» отработанные дни за прошлые периоды (перенесенные из БП), из-за чего расчет среднего заработка ФСС приравнивается к нулю или выполняется неверно.

Проанализируем техническую сторону вопроса. Расчет пособий по временной нетрудоспособности в ЗУП 3.1 опирается на три основных регистра, которые заполняются документами переноса с префиксом ЗП_СЗФСС:

Очень часто при переносе данных из «1С:Бухгалтерии» в регистре сведений Данные о времени для расчета среднего (ФСС) сбивается время записи. Вместо стандартного начала дня (00:00:00) программа записывает транзакции со временем 12:00:00, 18:00:00 и т.д. Из-за этого механизмам ЗУП не удается сопоставить данные, и система считает, что отработанных дней за этот период нет.

Как исправить ошибку со временем в регистре ФСС:

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


Выборка = РегистрыСведений.ДанныеОВремениДляРасчетаСреднегоФСС.Выбрать();
Пока Выборка.Следующий() Цикл
    Если НачалоДня(Выборка.Период) <> Выборка.Период Тогда
        Набор = РегистрыСведений.ДанныеОВремениДляРасчетаСреднегоФСС.СоздатьНаборЗаписей();
        Набор.Отбор.Период.Установить(Выборка.Период);
        Набор.Отбор.Сотрудник.Установить(Выборка.Сотрудник);
        Набор.Прочитать();
        
        Для Каждого Запись Из Набор Цикл
            Запись.Период = НачалоДня(Запись.Период);
        КонецЦикла;
        
        Попытка
            Набор.Записать(Истина);
        Исключение
            Сообщить("Ошибка записи для сотрудника: " + Выборка.Сотрудник);
        КонецПопытки;
    КонецЕсли;
КонецЦикла;

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

---

3. Проблемы учета НДФЛ и потерянные сторнирования

Суть проблемы: В БП 3.0 в феврале у сотрудника было начислено 14 000 руб., а также проведено сторно на сумму -12 000 руб. Итоговый доход составил 2 000 руб. Однако после переноса в ЗУП 3.1 программа видит только доход в размере 14 000 руб., полностью игнорируя сторнирование.

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

Решение проблемы расхождений по НДФЛ:

Чтобы выровнять учет НДФЛ, нам придется вручную скорректировать перенесенные данные с помощью документа Перенос данных с префиксом НДФЛ. Нам необходимо одновременно внести исправления в два регистра:

  1. Регистр накопления Учет доходов для исчисления НДФЛ:
    • Добавляем строку с минусовой суммой сторно (в нашем примере: -12 000 руб.).
    • Критически важно: Поле Дата получения дохода должно строго соответствовать фактической дате выплаты этого сторнируемого дохода в исходном периоде (например, дате выплаты зарплаты за февраль в начале марта).
  2. Регистр накопления Расчеты налогоплательщиков с бюджетом по НДФЛ:
    • Добавляем строку на сумму уменьшенного (сторнированного) налога со знаком «минус».
    • Проверяем соответствие даты получения дохода и месяца налогового периода.

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

---

4. Массовое исправление перечисленного НДФЛ в ведомостях

Еще одна скрытая проблема перехода связана с тем, что в перенесенных документах выплаты (Ведомости в банк, Ведомости в кассу) по умолчанию не устанавливается флаг НДФЛ перечислен вместе с зарплатой. В БП 3.0 факт перечисления регистрируется отдельным документом, а в ЗУП 3.1 без этой галочки программа считает, что удержанный налог не был перечислен в бюджет. Это приводит к колоссальным расхождениям в регламентированной отчетности (форма 6-НДФЛ).

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

  1. Перейдем в меню Администрирование — Обслуживание — Групповое изменение реквизитов.
  2. В поле «Изменять объекты» выберем документы: Ведомость в банк и Ведомость в кассу.
  3. Добавим отбор по периоду (например, только за прошлый год, данные которого были перенесены).
  4. Найдем реквизит Налог перечислен (или Перечисление НДФЛ выполнено) и установим для него значение Да.
  5. Нажмем кнопку Изменить реквизиты.

После проведения этой операции ЗУП автоматически сформирует корректные движения по регистру уплаты НДФЛ, и баланс между удержанным и перечисленным налогом будет восстановлен.

← На главную