При расчете заработной платы в программе 1С:Зарплата и управление персоналом 3.1 (1С:ЗУП) бухгалтеры часто сталкиваются с ситуацией, когда сотрудник, принятый на работу во второй половине месяца (например, 17-го числа), успешно рассчитывается в документе Начисление за первую половину месяца, но при создании ведомости на выплату аванса программа его упорно «не видит». Давайте подробно разберем эту проблему, проанализируем законодательную базу, заглянем в программный код системы и рассмотрим безопасные методики решения этой задачи без использования опасных обходных путей («костылей»).
Прежде чем переходить к техническому анализу программы, давайте проанализируем ситуацию с точки зрения трудового законодательства и разъяснений Роструда. Согласно статье 136 Трудового кодекса РФ, заработная плата должна выплачиваться не реже чем каждые полмесяца.
При этом расчетным периодом для выплаты первой половины заработной платы (аванса) традиционно считается период с 1 по 15 число текущего месяца. Если сотрудник принимается на работу 17-го числа, то в расчетный период для аванса (с 1 по 15 число) у него попросту нет фактически отработанного времени. Его отработанное время за этот период равно нулю, а значит, и начислять ему за первую половину месяца нечего.
Роструд в своих официальных разъяснениях указывает, что невыплата аванса сотрудникам, принятым во второй половине месяца, не является нарушением трудового законодательства. Свою первую выплату такой работник должен получить в день выплаты окончательного расчета за месяц (за фактически отработанные дни с даты приема по конец месяца, например, с 17 по 30/31 число).
Тем не менее, на многих предприятиях внутренними локально-нормативными актами или коллективным договором установлено требование выплачивать сотрудникам заработную плату за любые фактически отработанные дни к моменту выплаты аванса. Если расчет аванса производится, к примеру, по 19-е число, а выплата назначена на 20-е, руководство может потребовать оплатить новому сотруднику эти 3 отработанных дня (с 17 по 19 число) вместе с общим авансом.
Проанализируем техническое поведение системы. В документе Начисление за первую половину месяца бухгалтер может вручную изменить реквизит «Расчет первой половины месяца до» и указать там, к примеру, 19-е число. Программа успешно произведет расчет за 3 отработанных дня (с 17 по 19 число) и сделает запись в регистр накопления Зарплата к выплате авансом.
Однако при автоматическом заполнении документа Ведомость в кассу или Ведомость в банк с характером выплаты «Аванс» этот сотрудник в таблицу не попадет. Почему так происходит?
Давайте обратимся к программному коду конфигурации. В общем модуле, отвечающем за заполнение ведомостей на выплату зарплаты (например, в процедурах модуля ВедомостьНаВыплатуЗарплатыБазовый), присутствует жесткое ограничение на дату окончания периода расчета аванса. Рассмотрим этот фрагмент кода подробнее:
Если ОписаниеОперации.ПорядокВыплаты = Перечисления.ХарактерВыплатыЗарплаты.Аванс Тогда
НачалоПериода = НачалоМесяца(ОписаниеОперации.ПериодРегистрации);
ОкончаниеПериода = МИН(Дата(Год(ОписаниеОперации.ПериодРегистрации), Месяц(ОписаниеОперации.ПериодРегистрации), 15), ОписаниеОперации.Дата);
КонецЕсли;
Из этого фрагмента видно, что при характере выплаты «Аванс» программа принудительно ограничивает дату окончания периода выплаты 15-м числом месяца регистрации. Так как наш сотрудник был принят на работу 17-го числа, в интервал работы по 15-е число он физически не попадает. Программа считает, что на 15-е число сотрудника еще не существовало в штате организации, и исключает его из автоматического заполнения ведомости.
Многие пользователи пытаются решить эту проблему «костылями»: временно меняют дату приема сотрудника в документе Прием на работу на 14-е или 15-е число, заполняют ведомость, а затем возвращают реальную дату приема обратно. Делать так категорически не рекомендуется! Это может привести к искажению кадровой истории, некорректному расчету стажа, ошибкам в регламентированной отчетности (например, в сведениях о трудовой деятельности ЕФС-1) и сбоям при последующих расчетах среднего заработка.
Для корректного решения данной проблемы в программе 1С:ЗУП 3.1 без нарушения кадрового учета предусмотрено несколько штатных механизмов. Рассмотрим их по шагам.
Это самый простой, быстрый и методологически верный способ выплаты. Разработчики 1С предусмотрели возможность создания платежных документов непосредственно «в связке» с расчетным документом.
Начисление за первую половину месяца, в котором рассчитан наш новый сотрудник.При таком способе формирования ведомостей программа обращается напрямую к движениям конкретного документа-основания и переносит в ведомость всех сотрудников, у которых есть рассчитанные суммы к выплате, полностью игнорируя стандартный программный фильтр отсечки по 15-му числу.
Если ведомость на выплату аванса уже создана, заполнена по всей организации и вам необходимо просто добавить туда нового сотрудника, используйте механизм ручного подбора.
Ведомость в кассу (или Ведомость в банк).Зарплата к выплате авансом по данному сотруднику уже зафиксирована рассчитанная сумма, программа успешно перенесет его в ведомость с корректной суммой к выплате и рассчитанным НДФЛ.Механизм подбора работает в обход жестких алгоритмов автоматического заполнения всей ведомости, ориентируясь на фактическое наличие остатков взаиморасчетов по регистру.
Иногда даже при ручном подборе или заполнении сотрудник не попадает в документ из-за несовпадения дат. Выясним эту причину и проверим настройки документов:
Начисление за первую половину месяца.Согласование этих дат гарантирует корректное автоматическое распределение денежных средств и удержанного НДФЛ во всех регистрах учета взаиморасчетов с сотрудниками.