В практике работы с программами 1С (особенно в таких конфигурациях, как 1С:УПП или 1С:Комплексная автоматизация 1.1) бухгалтеры часто сталкиваются с ситуацией, когда при проведении документа Поступление товаров и услуг рублевая сумма зачета аванса в проводках не совпадает с итоговой суммой самого документа. Более того, после выполнения регламентных операций в проводках появляются дополнительные записи: «Корректировка стоимости по расчетам в у.е.» и «Корректировка НДС по расчетам в у.е.». Рассмотрим подробнее, почему это происходит и является ли это ошибкой программы.
Первое, на что стоит обратить внимание, — это валюта договора и настройки взаиморасчетов. В рассматриваемой ситуации договор заключен в валюте (например, USD), но оплата производится в рублях (установлен флаг «Расчеты в у.е.»). В этом случае в бухгалтерском учете действуют особые правила, установленные ПБУ 3/2006 «Учет активов и обязательств, стоимость которых выражена в иностранной валюте».
Проанализируем ключевое требование законодательства: активы (товары, материалы, основные средства) и расходы, оплаченные авансом, принимаются к учету по курсу, действовавшему на дату перечисления этого аванса. Это означает, что если вы заплатили поставщику 100% предоплату, то стоимость поступивших позже товаров в рублях должна в точности соответствовать сумме выплаченного аванса, независимо от того, какой курс ЦБ РФ будет установлен на дату фактического прихода товара.
Выясним причину расхождения сумм на конкретном примере. Представим ситуацию:
Если бы программа просто провела документ по текущему курсу (70 000 руб.), на счете учета авансов (например, 60.32) «зависла» бы разница в 10 000 руб., хотя обязательства в валюте закрыты полностью. Чтобы этого не произошло, 1С выполняет зачет аванса на всю рублевую сумму, которая «числится» за этой поставкой. Именно поэтому в проводке по зачету аванса вы видите сумму 80 000 руб., хотя сам документ ПТиУ вроде бы выписан на 70 000 руб.
В сложных конфигурациях 1С проведение документа Поступление товаров и услуг часто выполняется в два этапа. Сначала документ формирует движения по «оперативному» курсу на дату документа. Однако окончательный расчет себестоимости и зачета аванса происходит при запуске специальной обработки — Восстановление последовательности расчетов (или при выполнении регламентных операций закрытия месяца).
Проанализируем, что делает программа в этот момент:
Эти записи дотягивают (или уменьшают) рублевую стоимость товара до исторического курса аванса. Без этих проводок оценка активов в балансе была бы неверной, а на счетах расчетов с поставщиками оставались бы рублевые хвосты при нулевом валютном сальдо.
Бухгалтерия часто выражает обеспокоенность тем, что сумма НДС в книге покупок становится больше, чем заявлено в бумажном счете-фактуре от поставщика. Здесь важно вспомнить статью 153 НК РФ. При реализации товаров в счет ранее полученной предоплаты налоговая база для НДС определяется по курсу ЦБ РФ на дату получения этой самой предоплаты (в части, приходящейся на аванс).
Таким образом, если поставщик правильно выставил счет-фактуру (использовал курс аванса), то ваши суммы в 1С после проведения всех корректировок должны в точности совпасть с данными поставщика. Если суммы не совпадают — нужно проверять, по какому курсу поставщик рассчитал НДС в своем документе. Корректировка НДС в 1С — это механизм приведения «расчетного» НДС (по курсу на день поступления) к «законному» НДС (по курсу на день аванса).
Чтобы убедиться, что программа отработала корректно, рекомендуем выполнить следующие действия:
Оборотно-сальдовая ведомость по счету (например, 60.31 и 60.32 или 60.21 и 60.22) с максимальной детализацией: по контрагенту, договору и документам расчетов.В программном коде 1С за этот функционал обычно отвечают модули расчета взаиморасчетов. Если вы решите проанализировать программную часть, обратите внимание на следующие объекты:
ВзаиморасчетыСКонтрагентами — здесь хранятся данные в валюте и рублях.РасчетыСКонтрагентами — используется для анализа авансов.ДвигатьсяПоПоследовательности() — запускает механизм пересчета.Посмотрим на пример логики, которую реализует система (условно):
// Определение курса зачета аванса
КурсАванса = РегистрАвансов.Выбрать(ДокументОплаты).Курс;
КурсПоступления = ТекущийДокумент.Курс;
Если КурсАванса <> КурсПоступления Тогда
СуммаКорректировки = (КурсАванса - КурсПоступления) * СуммаВВалюте;
СформироватьПроводку("Корректировка стоимости", СуммаКорректировки);
КонецЕсли;
Подведем итог: возникновение корректировок стоимости и НДС при зачете аванса в валютных договорах (у.е.) — это не программный сбой, а реализация требований налогового и бухгалтерского законодательства. Попытки удалить эти проводки вручную приведут к расхождению актов сверки и искажению финансовой отчетности организации.