Как отразить в 1С:Бухгалтерия 3.0 оплату в евро по контракту в долларах

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

В практике внешнеэкономической деятельности нередко возникают ситуации, когда валюта договора и валюта фактического платежа не совпадают. Например, контракт с контрагентом-нерезидентом заключен в долларах США (USD), а оплата поступает на счет в евро (EUR). Типовой функционал программы 1С:Бухгалтерия 3.0 жестко привязывает расчеты по договору к одной конкретной валюте, что создает определенные трудности при отражении таких операций.

В данной статье мы подробно разберем, как правильно выстроить учетную цепочку, чтобы закрыть взаиморасчеты, корректно рассчитать курсовые разницы и не нарушить логику работы субконто на счетах 60 или 62.

Методология решения проблемы

Основная сложность заключается в том, что в документе Поступление на расчетный счет при выборе договора, валюта которого отличается от валюты счета, программа может выдать ошибку или некорректно сформировать проводки. Для решения этой задачи мы будем использовать методику «транзитного» счета. В качестве такого счета может выступать счет 57.11 (Переводы в пути) или счет 76.29 (Прочие расчеты с разными дебиторами и кредиторами в валюте).

Суть метода заключается в разделении операции на три этапа:

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

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

Рассмотрим по шагам ситуацию, когда мы реализовали товар на 100 USD, а покупатель прислал нам 90 EUR. Проанализируем, как это отразить в программе.

Шаг 1. Реализация товаров или услуг.
Создаем документ Реализация (акт, накладная, УПД). В поле «Договор» выбираем договор, валюта которого установлена как USD. Программа сформирует проводку: Дт 62.21 (USD) — Кт 90.01.1 на сумму 100 USD по курсу ЦБ на дату отгрузки.

Шаг 2. Оформление корректировки долга.
Поскольку мы не можем напрямую привязать платеж в евро к договору в долларах, нам нужно «перенести» долг покупателя на транзитный счет. Используем документ Корректировка долга с видом операции «Списание задолженности».

В табличной части указываем:

Проводка будет следующей: Дт 57.11 (USD) — Кт 62.21 (USD) на сумму 100 USD.

Шаг 3. Поступление оплаты в евро.
Создаем документ Поступление на расчетный счет с видом операции «Прочее поступление» или «Поступление от продажи иностранной валюты» (в зависимости от того, как вы решите обыграть кросс-курс).

Выберем операцию «Приобретение иностранной валюты». Это позволит нам корректно сопоставить две разные валюты.

Программа сформирует проводку: Дт 52 (EUR) — Кт 57.11 (USD).

Важный нюанс: В этот момент программа рассчитает рублевый эквивалент 90 евро и сравнит его с рублевым эквивалентом 100 долларов, которые «висят» на счете 57. Возникшая разница (из-за отклонения кросс-курса или курсовых колебаний) автоматически спишется на счет 91.01 или 91.02 как прочие доходы/расходы (курсовые разницы).

Вариант 2. Использование технического договора и взаимозачета

Этот метод считается более прозрачным для актов сверки. Разберем его подробнее.

Шаг 1. Настройка договоров.
Для одного и того же контрагента заводим два договора:

  1. «Основной (USD)» — в нем ведем учет отгрузок.
  2. «Технический (EUR)» — для отражения платежей.

Шаг 2. Поступление оплаты.
Оформляем Поступление на расчетный счет на евровый счет, выбирая «Технический (EUR)» договор. Дт 52 — Кт 62.21 (по договору EUR) на сумму 90 EUR.

Шаг 3. Взаимозачет через Корректировку долга.
Теперь нам нужно закрыть долг в долларах за счет аванса в евро. Создаем документ Корректировка долга с видом операции «Взаимозачет».

Проанализируем работу документа: программа попросит указать курс пересчета или вручную подогнать рублевые суммы. Чтобы взаимозачет прошел корректно, рублевые суммы в колонке «Сумма расчетов» по обоим договорам должны быть равны. Если курс ЦБ не дает идеального равенства, остаток корректируется ручной проводкой на финансовый результат (91 счет).

Работа с авансами (предоплата в EUR по контракту в USD)

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

Проанализируем последовательность действий:

  1. При поступлении 90 EUR мы должны сразу сделать «конвертацию» на транзитный счет 57 или 76, чтобы на дату получения денег у нас сформировался аванс в USD.
  2. Используем документ Операция, введенная вручную или сложную цепочку корректировок, чтобы зафиксировать на счете 62.22 (USD) сумму, эквивалентную полученным евро.
  3. При последующей реализации в USD программа автоматически зачтет этот аванс по зафиксированному ранее курсу.

Программная реализация и автоматизация

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

Для автоматизации можно создать небольшую обработку, которая будет создавать документ Операция, формирующий проводки вида:


// Пример логики переноса задолженности между валютными договорами
Движение = РегистрБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Запись = Движение.Добавить();
Запись.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями; // 62.21
Запись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = ДоговорEUR;
Запись.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями; // 62.21
Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = ДоговорUSD;
Запись.Сумма = СуммаВРублях;
Запись.ВалютнаяСуммаДт = 90;
Запись.ВалютаДт = Справочники.Валюты.НайтиПоНаименованию("EUR");
Запись.ВалютнаяСуммаКт = 100;
Запись.ВалютаКт = Справочники.Валюты.НайтиПоНаименованию("USD");

Важно: При использовании ручных проводок через Операцию необходимо крайне внимательно заполнять аналитику (субконто). Ошибка в выборе конкретного документа расчетов приведет к тому, что задолженность не закроется в «Оборотно-сальдовой ведомости по счету 62» (будет висеть одновременно и дебет, и кредит).

Заключение

Мы рассмотрели наиболее эффективные способы отражения кросс-валютных платежей в 1С:Бухгалтерия 3.0. Несмотря на отсутствие прямой кнопки «Оплатить долларовый счет евровыми деньгами», использование транзитных счетов (57 или 76) позволяет полностью соблюсти требования бухгалтерского учета и корректно сформировать отчетность по валютному контролю.

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

← На главную