При расчете заработной платы сотрудников со сдельной оплатой труда бухгалтеры часто сталкиваются с ситуацией, когда программа 1С:Зарплата и Управление Персоналом (ЗУП) редакции 3.1 начинает некорректно сторнировать начисления прошлых периодов. Типичный сценарий: в текущем месяце вводится документ Больничный лист за прошлый месяц, и на вкладке «Пересчет прошлого периода» программа полностью или частично сторнирует сдельный заработок сотрудника, хотя фактически работы были выполнены и должны быть оплачены.
В этой статье мы подробно проанализируем причины такого поведения программы, разберем методологические ошибки пользователей и настроим систему так, чтобы расчет производился корректно и без лишних ручных корректировок.
Рассмотрим стандартный механизм учета рабочего времени в 1С:ЗУП 3.1. Очень часто кадровые специалисты или расчетчики совершают критическую ошибку: при отсутствии сотрудника на рабочем месте они вручную проставляют код «Б» (Болезнь) или «НН» (Неявка по невыясненным причинам) непосредственно в документе Табель учета рабочего времени, забывая или сознательно избегая ввода специализированных документов отклонений.
Выясним, почему такой подход ломает логику программы:
Табель в 1С:ЗУП 3.1 является документом-отчетом. Он фиксирует фактически отработанное время для печатной формы, но сам по себе он не производит движений по регистрам расчета, которые используются подсистемой начисления зарплаты для определения вытеснения периодов.Прогул, неявка (или Отсутствие (болезнь, прогул, неявка)) не был проведен, то в расчетных регистрах программы весь апрель продолжает числиться как полностью отработанный по графику сотрудника. Сдельный заработок начисляется за «полный» месяц.Больничный лист за период апреля, программа обнаруживает пересечение периодов. По регистрам за апрель у сотрудника числится рабочее время и начисленная сдельная оплата. Поскольку больничный лист имеет более высокий приоритет вытеснения, программа автоматически запускает механизм сторнирования «рабочего» времени и всей начисленной за эти дни сдельной оплаты.Если бы в апреле был своевременно проведен документ Прогул, неявка, он бы зафиксировал неоплачиваемое отсутствие в регистрах расчета. В мае при вводе больничного листа программа увидела бы, что сдельный заработок за эти дни и так не начислялся, и сторнировала бы только сам документ-предшественник (неоплачиваемое отсутствие), не затрагивая сдельную оплату.
Иногда у пользователей возникает соблазн решить проблему «быстрым» путем: зайти в настройки начисления Сдельный заработок на вкладку «Приоритет» и удалить Больничный лист из списка вытесняющих начислений. Проанализируем, к каким тяжелым последствиям приведет такое решение:
Второй важнейший фактор, влияющий на появление лишних сторно-записей, — это настройки самого сдельного начисления. Посмотрим на этот механизм подробнее.
В карточке начисления Сдельный заработок на вкладке «Основное» найдем раздел «Значения накапливаемых показателей». Здесь доступны два варианта настройки, определяющие поведение системы при изменении отработанного времени:
Данные для расчета зарплаты (в которых фиксируется сдельная выработка). Сторнирование сдельного заработка произойдет только в том случае, если конкретная дата выполнения сдельных работ совпала с периодом болезни сотрудника. Если работы выполнялись в другие дни месяца, их оплата останется нетронутой.Важное примечание: В некоторых релизах ЗУП 3.1 была зарегистрирована официальная программная ошибка (код 50012736), из-за которой ввод сдельного заработка сводно за полный месяц приводил к некорректным перерасчетам и сторнированию даже при наличии всех кадровых документов. Решением в данном случае является переход на первый вариант настройки показателей с привязкой к датам.
Чтобы избежать ошибок сторнирования и корректно отразить сдельный заработок при наличии больничного, необходимо строго придерживаться следующей последовательности действий:
Шаг 1. Своевременный ввод документа отклонения
Если в конце расчетного месяца сотрудник заболел, но еще не принес закрытый больничный лист, ни в коем случае не заменяйте ручными правками символы в документе Табель. Вместо этого введите документ Отсутствие (болезнь, прогул, неявка) с видом отсутствия «Болезнь (больничный еще не закрыт)». Это зафиксирует неоплачиваемое время в регистрах расчета.
Шаг 2. Расчет зарплаты за текущий месяц
Проведите документ Начисление зарплаты и взносов за текущий месяц. Программа автоматически уменьшит норму времени для сотрудника и начислит сдельный заработок только за фактически отработанные дни, предшествующие болезни.
Шаг 3. Регистрация больничного листа в следующем месяце
Когда в следующем месяце сотрудник предоставит закрытый больничный лист, введите документ Больничный лист. Программа автоматически заполнит период болезни. На вкладке «Пересчет прошлого периода» вы увидите:
Следуя этой методике и контролируя корректность настроек накапливаемых показателей, вы навсегда избавитесь от проблем с нежелательным сторнированием сдельной оплаты в программе 1С:ЗУП 3.1.