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

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

В практической деятельности торговых предприятий часто встречается особая форма расчетов: договор с контрагентом заключается в условных единицах (у.е.) или иностранной валюте, но оплата по нему производится в рублях. При этом стороны договариваются, что курс пересчета у.е. в рубли жестко фиксируется на дату отгрузки (поставки) товаров. При последующей оплате покупатель перечисляет именно ту рублевую сумму, которая была определена в момент отгрузки.

При ведении такого учета в программе 1С:ERP Управление предприятием пользователи часто сталкиваются с проблемой: при закрытии месяца система автоматически переоценивает дебиторскую или кредиторскую задолженность на отчетную дату и начисляет курсовые разницы. В этой статье мы подробно разберем, почему возникает эта проблема, как она трактуется с точки зрения законодательства и как правильно настроить 1С:ERP для корректного отражения таких операций без ручных корректировок.

Методологическое обоснование: должны ли возникать курсовые разницы?

Для начала проанализируем ситуацию с точки зрения бухгалтерского и налогового законодательства РФ (ПБУ 3/2006 и Налоговый кодекс РФ). Это поможет нам понять логику работы программы и требования аудиторов.

Согласно п. 5 ПБУ 3/2006, выраженная в иностранной валюте или у.е. стоимость активов и обязательств подлежит пересчету в рубли. Пересчет производится по официальному курсу ЦБ РФ, либо по курсу, установленному законом или соглашением сторон.

Если договором предусмотрено, что оплата производится по курсу на дату отгрузки, то в момент совершения хозяйственной операции (перехода права собственности на товар):

  1. Происходит фиксация стоимости переданных ценностей в рублях.
  2. Возникает дебиторская (или кредиторская) задолженность, рублевая оценка которой жестко привязана к курсу на дату этой отгрузки.
  3. Поскольку курс для последующей оплаты уже определен и не подлежит изменению, у сторон обязательства не возникает валютного риска. Рублевая сумма долга становится неизменной до момента платежа.

В соответствии с п. 11 ПБУ 3/2006 и ст. 271, 272 НК РФ, переоценке подлежат только те обязательства, рублевая оценка которых меняется в связи с изменением курса валюты. Если соглашением сторон курс зафиксирован на дату отгрузки, то дальнейшее изменение официального курса ЦБ РФ никак не влияет на сумму подлежащих получению или выплате рублей. Следовательно, переоценка такой задолженности на отчетную дату (конец месяца) и на дату оплаты производиться не должна, и курсовые разницы в учете возникать не могут.

Любые попытки программы начислить курсовые разницы по такому договору при закрытии месяца являются методологической ошибкой учета.

Почему стандартный договор в у.е. в 1С:ERP переоценивается?

Выясним причину поведения программы. По умолчанию, когда в 1С:ERP создается договор с признаком расчетов «В у.е.» (валюта договора — иностранная, валюта платежа — рубли), система считает этот договор классическим договором в у.е. в понимании ПБУ 3/2006 (где оплата производится по курсу на дату платежа).

При регламентной процедуре закрытия месяца программа запускает расчет курсовых разниц. Она анализирует остатки по регистрам оперативного учета расчетов (например, по регистру накопления РасчетыСКлиентамиПоДокументам) и, видя остаток в валюте, производит его переоценку по актуальному курсу на конец месяца, формируя проводки по дебету/кредиту счетов 60.31, 62.31 в корреспонденции со счетами 91.01 (91.02).

Разбор работы флага «Сумма БУ не подлежит переоценке» в Плане счетов

Многие пользователи пытаются решить проблему, установив в Плане счетов для субсчетов 62.31 или 60.31 флаг «Сумма БУ не подлежит переоценке». Разберем, почему этот способ не работает для стандартных расчетов с контрагентами в 1С:ERP.

В ERP-системах, в отличие от «1С:Бухгалтерии», регламентированный учет (проводки) строится на основании данных оперативного контура. Процедура закрытия месяца рассчитывает курсовые разницы по регистрам расчетов с клиентами и поставщиками. Если вы просто отключите переоценку на уровне Плана счетов:

Флаг «Сумма БУ не подлежит переоценке» предназначен для специфических счетов ручного учета или для операций, которые не контролируются оперативным контуром расчетов (например, аренда по ФСБУ 25/2018 на счетах 76), и использовать его для стандартных счетов 60 и 62 не рекомендуется.

Решение 1. Использование штатного функционала в современных версиях 1С:ERP (начиная с релизов 2.5.10 / 2.5.17)

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

Рассмотрим по шагам настройку договора в у.е. с фиксацией курса:

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

Как это работает в системе:

При оформлении накладной (например, документа РеализацияТоваровУслуг) система берет курс у.е. на дату этого документа и рассчитывает рублевую сумму выручки и задолженности. Данная рублевая сумма фиксируется в регистре оперативного учета РасчетыСКлиентамиПоДокументам как окончательная. При закрытии месяца алгоритм расчета курсовых разниц анализирует настройки договора и видит признак «Фиксированный на дату отгрузки». Переоценка этой задолженности полностью игнорируется, и никаких проводок по курсовым разницам не возникает. При необходимости можно воспользоваться внешней печатной формой акта сверки в рублях для договоров в у.е..

Решение 2. Обходной путь для старых версий 1С:ERP (без программирования)

Если ваше предприятие работает на более ранних релизах 1С:ERP (версии ниже 2.5.10), где настройка фиксации курса в договоре отсутствует, можно применить методологически верный обходной путь. Поскольку обязательство после отгрузки фактически становится рублевым, мы можем полностью исключить валютный учет из взаиморасчетов. Для получения доступа к штатным функциям фиксации курса можно автоматически обновить программу до актуального релиза с помощью специальной утилиты.

Рассмотрим схему настройки рублевого договора с валютными ценами:

  1. Настройка договора: В карточке договора указываем валюту договора — рубли (RUB) и валюту расчетов — рубли (RUB). Таким образом, для программы это обычный рублевый договор, по которому переоценка в принципе не предусмотрена.
  2. Ведение прайс-листа и заказов: Если цены жестко привязаны к валюте, мы можем выставлять коммерческие предложения и оформлять документы ЗаказКлиента в валюте (USD/EUR). В соглашении или заказе указывается валюта цены.
  3. Оформление отгрузки: При создании документа РеализацияТоваровУслуг на основании заказа программа автоматически пересчитывает валютные цены заказа в рубли по курсу на дату отгрузки. В саму накладную и во взаиморасчеты попадает уже готовая рублевая сумма.
  4. Оплата: Покупатель оплачивает ровно ту рублевую сумму, которая указана в накладной. Поскольку договор рублевый, зачет оплаты происходит копейка в копейку без возникновения курсовых разниц.

Этот способ является наиболее чистым с точки зрения методологии регламентированного учета в старых релизах, так как он полностью исключает влияние валютного контура на уже зафиксированную дебиторскую задолженность.

Решение 3. Использование доработки (для программистов)

Если на старых релизах ERP вам критически важно вести взаиморасчеты именно в у.е. (например, для сложного управленческого анализа или из-за требований интеграции с внешними системами), потребуется небольшая доработка системы.

Для реализации этой задачи программисту необходимо расширить стандартное поведение механизма переоценки:

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

Пример структуры кода для модификации запроса по выборке остатков для переоценки:


// В расширении перед расчетом курсовых разниц исключаем договоры с фиксацией курса
&Вместо("ПодготовитьДанныеДляПереоценки")
Процедура ИсключитьДоговорыСФиксациейКурса(ПараметрыРасчета)
    // Код модификации запроса получения остатков задолженности
    // Добавляем условие:
    // "ГДЕ НЕ ТаблицаРасчетов.Договор.ДопРеквизит_НеПереоценивать"
КонецПроцедуры

Использование такого расширения позволит сохранить аналитику в у.е. во всех отчетах, но заблокирует генерацию проводок по счету 91 при закрытии месяца.

Резюме и рекомендации

Мы проанализировали проблему переоценки договоров в у.е. по курсу отгрузки и пришли к следующим выводам:

← На главную