Как в 1С:ERP правильно отразить авансовый отчет в валюте, чтобы рублевая сумма закрылась по курсу выданных авансов?

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

При работе в 1С:ERP часто возникает классическая методологическая сложность: сотрудник получает несколько валютных авансов в разное время (например, снимает деньги с корпоративной карты в командировке), а затем отчитывается одним документом Авансовый отчет. Согласно законодательству (ПБУ 3/2006), расходы, оплаченные за счет ранее выданного аванса, должны пересчитываться в рубли по курсу на дату выдачи этого самого аванса. Однако программа по умолчанию может использовать курс на дату документа Авансовый отчет, что приводит к возникновению неверных остатков в регламентированном учете (СуммаРегл) и некорректному признанию курсовых разниц. Проанализируем, как решить эту задачу в 1С:ERP.

Нормативное обоснование проблемы

Прежде чем переходить к настройкам в программе, вспомним требования учета. В соответствии с ПБУ 3/2006, активы и расходы, которые оплачены организацией в порядке предварительной оплаты (аванса), принимаются к бухгалтерскому учету в оценке в рублях по курсу, действовавшему на дату пересчета в рубли средств выданного аванса. Если авансов было несколько, то при их зачете должен применяться метод FIFO: сначала расходуются средства первого аванса по его курсу, затем — последующих.

В 1С:ERP, в отличие от «1С:Бухгалтерии», механизмы зачета авансов работают сложнее из-за архитектуры регистров накопления. Рассмотрим, почему возникает ситуация, когда валютная сумма закрывается в ноль, а в рублях остается долг за сотрудником или перед ним.

Почему 1С:ERP берет курс на дату отчета?

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

  1. Несоответствие аналитики в документах Списание безналичных денежных средств и Авансовый отчет (например, разные подразделения или направления деятельности).
  2. Использование общей суммы расхода без детализации по датам получения авансов.
  3. Отсутствие выполненных регламентных операций по закрытию месяца, которые окончательно выравнивают расчеты.

Решение через режим «Мультивалютный»

Проанализируем самый эффективный способ решения проблемы, предложенный экспертами. Для того чтобы программа позволила управлять курсами и суммами конвертации, в документе Авансовый отчет необходимо активировать специальный режим.

Разберем по шагам, как это сделать:

  1. В документе Авансовый отчет на закладке Основное найдите поле выбора режима. По умолчанию там может стоять значение «В одной валюте». Нам необходимо выбрать Мультивалютный.
  2. После включения этого режима в документе появится дополнительная закладка — Конвертация валют.
  3. На этой вкладке мы можем явно указать соответствие сумм в валюте расхода и сумм в валюте аванса (или валюте регламентированного учета).

Рассмотрим подробнее ситуацию с корпоративными картами. Если сотрудник снимал доллары (USD), а отчитывается также в долларах, но курсы на даты снятия были разные (например, 120 руб. и 64 руб. за доллар), то использование режима «Мультивалютный» позволит системе правильно распределить рублевый эквивалент. Даже если фактической конвертации (обмена одной валюты на другую) не было, этот механизм в ERP используется для того, чтобы «подсказать» системе, какой именно рублевый эквивалент соответствует данной сумме валюты.

Автоматический зачет авансов по FIFO

Посмотрим на ситуацию с точки зрения автоматики. В современных версиях 1С:ERP (начиная с 2.5) расчеты с подотчетными лицами ведутся в разрезе документов-оснований. Чтобы система сама поняла, по какому курсу списывать рубли, необходимо выполнить следующие условия:

  1. Документы Списание безналичных денежных средств с операцией Выдача денежных средств подотчетному лицу должны быть проведены раньше, чем Авансовый отчет.
  2. В самом авансовом отчете на закладке Авансы должны быть подобраны соответствующие платежные документы.
  3. Необходимо запустить обработку Закрытие месяца, а именно операцию Актуализация расчетов с подотчетными лицами. Именно в этот момент система пересчитывает СуммаРегл в регистрах по методу FIFO, опираясь на остатки по счету 71.

Технический анализ движений документа

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

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

Пример настройки конвертации

Предположим, у нас есть три снятия наличных по 100 USD. Курсы были 70, 80 и 90 рублей соответственно. Итого выдано 300 USD на сумму 24 000 рублей. Сотрудник приносит отчет на 300 USD. Если дата отчета имеет курс 100 рублей, то без правильной настройки программа запишет расход в 30 000 рублей. Возникнет «мнимый» перерасход в 6 000 рублей.

Для исправления этой ситуации в режиме Мультивалютный мы указываем суммы валют по дням, как шло списание, и фиксируем рублевый эквивалент в таблице конвертации. Рассмотрим, как это выглядит в логике объектов 1С:


// Пример логики, которую реализует система при зачете аванса
// Расчет по методу FIFO
Для Каждого СтрокаРасхода Из АвансовыйОтчет.Расходы Цикл
    ОстатокАванса = ПолучитьОстатокПоРегистру(СтрокаРасхода.ПодотчетноеЛицо, СтрокаРасхода.Валюта);
    Если ОстатокАванса.Сумма > 0 Тогда
        // Система должна подтянуть СуммаРегл из остатков аванса
        СуммаКЗачетуРегл = (СтрокаРасхода.СуммаВалюты / ОстатокАванса.Сумма) * ОстатокАванса.СуммаРегл;
    КонецЕсли;
КонецЦикла;

Рекомендации по заполнению документов

Чтобы избежать ошибок в будущем, рекомендуем придерживаться следующего алгоритма:

  1. Всегда проверяйте соответствие Статьи Движения Денежных Средств и Подразделения. Если в списании указано одно подразделение, а в отчете другое — автоматический расчет рублевой суммы по курсу аванса не сработает.
  2. Если сотрудник тратит деньги в разных валютах (например, снял USD, а платил в местной валюте), использование закладки Конвертация становится обязательным. Там необходимо указать кросс-курс, который позволит системе правильно соотнести трату с выданным авансом.
  3. Пользуйтесь отчетом Контроль операций подотчетных лиц. В нем наглядно видно разрыв между валютной суммой и рублевой. Если вы видите, что валюта «закрыта», а рубли — нет, значит, нужно перепроверить настройки зачета авансов.

В заключение отметим, что функционал 1С:ERP в части валютных подотчетников гораздо гибче, чем в 1С:Бухгалтерии, но требует более тщательного подхода к хронологии документов и заполнению аналитики. Использование мультивалютного режима — это штатный и наиболее прозрачный способ добиться корректных остатков по СуммеРегл, соответствующих требованиям законодательства.

← На главную