В практике бухгалтерского учета часто возникает ситуация, когда сотрудник совершает покупки в течение длительного периода (например, двух недель), а итоговый авансовый отчет (АО) оформляется и утверждается значительно позже. В типовых конфигурациях 1С, таких как Бухгалтерия предприятия 3.0, проводки по всем строкам документа формируются единой датой — датой самого авансового отчета. Это создает серьезную проблему: если купленный товар был продан или списан в производство до даты утверждения АО, в системе возникают отрицательные остатки (так называемая «краснота»), что мешает закрытию месяца и вызывает вопросы у проверяющих органов.
Рассмотрим подробнее, почему система работает именно так, и разберем несколько эффективных способов решения этой задачи без нарушения логики учета.
Прежде чем искать технические пути решения, проанализируем ситуацию с точки зрения законодательства. Согласно правилам ведения бухгалтерского учета, расходы по авансовому отчету признаются в учете только в момент утверждения отчета руководителем предприятия. До этого момента суммы, выданные сотруднику, числятся за ним как дебиторская задолженность на счете 71.01 «Расчеты с подотчетными лицами», а первичные документы (чеки, квитанции) являются лишь обоснованием произведенных трат.
Именно поэтому стандартная архитектура 1С не предусматривает автоматического разнесения проводок по датам из табличной части. Проводка — это факт хозяйственной жизни, зафиксированный документом в определенный момент времени.
Это наиболее грамотный и методически верный способ избежать «красноты» на складе, не прибегая к программированию. Вместо того чтобы заносить купленные товары непосредственно во вкладку «Товары» авансового отчета, мы разделим процесс на два этапа.
Шаг 1: Оформление прихода товара.
Создадим документ Поступление (акт, накладная, УПД). В поле «Дата» укажем реальную дату чека (например, 01.07). В качестве контрагента выберем поставщика, указанного в чеке, или создадим обобщенного контрагента «Розничный поставщик». Главный секрет кроется в настройках счетов расчетов:
60.01 установим счет 71.01.После проведения этого документа товар попадет на склад датой чека (01.07), и его можно будет сразу списывать без возникновения отрицательных остатков.
Шаг 2: Отражение в авансовом отчете.
Когда придет время формировать авансовый отчет (например, 15.07), мы не будем заполнять вкладку «Товары». Вместо этого перейдем на закладку «Оплата». Здесь выберем наш ранее созданный документ поступления. Таким образом, авансовый отчет просто закроет взаиморасчеты между сотрудником и организацией, зафиксировав факт целевого использования выданных средств.
Если специфика вашей деятельности позволяет, проанализируем возможность создания нескольких авансовых отчетов. Вместо одного сводного документа за две недели, можно вводить АО чаще — например, раз в три дня или сразу после совершения крупной закупки. Это административный метод решения проблемы, который требует дисциплины от сотрудников, но полностью снимает технические вопросы в 1С.
Если вы работаете в 1С:ERP Управление предприятием или 1С:Комплексная автоматизация, выясним, какие инструменты доступны там. В этих системах существует специализированный документ Приобретение товаров и услуг через подотчетное лицо. Этот объект системы специально спроектирован для решения проблемы временного разрыва:
Если бухгалтерия категорически настаивает на заполнении именно вкладки «Товары» внутри АО и автоматическом распределении дат, задачу можно решить с помощью механизма расширений. Это позволит не снимать программу с поддержки.
Проанализируем программный подход. Нам потребуется перехватить процедуру проведения документа ОбработкаПроведения. В расширении необходимо реализовать цикл по движениям регистра бухгалтерии (Хозрасчетный) и регистрам накопления (Запасы на складах). Пример логики кода в расширении:
// Пример логики изменения даты в движениях (схематично)
Для Каждого Движение Из Движения.Хозрасчетный Цикл
// Находим строку в табличной части, соответствующую данной проводке
СтрокаТЧ = НайтиСтрокуПоАналитике(Движение);
Если СтрокаТЧ <> Неопределено Тогда
// Устанавливаем дату проводки из реквизита "Дата документа" в ТЧ
Движение.Период = СтрокаТЧ.ДатаДокументаРасхода;
КонецЕсли;
КонецЦикла;
Важное предупреждение: Такой подход несет в себе риски. Если дата проводки будет установлена в закрытый период или до момента выдачи аванса сотруднику, это приведет к некорректному сальдо на счете 71 (сотрудник «купил» товар раньше, чем получил деньги). Также возникнут сложности при формировании печатной формы АО-1, где дата отчета будет отличаться от дат в бухгалтерских регистрах.
Мы рассмотрели различные способы борьбы с «краснотой» при оформлении авансовых отчетов. Самым безопасным и правильным с точки зрения методологии 1С является Решение №1 — оформление поступления товара отдельным документом с указанием 71 счета в качестве счета расчетов. Это позволяет:
Выбор конкретного метода зависит от объема документов в вашей организации и готовности сотрудников своевременно предоставлять первичную документацию в бухгалтерию.