При ведении учета по договорам, выраженным в иностранной валюте или в условных единицах (у.е.), бухгалтеры часто сталкиваются с трудностями при отражении отгрузки, если ранее по этой сделке поступала предоплата. Возникает закономерный спор: какой курс валюты должен стоять в документе Реализация товаров и услуг (РТиУ) — курс ЦБ РФ на дату отгрузки, курс на дату аванса или некий средневзвешенный (смешанный) курс?
Давайте подробно разберем эту ситуацию на примере конфигурации «1С:Управление производственным предприятием» (1С:УПП), сопоставим требования законодательства с техническими алгоритмами программы и выясним, как правильно отражать такие операции, чтобы и проводки, и печатные формы документов были абсолютно корректными.
Для начала проанализируем нормативную базу, на которую опираются бухгалтеры. Согласно нормам отечественного законодательства:
Рассмотрим конкретный пример:
Бухгалтеры рассчитывают рублевую сумму выручки следующим образом:
Сумма выручки в рублях = (500 EUR * 90 руб.) + (500 EUR * 100 руб.) = 45 000 руб. + 50 000 руб. = 95 000 руб.
Если мы разделим итоговую рублевую сумму на общую сумму в евро, мы получим средневзвешенный (смешанный) курс:
Смешанный курс = 95 000 руб. / 1 000 EUR = 95 руб./EUR.
С точки зрения математики и законодательства расчет бухгалтеров абсолютно верен. Но правы ли они, требуя, чтобы именно этот смешанный курс (в нашем примере — 95 руб.) был указан непосредственно в поле «Курс взаиморасчетов» шапки документа реализации в 1С:УПП?
В системе «1С:Управление производственным предприятием» поле Курс взаиморасчетов в шапке документа реализации выполняет строго определенную техническую функцию. В нем всегда должен быть указан официальный курс ЦБ РФ на дату проведения операции (на дату отгрузки).
Проанализируем причины, почему ручное изменение курса в шапке документа на «смешанный» приведет к серьезным ошибкам в учете:
Таким образом, логика программы 1С:УПП построена на том, что в шапке документа всегда хранится курс на дату отгрузки, а расчет рублевой суммы по «смешанному» курсу с учетом аванса происходит на уровне движения по регистрам и формирования бухгалтерских проводок.
Чтобы программа автоматически рассчитала правильные рублевые суммы выручки и НДС по смешанному курсу, должны быть соблюдены определенные настройки и правила работы с документами.
Выясним по шагам, от чего зависит корректность проведения документа:
Шаг 1. Настройки учетной политики и договора.
В параметрах учета или в настройках учетной политики по бухгалтерскому и налоговому учету должен быть включен расчет расчетов по договорам в у.е. и иностранной валюте по курсу аванса. Также важно проверить настройки самого договора с контрагентом — ведение взаиморасчетов должно быть настроено корректно (например, «По договору в целом» или «По заказам»).
Шаг 2. Время проведения документов и оперативный учет.
Если документы вводятся в базу оперативно и последовательно (сначала платежное поручение от 01.03, затем реализация от 15.03), программа при проведении РТиУ автоматически «видит» висящий на счете 62.22 (или 62.32) аванс. В этот момент при проведении документа формируются проводки:
45 000 руб. + (500 EUR * 100 руб.) = 95 000 руб.Шаг 3. Внесистемный ввод документов (задним числом).
Если документы проводятся неоперативно или задним числом, программа в момент проведения РТиУ может «не увидеть» предоплату. В этом случае документ сформирует проводку по дебету 62 и кредиту 90 полностью по курсу на дату реализации (15.03) — то есть на сумму 100 000 руб. (1000 EUR * 100 руб.).
Чтобы исправить эту ситуацию, в 1С:УПП предусмотрен регламентный механизм. Корректировка рублевой суммы до правильных значений (95 000 руб.) и зачет аванса будут выполнены при запуске обработки «Восстановление последовательности расчетов» (при закрытии месяца или по мере необходимости).
Основная причина, почему бухгалтеры требуют изменить курс в шапке документа — это печатные формы (ТОРГ-12, УПД, Счет-фактура). Если распечатать накладную сразу после проведения неоперативного документа РТиУ (до выполнения регламентных операций по зачету аванса), в печатную форму могут попасть суммы, рассчитанные полностью по курсу реализации (в нашем примере — на 100 000 рублей вместо 95 000 рублей).
Для решения этой проблемы мы можем использовать два практических метода:
Если вам необходимо выписать документы клиенту прямо сейчас и вы не хотите ждать конца месяца для запуска общего восстановления последовательности расчетов, выполните следующие действия в документе РТиУ:
Реализация товаров и услуг.Платежное поручение входящее), которым была произведена предоплата.В этом случае зачет аванса произойдет мгновенно в момент проведения реализации, рублевая сумма выручки пересчитается по смешанному курсу, и все печатные формы (включая счет-фактуру) сразу же сформируются с правильными показателями.
Чтобы доказать бухгалтерам, что программа считает все верно, рассмотрите вместе с ними специальный инструмент контроля. В документе РТиУ найдите и откройте печатную форму «Справка-расчет рублевой суммы документа в иностранной валюте».
В этой справке-расчете наглядно, по строкам, разложен весь алгоритм вычислений:
Для программистов 1С приведем математическую модель, которую часто пытаются реализовать в коде для «обхода» стандартного механизма, и объясним, почему этого делать не стоит. Бухгалтеры предлагают следующий алгоритм:
// Пример нерекомендуемого алгоритма ручной корректировки курса
ДолгВЕвро = Объект.СуммаДокумента - СуммаАвансаВЕвро;
ДолгВРублях = КурсНаДатуРТиУ * (ДолгВЕвро);
СуммаВРублях = СуммаПриходаВРуб + Окр(ДолгВРублях, 4);
ПодИтог = СуммаВРублях / Объект.СуммаДокумента;
Объект.КурсВзаиморасчетов = Окр(ПодИтог, 4);
Если применить данный код и принудительно записать полученный ПодИтог в реквизит КурсВзаиморасчетов, то при проведении документа проводки действительно сформируются на нужную сумму. Однако это полностью «сломает» последующие регламентные механизмы переоценки валюты на счетах взаиморасчетов (62.21), так как программа будет считать, что задолженность возникла по курсу 95 руб./EUR, в то время как официальный курс ЦБ на дату возникновения этой задолженности составлял 100 руб./EUR.
Поэтому правильное решение — доверить этот расчет типовому механизму зачета авансов 1С:УПП через восстановление последовательности расчетов или вкладку «Предоплата».
Проанализировав проблему, мы можем сделать следующие выводы: