Почему в ЗУП 2.5 неправильно считается аванс при наличии исполнительного листа и отпуска?

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

При работе в программе «1С:Зарплата и управление персоналом 2.5» (включая версию КОРП) бухгалтеры часто сталкиваются с ситуацией, когда сумма аванса в документе Начисление зарплаты за первую половину месяца не совпадает с ожиданиями. Особенно остро проблема проявляется, если у сотрудника есть удержание по исполнительному листу (ИЛ), а в первой половине месяца был начислен и проведен отпуск. Рассмотрим подробно, почему программа выдает «странные» цифры, как работает внутренний алгоритм системы и что с этим делать.

Суть проблемы: когда цифры не сходятся

Представим типичную ситуацию, описанную пользователем. У сотрудника установлен процент удержания по исполнительному листу — 50%. В середине месяца он уходит в отпуск. Бухгалтер рассчитывает отпускные, а затем делает расчет аванса. Проанализируем пример данных:

  1. Начисления за отпуск: 6881,56 руб.
  2. НДФЛ с отпуска: 895 руб.
  3. Начисления по авансу (за первую половину месяца): 7255 руб.
  4. НДФЛ с аванса (исчисленный расчетно): 943 руб.

Бухгалтер ожидает, что удержание по ИЛ с аванса составит: (7255 - 943) * 50% = 3156 руб. Однако программа выдает результат 2708,50 руб. Разберемся, откуда берется эта разница.

Анализируем формулу расчета в ЗУП 2.5

В конфигурации ЗУП 2.5 для вида расчета Удержание по исполнительному листу процентом используется стандартная формула:

Результат = Процент * (РасчетнаяБаза - ИсчисленныйНДФЛ)

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

Когда вы рассчитываете аванс, система обращается к регистрам накопления НДФЛ. Если на момент создания документа в системе уже есть проведенный документ Начисление отпуска (или любой другой межрасчетный документ), программа видит зафиксированный там НДФЛ. В итоге в переменную ИсчисленныйНДФЛ попадает суммарный налог за весь текущий месяц, актуальный на дату расчета аванса.

В нашем примере расчет выглядит так:
(7255 - (943 + 895)) * 50% = (7255 - 1838) * 50% = 5417 * 0,5 = 2708,50 руб.

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

Почему это вводит в заблуждение в расчетном листке?

Проанализируем структуру расчетного листка. Расчетный листок — это итоговый отчет за месяц. В нем все начисления (зарплата + отпуск) и все удержания (НДФЛ + ИЛ) суммируются.

Проблема в том, что расчет аванса — это не окончательное начисление, а лишь определение суммы к выплате. В расчетном листке сумма аванса отражается только в разделе «Выплачено». А удержание по исполнительному листу, которое было «предварительно» рассчитано в авансе, при окончательном расчете зарплаты за месяц будет пересчитано документом Начисление зарплаты.

Выясним причину недовольства работника: он видит, что с него удержали одну сумму в аванс, а в конце месяца база пересчиталась, и итоговое удержание за месяц может отличаться от суммы «удержание с аванса + удержание с остатка зарплаты» из-за вот таких промежуточных колебаний налоговой базы.

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

Рассмотрим несколько способов исправления ситуации и взаимодействия с бухгалтерией.

Способ 1. Ручная корректировка аванса

Если бухгалтеру принципиально важно, чтобы в авансе удерживалось ровно 50% от «грязного» начисления первой половины месяца без учета сторонних налогов, необходимо:

  1. Открыть документ Начисление зарплаты за первую половину месяца.
  2. Перейти на закладку Удержания.
  3. Найти строку с исполнительным листом данного сотрудника.
  4. Вручную изменить сумму на правильную (в нашем примере — 3156 руб.).

Важно: При окончательном расчете месяца в документе Начисление зарплаты сотрудникам программа все равно сделает перерасчет всей базы за месяц, и итоговая сумма удержания будет корректной согласно законодательству.

Способ 2. Соблюдение последовательности документов

Посмотрим на ситуацию с точки зрения очередности ввода данных. Если вы сначала создадите и рассчитаете документ на аванс, а только потом проведете отпуск, то программа при расчете аванса «не увидит» НДФЛ отпуска. В этом случае расчет будет таким:

(7255 - 943) * 50% = 3156 руб.

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

Способ 3. Изменение учетной политики (разъяснение)

Проанализируем юридический аспект. Согласно ФЗ №229 «Об исполнительном производстве», удержание производится из дохода должника после удержания налогов. Программа ЗУП 2.5 технически строго следует этому правилу: она берет доход, вычитает из него весь налог, который есть в системе на этот момент, и начисляет удержание.

Бухгалтеру стоит объяснить следующее:

Технические нюансы для программиста 1С

Если вы решите изменить логику сбора НДФЛ в коде, обратите внимание на запрос в модуле документа НачислениеЗарплатыЗаПервуюПоловинуМесяца. Программа обращается к функции получения остатков и оборотов по регистру НДФЛ_РасчетыСБюджетом или НДФЛ_СведенияОДоходах.

Проблема кроется в том, что в ЗУП 2.5 при расчете аванса используется виртуальная таблица, которая не всегда корректно разделяет налоги по регистраторам в рамках одного периода. Мы рекомендуем избегать правок в типовом коде этой версии, так как она считается устаревшей, и любое вмешательство может «сломать» расчет годового НДФЛ или справок 2-НДФЛ.

Резюме для пользователя

Подведем итог. Ошибка в расчетном листке и авансе в ЗУП 2.5 при наличии исполнительного листа возникает из-за того, что программа суммирует НДФЛ со всех документов месяца (включая отпуска и больничные) и вычитает его из базы аванса.

Самый безопасный и прозрачный путь для бухгалтера — проверять суммы удержаний в авансе визуально и, при значительных расхождениях, корректировать их вручную в документе Начисление зарплаты за первую половину месяца, либо просто дождаться итогового расчета месяца, где программа автоматически выровняет баланс удержаний.

← На главную