Почему в авансовом отчёте 1С:ERP и КА 2 появляется «Предыдущий аванс», если деньги сотруднику не выдавались?

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

При переходе на современные системы управления предприятием, такие как 1С:ERP Управление предприятием или 1С:Комплексная автоматизация 2, многие пользователи сталкиваются с неожиданным поведением печатной формы авансового отчёта. Проблема заключается в том, что в графе «Предыдущий аванс» или «Остаток» появляется сумма, хотя подотчётное лицо фактически не получало денежных средств (Расходный кассовый ордер не оформлялся). Бухгалтеры, привыкшие к логике 1С:Бухгалтерия 3.0 или КА 1.1, ожидают увидеть в этом поле пустое значение или перерасход, но система упорно подставляет цифры. Давайте подробно разберем, почему это происходит и как правильно отражать такие операции.

Различие в методологии: «Аванс» против «Закупки за свои средства»

Для начала проанализируем фундаментальное различие в архитектуре систем. В 1С:ERP и КА 2 учет расчетов с подотчётными лицами ведется не только на плане счетов (счет 71.01), но и в специализированном регистре накопления Денежные средства у подотчетных лиц. Именно данные этого регистра являются первичными для формирования печатных форм.

Важно понимать логику разработчиков 1С: Авансовый отчет предназначен строго для ситуации, когда сотруднику сначала выдали аванс, а потом он за него отчитался. Если сотрудник тратит свои «кровные» деньги, а организация возмещает их позже, то с точки зрения системы это не авансовый отчет, а прямая закупка у поставщика через посредника (подотчётника). Рассмотрим, какие варианты решения существуют в данной ситуации.

Вариант 1. Использование документа «Приобретение товаров и услуг»

Методологически верным способом в ERP-системах для случая, когда аванс не выдавался, является оформление закупки без использования документа Авансовый отчет. Рассмотрим этот процесс по шагам:

  1. Создаем документ Приобретение товаров и услуг.
  2. В поле «Операция» выбираем Закупка через подотчетное лицо.
  3. На закладке «Основное» указываем реального поставщика, у которого был куплен товар.
  4. На закладке «Дополнительно» в поле «Подотчетное лицо» выбираем нашего сотрудника.
  5. После проведения документа у организации возникает задолженность перед поставщиком, которая тут же перекрывается задолженностью перед сотрудником.
  6. Выплату денег сотруднику производим документом Расходный кассовый ордер (или Списание с банковского счета) с видом операции Выдача подотчетному лицу (оплата перерасхода).

При такой схеме печатная форма Авансовый отчет в классическом понимании не требуется, так как закупка отражена как прямое поступление. Это исключает путаницу с «предыдущими авансами».

Вариант 2. Технический анализ регистра и кода печатной формы

Если ваша учетная политика или привычки бухгалтерии требуют использования именно документа Авансовый отчет, нам необходимо выяснить, откуда система берет данные для графы «Получено». Проанализируем фрагмент программного кода, который отвечает за выборку данных для печатной формы:


&НаСервере
Функция ВыборкаПолучено
    Запрос = Новый Запрос;
    Если ЗначениеЗаполнено(Объект.Ссылка) И Объект.Проведен И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Ссылка, "Статус") = Перечисления.СтатусыАвансовогоОтчета.Утвержден Тогда
        Запрос.Текст = "
        |ВЫБРАТЬ
        |   ДенежныеСредства.СуммаНачальныйОстаток КАК Получено,
        |   ДенежныеСредства.Валюта КАК Валюта
        |ИЗ
        |   РегистрНакопления.ДенежныеСредстваУПодотчетныхЛиц.ОстаткиИОбороты(,, Регистратор,, 
        |       Организация = &Организация 
        |       И Подразделение = &Подразделение 
        |       И ПодотчетноеЛицо = &ПодотчетноеЛицо 
        |       И (Валюта = &Валюта ИЛИ &Мультивалютный)
        |   ) КАК ДенежныеСредства
        |ГДЕ
        |   ДенежныеСредства.Регистратор = &Ссылка";
        Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
    Иначе
        Запрос.Текст = "
        |ВЫБРАТЬ
        |   ДенежныеСредства.СуммаОстаток КАК Получено,
        |   ДенежныеСредства.Валюта КАК Валюта
        |ИЗ
        |   РегистрНакопления.ДенежныеСредстваУПодотчетныхЛиц.Остатки(&ДатаДокумента,
        |       Организация = &Организация 
        |       И Подразделение = &Подразделение 
        |       И ПодотчетноеЛицо = &ПодотчетноеЛицо 
        |       И (Валюта = &Валюта ИЛИ &Мультивалютный)
        |   ) КАК ДенежныеСредства";
        
        Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
            Запрос.УстановитьПараметр("ДатаДокумента", Объект.Дата);
        Иначе
            Запрос.УстановитьПараметр("ДатаДокумента", ТекущаяДатаСеанса);
        КонецЕсли;
    КонецЕсли;
    
    // Установка остальных параметров...
    Возврат Запрос.Выполнить.Выбрать();
КонецФункции

Проанализировав этот код, мы видим, что система обращается к остаткам по регистру ДенежныеСредстваУПодотчетныхЛиц на момент даты документа. Если в графе «Предыдущий аванс» появляется сумма, значит, в этом регистре уже есть остаток по данному сотруднику.

Почему в регистре висит остаток, если по 71 счету «пусто»?

Это самый частый вопрос. Выясним основные причины расхождений между данными бухгалтерского счета и оперативного регистра:

Практические рекомендации по исправлению ситуации

Рассмотрим порядок действий для исправления «невидимых» авансов:

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

Подведем итог: Появление суммы в поле «Предыдущий аванс» — это не ошибка программы, а следствие работы заложенных алгоритмов. Система либо видит реальный остаток в оперативном регистре, либо вы используете документ не по его прямому методологическому назначению. Использование операции Закупка через подотчетное лицо в документе приобретения — самый надежный способ избежать подобных проблем в 1С:ERP и Комплексной автоматизации 2.

← На главную