Как в 1С:ЗУП правильно настроить учет внутрисменных командировок для сотрудников с оплатой по окладу?

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

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

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

Выясним причину проблемы: Оклад по дням против Оклада по часам

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

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

Способ 1. Перевод сотрудников на «Оклад по часам»

Это самый простой и методологически верный путь с точки зрения разработчиков 1С. Если на предприятии часто практикуются внутрисменные отсутствия (командировки, отлучки, поездки к врачу), рекомендуется изначально устанавливать сотрудникам вид начисления Оклад по часам.

Преимущества:

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

Нюанс с разницей в расчетах:

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

Допустим, оклад сотрудника составляет 50 000 руб. В январе норма 17 дней или 137 часов. Если сотрудник отработал 2 полных дня:

Разница возникает из-за разной «стоимости» часа в зависимости от нормы месяца. Чтобы сгладить эту разницу, в настройках Расчета зарплаты можно установить пересчет тарифной ставки по Среднемесячному количеству часов.

Способ 2. Изменение формулы «Оклада по дням»

Если вы категорически не хотите переводить сотрудников на почасовую оплату (например, из-за требований трудового договора), можно модифицировать формулу основного начисления. Рассмотрим, как сделать Оклад по дням чувствительным к часам.

Зайдем в настройки начисления Оклад по дням и изменим формулу. По умолчанию она выглядит так:

Оклад * ВремяВДнях / НормаДней

Мы можем изменить её на вариант, учитывающий отработанное время в часах, но сохраняющий логику дневного оклада:

Оклад * (ВремяВЧасах / НормаЧасов)

Важно: При таком подходе система начнет учитывать внутрисменные командировки автоматически, так как ВремяВЧасах будет уменьшено на количество часов отсутствия. Однако это потребует перепроверки всех графиков работы, чтобы НормаЧасов всегда была заполнена корректно.

Способ 3. Использование механизма вытеснения

Проанализируем настройки приоритетов. Даже если мы используем внутрисменную командировку, оклад должен «знать», что его вытесняют.

  1. Перейдем в настройки начисления Оклад по дням.
  2. Откроем вкладку Приоритет.
  3. Проверим, находится ли Командировка (и внутрисменная в том числе) в правой колонке Начисления, приоритет которых выше.

Нюанс: Типовой механизм вытеснения в ЗУП для дневных начислений срабатывает только на целые дни. Если вы хотите, чтобы вытеснение работало внутри дня, необходимо либо использовать Оклад по часам, либо изменить формулу, как описано в Способе 2.

Способ 4. Ручная корректировка через документ «Табель»

Если внутрисменные командировки случаются редко и вы не хотите менять настройки начислений, можно воспользоваться документом Табель.

Посмотрим, как это реализовать:

  1. Создаем документ Командировка, указываем галочку Командировка на неполный день (внутрисменная) и количество часов (например, 4).
  2. Создаем документ Табель на этот месяц.
  3. В ячейке соответствующего дня вручную проставляем код Я4 К4 (где Я — явка, К — командировка).

При расчете зарплаты 1С:ЗУП приоритетно берет данные из Табеля. Увидев 4 часа явки, программа рассчитает оклад пропорционально этому времени, даже если выбран метод расчета «по дням» (в этом случае день будет засчитан как 0.5 дня).

Способ 5. Настройка внутрисменных отсутствий в учетной политике

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

  1. Перейдем в раздел Настройка — Расчет зарплаты.
  2. Нажмем на ссылку Настройка состава начислений и удержаний.
  3. На вкладке Учет отсутствий должна стоять галочка Внутрисменные командировки.

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

Способ 6. Автоматизация (для программистов)

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

Задачей расширения будет автоматическое создание документа Изменение оплаты труда или Кадровый перевод на тот день, когда регистрируется внутрисменная командировка. Этот документ будет временно менять начисление с Оклада по дням на Оклад по часам, а следующим днем возвращать всё обратно. Это именно то, что участники форума делают вручную, но автоматизация исключит риск человеческой ошибки.

Резюме и рекомендации

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

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

← На главную