При расчете заработной платы в программе 1С:Зарплата и управление персоналом 3.1 бухгалтеры часто сталкиваются с ситуацией, когда итоговая сумма начисления «Оплата по окладу (по часам)» не совпадает с их ручными расчетами. Казалось бы, формула проста и прозрачна, но программа выдает неожиданный результат. В этой статье мы подробно разберем, как именно 1С:ЗУП 3.1 вычисляет показатели, какие настройки графиков влияют на знаменатель формулы и почему «магическая» цифра нормы времени может отличаться от производственного календаря.
Рассмотрим типичный пример: сотруднику назначен оклад в размере 12 595 рублей. Используется вид начисления Оплата по окладу (по часам) с формулой: Оклад * ВремяВЧасах / НормаЧасов. По данным учета, сотрудник отработал 126 часов при ожидаемой норме в 164,92 часа. Ручной расчет дает 9 622,66 рубля, однако программа упорно считает 9 339,98 рубля.
Проанализируем ситуацию вместе. Если мы разделим оклад на полученный результат и умножим на отработанные часы (12 595 * 126 / 9 339,98), то получим ровно 169,92. Это означает, что программа в качестве НормаЧасов подставила не 164,92, а 169,92. Наша задача — выяснить, откуда взялось это число и почему настройки системы игнорируют ожидания пользователя.
Первое, что нам необходимо проверить, — это источник нормы времени. В 1С:ЗУП 3.1 норма времени для конкретного сотрудника берется из его основного Графика работы. Часто расчетчики используют число 164,92 — это среднемесячное количество рабочих часов (например, для 2020 года при 40-часовой неделе). Однако программа использует это число только для пересчета оклада в часовую тарифную ставку (при расчете ночных, праздничных или сверхурочных), если такая настройка выбрана в параметрах расчета зарплаты.
Для самого же начисления по окладу программа берет норму текущего месяца по графику сотрудника. Если график сменный или настроен как неполное рабочее время, норма за март может составлять 169,92 или любое другое число, отличное от среднемесячного. Разберем по шагам, как проверить этот показатель:
Начисление зарплаты и взносов.Норма и Отработано. Именно там вы увидите реальное число, которое система подставила в знаменатель.В настройках графиков работы (раздел Настройка — Графики работы сотрудников) есть важная опция: Считать норму по другому графику. Рассмотрим подробнее, как это работает:
Если у сотрудника установлен сменный график, но оплата должна производиться исходя из нормы обычной «пятидневки», в карточке графика указывается «нормирующий» график (например, «Пятидневка (40 часов)»). В этом случае показатель НормаЧасов в формуле будет браться не из личного расписания сотрудника, а из этого эталонного графика.
Важный нюанс: если в нормирующем графике за март стоит 169,92 часа, а вы ожидали 164,92, проверьте заполнение производственного календаря (тут полезно знать про автоматическое обновление региональных производственных календарей и как его отключить) и настройки самого нормирующего графика. Любое отклонение (например, работа в праздники или перенос дней) изменит знаменатель формулы.
Если в течение месяца на сотрудника был введен документ Индивидуальный график, то программа полностью игнорирует настройки из основного графика работы. Выясним причину расхождения через проверку этого документа (для наглядности анализа может помочь внешняя печатная форма "Табель Т-13 (с итогами)" по документу "Индивидуальный график"):
Проанализируем ситуацию с точки зрения методологии учета. Существует принципиальная разница между начислениями Оплата по окладу и Оплата по окладу (по часам):
Оплата по окладу: Приоритет имеют дни. Если сотрудник отработал все дни по графику, он получит полный оклад, даже если в часах есть недоработка. Если отработан неполный день, программа может некорректно округлить сумму, если в настройках начисления не указано использование времени в часах.
Оплата по окладу (по часам): Расчет идет строго пропорционально часам. Это наиболее точный метод для суммированного учета рабочего времени, который также часто применяется, когда используется сложный расчет северного отпуска при вахтовом методе работы. Если у вас возникают расхождения в 300-500 рублей, убедитесь, что в документе Прием на работу или Кадровый перевод выбрано именно начисление «по часам». Если выбрано просто «по окладу», программа делит оклад на количество рабочих дней в месяце, и один час отклонения в табеле (особенно если не настроена загрузка табеля из Excel в Табель учета рабочего времени, и данные вносятся вручную с ошибками) может просто «потеряться» или, наоборот, сильно исказить результат.
Если расчет происходит за периоды, связанные с указами президента о нерабочих днях (как это было в марте-мае 2020 года), необходимо обратить внимание на настройки расчета зарплаты. В разделе Настройка — Расчет зарплаты есть флаг Оплачивать нерабочие дни по сохраняемому заработку.
При включении этой опции:
Время / Норма.Если ваша конфигурация является «слегка измененной», стандартная логика 1С могла быть нарушена. Например, в коде может быть переопределен алгоритм получения показателя НормаЧасов. Программистам рекомендуется выполнить следующие действия:
ГрафикиРаботыПоВидамВремени.Иногда проблема кроется в том, что в график пытаются записать дробное количество часов (например, 99.99 за месяц одной строкой). Система ЗУП 3.1 лучше всего работает, когда график заполнен подневно. При суммарном вводе времени за месяц программа может хранить во внутренних механизмах микро-секунды, которые не видны в интерфейсе, но влияют на деление в формуле.
Для того чтобы расчет всегда был точным, мы рекомендуем придерживаться следующего алгоритма проверки (или использовать специализированный отчет "Контроль/сверка отработанных и начисленных часов"):
Начисление зарплаты.Оплата по окладу (по часам) и проверяйте, чтобы в Табеле и Графике совпадали виды времени (например, Явка).Понимая эти механизмы, вы сможете легко объяснить любое расхождение и настроить систему так, чтобы она работала предсказуемо.