Каждый бухгалтер, работающий в программе 1С:Зарплата и управление персоналом 3.1 (ЗУП), рано или поздно сталкивается с загадочной ситуацией: при формировании расчетного листка за конкретный месяц остатки сходятся «в ноль», но стоит сформировать отчет за более длительный период (например, с начала года или за квартал), как в нем неожиданно всплывает «красное» (отрицательное) сальдо или зависший долг сотрудника. При этом в самом документе начисления зарплаты долг на начало месяца может не отображаться вовсе.
В этой статье мы подробно разберем, почему возникает эта техническая проблема, как устроена система взаиморасчетов в 1С:ЗУП 3.1 «под капотом», и какими способами можно навсегда убрать ошибочное сальдо из отчетов.
Для того чтобы понять природу этой ошибки, нам необходимо заглянуть в архитектуру регистров программы. В отличие от старых версий (например, ЗУП 2.5), где взаиморасчеты велись в упрощенном виде, в 1С:ЗУП 3.1 учет расчетов с сотрудниками ведется одновременно в трех параллельных регистрах накопления:
Взаиморасчеты с сотрудниками — отвечает за баланс и расчеты в отчетах.Бухгалтерские взаиморасчеты с сотрудниками — дублирует информацию для формирования проводок и отражения в бухучете.Зарплата к выплате — управляет автоматическим заполнением ведомостей на выплату зарплаты, аванса или межрасчетных выплат.Данные в этих регистрах хранятся не одной общей суммой по сотруднику. Записи распределяются по обязательным измерениям (аналитикам):
Проанализируем типичный сценарий возникновения ошибки на примере ситуации с форума:
В марте сотруднику излишне начислили сумму 5 565 рублей (возникла переплата). В регистре взаиморасчетов по измерению Период взаиморасчетов «Март» образовался условный плюс. В апреле эту переплату решили удержать (списать). В апрельском начислении сумму скорректировали в меньшую сторону, но при формировании ведомости на выплату бухгалтер вручную удалил или скорректировал автоматически созданную строчку удержания, чтобы выровнять общую сумму к выплате «на руки».
Математически в апреле общий итог по деньгам сошелся. Однако в регистрах программы по измерению «Март» так и остался висеть незакрытый плюс (переплата), а по измерению «Апрель» образовался минус (долг сотрудника). Произошла так называемая пересортица по периодам взаиморасчетов. Когда мы формируем расчетный листок за один конкретный май, программа суммирует обороты текущего месяца и показывает ноль. Но при формировании отчета за период с марта по май система пытается разложить остатки по месяцам возникновения и выводит «фантомный» долг.
Дополнительно на это может влиять известная программная ошибка 1С № 30160453 (ошибочный вывод долга при формировании отчетов сразу за несколько месяцев), которая проявлялась на старых релизах ветки 3.1.5 и 3.1.6 и была исправлена разработчиками в последующих обновлениях.
Прежде чем приступать к исправлению регистров, проверим, по какому принципу программа определяет переходящее сальдо. Перейдем в раздел «Настройка» — «Дополнительные настройки» и обратим внимание на переключатель «Показывать взаиморасчеты»:
Если у вас установлено отображение «по месяцам расчета», любые ручные вмешательства в ведомости практически гарантированно приведут к пересортице периодов.
Рассмотрим 3 практических способа, как выровнять взаиморасчеты и убрать зависшее сальдо.
Это самый быстрый, простой и безопасный способ, который позволяет «схлопнуть» пересортицу в регистрах без исправления документов прошлых закрытых периодов. Мы заставим программу саму закрыть плюс на минус в текущем периоде.
Разберем этот способ по шагам:
Проведя такую «нулевую» ведомость, мы закрыли аналитику в регистре Зарплата к выплате. Программа перенесла остатки, пересортица закрылась, и при повторном формировании расчетного листка за любой период зависший долг исчезнет.
Если техническая ведомость не помогла, это означает, что взаиморасчеты разъехались не только по периодам, но и по другим аналитикам — например, по статьям финансирования, кодам КОСГУ или документам-основаниям. В таком случае нам придется скорректировать регистры вручную.
Для этого воспользуемся специальным инструментом администратора:
Взаиморасчеты с сотрудникамиБухгалтерские взаиморасчеты с сотрудникамиЗарплата к выплатеЭтот способ требует аккуратности, но он гарантированно очищает базу от некорректных остатков на уровне хранения данных СУБД.
Проанализируем методическую ошибку, которая привела к этой ситуации, чтобы избежать ее повторения в будущем. Как отметил автор темы, при выплате зарплаты в апреле они вручную удалили строку корректировки из ведомости.
Помните важное правило работы в 1С:ЗУП 3.1: никогда не удаляйте строки с отрицательными суммами или строки корректировок из табличной части ведомостей, если программа заполнила их автоматически!
Если программа автоматически уменьшила сумму к выплате в апреле на величину мартовского долга, она сделала это именно для того, чтобы связать периоды взаиморасчетов. Если вам необходимо выдать сотруднику полную сумму без учета удержания, правильным решением будет:
Сторнирование начислений или ввести исправление в исходный документ начисления.Возврат сотрудником задолженности. Этот документ корректно закроет долг в регистрах по нужному периоду взаиморасчетов.В завершение разбора обязательно проверим, как проведенная корректировка повлияла на налог на доходы физических лиц (НДФЛ). Переплата физическому лицу часто сопровождается излишне удержанным налогом.
Если в месяце переплаты программа рассчитала излишний налог, а в следующем месяце произошло сторнирование, проверьте регистр НДФЛ к зачету. Убедитесь, что суммы зачтенного налога соответствуют реальным выплатам. При необходимости сформируйте документ «Возврат НДФЛ», чтобы вернуть сотруднику излишне удержанные суммы налога и избежать расхождений в отчетах 6-НДФЛ и справках о доходах.