При ведении внешнеэкономической деятельности или заключении договоров, стоимость которых выражена в иностранной валюте или условных единицах (у.е.), но оплата производится в рублях, возникает множество нюансов в учете, особенно в части налога на добавленную стоимость (НДС). Одним из таких сложных моментов является корректное определение налоговой базы по НДС на дату отгрузки товаров (работ, услуг), если ранее была получена предоплата.
Рассмотрим ситуацию, с которой столкнулись пользователи 1С:Комплексная автоматизация (КА) 2.4, когда несмотря на получение предоплаты, сумма НДС в Универсальном передаточном документе (УПД) рассчитывается по курсу на дату отгрузки, а не на дату оплаты.
Представим, что ваша организация получила предоплату по счету, который был выставлен в условных единицах (например, евро), но оплата, согласно договору, производится в рублях по курсу Центрального банка Российской Федерации на дату оплаты. На дату фактической реализации товаров или услуг формируется УПД, и мы видим следующую картину:
В этой ситуации у бухгалтеров возникает закономерный вопрос: насколько такое поведение программы правомерно с точки зрения действующего законодательства и возможно ли изменить настройки 1С, чтобы НДС рассчитывался по курсу евро на дату предоплаты? Давайте выясним причину такого поведения и определим, какие действия нам предпринять.
Чтобы понять, является ли поведение 1С корректным, нам необходимо обратиться к Налоговому кодексу Российской Федерации (НК РФ) и разъяснениям Минфина и ФНС России. Налоговая база по НДС при реализации товаров (работ, услуг) по договорам, обязательства по которым выражены в иностранной валюте или условных единицах, а оплата производится в рублях, имеет свои особенности, особенно при наличии предоплаты.
Прежде всего, нам нужно разобраться, как определяется налоговая база при получении аванса. Согласно пункту 14 статьи 167 НК РФ, момент определения налоговой базы по НДС для предоплаты (частичной оплаты) в счет предстоящей поставки товаров (работ, услуг) - это день получения аванса. При этом, если стоимость товаров (работ, услуг) выражена в у.е. или иностранной валюте, но оплачивается в рублях, то сумму аванса мы пересчитываем в рубли по официальному курсу Центрального банка Российской Федерации на дату его получения (пункт 3 статьи 153 НК РФ).
Налог на добавленную стоимость с полученного аванса исчисляется по расчетной ставке (например, 20/120 или 10/110) от этой рублевой суммы аванса. Этот НДС затем отражается в книге продаж и в соответствующей декларации. Важно понимать, что после начисления НДС с аванса, эта сумма является фиксированной и не пересчитывается при изменении курса валюты. Это сделано для упрощения учета и избежания постоянных пересчетов в течение налогового периода. Таким образом, сумма НДС, начисленная с предоплаты, становится "замороженной" в рублях по курсу на дату получения аванса.
Одна из ключевых особенностей возникает, если до отгрузки товаров (работ, услуг) была получена полная предоплата. В этом случае, налоговая база по НДС на день отгрузки определяется исходя из суммы полученной предоплаты в рублях, которая была рассчитана по курсу на дату получения аванса. Иными словами, пересчитывать эту сумму по курсу ЦБ РФ на дату отгрузки уже не нужно, даже если курс изменился. Это подтверждается Письмом ФНС России от 12.09.2012 № АД-4-3/15209@ и другими разъяснениями Минфина (например, Письмо Минфина России от 12.05.2021 N 03-07-08/36033).
Принцип здесь заключается в том, что обязательство по оплате в рублях было полностью исполнено на дату аванса, и вся налоговая база, связанная с этим обязательством, уже была переведена в рубли. Соответственно, при отгрузке мы "зачитываем" этот аванс, и налоговая база для НДС при реализации равна рублевой сумме полученного аванса. Это обеспечивает логическую связь между начисленным с аванса НДС и вычетом НДС при реализации. Сумма НДС, ранее исчисленная с аванса, подлежит вычету продавцом в том же рублевом эквиваленте, в котором она была начислена, без каких-либо пересчетов по курсу на дату отгрузки. Это исключает возникновение так называемых "суммовых" НДС-разниц, которые могли бы возникнуть, если бы мы пересчитывали всю сумму заново.
Ситуация становится немного сложнее, если была получена частичная предоплата. В этом случае, согласно разъяснениям Минфина России (например, Письма от 06.03.2012 № 03-07-09/20, от 17.02.2012 № 03-07-11/50), мы должны применять смешанный подход:
Таким образом, общая налоговая база при частичной предоплате складывается из двух частей: "авансовой" части по курсу аванса и "отгрузочной" части по курсу отгрузки. Этот подход обеспечивает справедливость и точность налогообложения, отражая реальное поступление средств и выполнение обязательств.
Важно также учитывать, что в случае договоров в условных единицах с оплатой в рублях могут возникать курсовые (или суммовые) разницы. Эти разницы возникают между рублевым эквивалентом обязательства на дату получения аванса (или предыдущего пересчета) и на дату отгрузки (для неоплаченной части) или на дату последующей оплаты.
В части НДС, возникающие курсовые разницы (как положительные, так и отрицательные) учитываются в составе внереализационных доходов или расходов организации в соответствии с положениями статьи 250 (для доходов) и статьи 265 (для расходов) НК РФ. Это означает, что сами суммы НДС не корректируются, но курсовые разницы, которые влияют на общую рублевую стоимость реализации, признаются в финансовом результате компании. Также курсовые разницы по дебиторской и кредиторской задолженности подлежат пересчету на дату погашения обязательств и на последний день каждого месяца.
Резюмируя, законодательство довольно четко указывает, что для НДС с предоплаченной части реализации в у.е. применяется курс на дату получения аванса, а не на дату отгрузки. Это критически важное правило для корректного налогового учета и избежания налоговых рисков.
Несмотря на четкие законодательные предписания, пользователи 1С:Комплексная автоматизация версий 2.4 (включая 2.4.14.115 и 2.4.14.109) и 2.5 регулярно сталкиваются с ситуацией, описанной в начале: программа рассчитывает НДС в УПД по курсу на дату отгрузки, даже если реализация полностью или частично покрыта предоплатой. Это приводит к расхождениям между фактически полученным авансом и налоговой базой НДС при реализации.
Форумчане часто называют это поведение "косяком", "недоработкой" или "нерализованным функционалом" в "флагманском" продукте. Некоторые высказывают мнение, что это "специально реализованный функционал", но с точки зрения соответствия законодательству это вызывает серьезные вопросы. При этом алгоритмы для разных валют, например, для долларов и евро, должны быть идентичными (согласно утверждениям разработчиков), что делает ситуацию с "проблемами в Евро" (как в одном из сообщений) еще более странной.
Возможные причины такого поведения 1С могут включать:
В конечном итоге, некорректное автоматическое формирование НДС в УПД создает налоговые риски для организации, поскольку расхождение между заявленной налоговой базой и реальной суммой, подлежащей налогообложению, может быть выявлено при налоговой проверке. Поэтому важно предпринять шаги для исправления этой ситуации.
Поскольку типовой функционал 1С:Комплексная автоматизация 2.4 может не всегда корректно рассчитывать НДС при реализации в у.е. с предоплатой, нам придется рассмотреть несколько подходов, включая договорную работу, доработки программы и взаимодействие с разработчиками.
Прежде всего, давайте убедимся, что механизм зачета предоплаты в 1С настроен корректно. Возможно, проблема кроется в том, что программа не "видит" или некорректно зачитывает аванс. В 1С:КА 2.4 важно, какая детализация расчетов установлена в договоре с контрагентом. Если установлена детализация "По расчетным документам", это может усложнить автоматический зачет авансов. Попробуйте проверить или, если возможно, изменить настройку на "По договору в целом", если ваша учетная политика это позволяет. В некоторых случаях это может помочь программе корректно связать предоплату с реализацией и применить соответствующий курс. Однако, как указывают некоторые пользователи, даже при таких настройках проблема может сохраняться.
Проверить настройки можно в карточке ДоговораКонтрагентов (или ДоговорыСПокупателями). Найдите раздел, касающийся расчетов, и обратите внимание на опцию ДетализацияРасчетов. Если она установлена в "По расчетным документам", то каждый платежный документ (поступление на расчетный счет) должен быть явно зачтен в документ реализации.
Убедитесь, что в документе РеализацияТоваровУслуг на вкладке "Оплата" или "Взаиморасчеты" корректно отражены зачеты авансов. Если зачет не происходит автоматически, возможно, потребуется провести его вручную с помощью документа КорректировкаДолга или убедиться, что документ ПоступлениеБезналичныхДенежныхСредств имеет правильную привязку к счету на оплату или договору, который затем будет зачтен в реализацию.
Как показали некоторые пользователи, избежать расхождений можно, если в договорах с покупателями четко прописать условия определения стоимости товаров (работ, услуг). Например, в условиях договора может быть указано, что "стоимость определяется как сумма аванса, а остаток (при его наличии) по курсу на дату реализации".
Пример формулировки в договоре:
Стоимость Товара, указанная в Спецификации №__ от «__»______20__г., выражена в Евро и оплачивается в рублях по курсу ЦБ РФ на дату платежа.
В случае получения аванса, его рублевый эквивалент фиксируется на дату получения аванса.
Окончательный расчет за Товар производится по рублевому эквиваленту, рассчитанному на дату отгрузки Товара, за вычетом ранее полученной предоплаты.
При этом, налоговая база по НДС в отношении предоплаченной части Товара определяется исходя из курса ЦБ РФ на дату получения аванса, а в отношении неоплаченной части – по курсу ЦБ РФ на дату отгрузки.
Такая формулировка не только соответствует законодательству, но и ясно определяет правила расчета для обеих сторон, что может помочь в случае спорных ситуаций. Однако она не решает проблему автоматического расчета НДС в 1С, а лишь юридически закрепляет правильный подход.
Поскольку типовой функционал 1С:КА 2.4 может выдавать некорректный НДС, самым надежным, но и наиболее трудоемким решением является доработка программы. Пользователи форума подтверждают, что приходится использовать "свою обработку" для исправления движений документа реализации. Это означает, что после формирования документа РеализацияТоваровУслуг, который создает движения по регистрам, эти движения необходимо скорректировать вручную или с помощью специальной обработки.
Что именно нужно корректировать?
НДСПредъявленный, НДСПродажи, НДСЗачетАвансов). Сумма НДС, которая идет в книгу продаж при реализации, должна быть равна НДС, рассчитанному по курсу аванса для предоплаченной части.Примерный алгоритм действий при разработке такой обработки:
РеализацияТоваровУслуг, который требует корректировки.ПоступлениеБезналичныхДенежныхСредств), которые были зачтены в данную реализацию.ОперацияБухгалтерская или специализированного документа КорректировкаРеализации, который внесет необходимые изменения в регистры и движения по счетам учета НДС.Если мы говорим о корректировке движений, то это может затронуть следующие объекты конфигурации:
Хозрасчетный, где отражается проводка по начислению НДС.НДСПродажи, который является источником данных для Книги продаж.РасчетыСПокупателями или РасчетыПоЗаказам, если они используются для детализации.Примерный концепт кода (для понимания логики, без привязки к конкретному синтаксису 1С):
// Предположим, у нас есть документ РеализацияТоваровУслуг
ДокРеализация = Документы.РеализацияТоваровУслуг.НайтиПоНомеру(НомерДокумента);
Если ДокРеализация.ВалютаДокумента <> ДокРеализация.ВалютаРегламентированногоУчета Тогда
// Получаем список предоплат по договору/заказу
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РасчетыСПокупателямиОбороты.СуммаВзаиморасчетовОборот,
| РасчетыСПокупателямиОбороты.ДокументРасчетовСКонтрагентом
|ИЗ
| РегистрНакопления.РасчетыСПокупателями.Обороты(&ДатаНачала, &ДатаОкончания, , ДокументРасчетов = &Реализация) КАК РасчетыСПокупателямиОбороты
|ГДЕ
| РасчетыСПокупателямиОбороты.ВидДвижения = &ВидДвиженияЗачетАванса";
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДокРеализация.Дата));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДокРеализация.Дата));
Запрос.УстановитьПараметр("Реализация", ДокРеализация.Ссылка);
Запрос.УстановитьПараметр("ВидДвиженияЗачетАванса", Перечисления.ВидыДвиженийРасчетовСКонтрагентами.ЗачетАванса); // Пример, точное значение зависит от конфигурации
РезультатЗапроса = Запрос.Выполнить().Выбрать();
СуммаАвансовВРублях = 0;
КурсАванса = 0; // Для простоты, если несколько авансов, нужно взвешенный курс
Пока РезультатЗапроса.Следующий() Цикл
// Для каждого зачтенного аванса
ДокументОплаты = РезультатЗапроса.ДокументРасчетовСКонтрагентом;
Если ТипЗнч(ДокументОплаты) = Тип("ДокументСсылка.ПоступлениеБезналичныхДенежныхСредств") Тогда
КурсАванса = ДокументОплаты.КурсДокумента; // Или получить из регистра курсов
// Сумма аванса в рублях
СуммаАвансовВРублях = СуммаАвансовВРублях + ДокументОплаты.СуммаПлатежа;
КонецЕсли;
КонецЦикла;
// Рассчитываем корректный НДС
СуммаРеализацииВРубляхПоКурсуАванса = ДокРеализация.СуммаДокумента * КурсАванса;
// СуммаНДСПоКурсуАванса = СуммаРеализацииВРубляхПоКурсуАванса / (1 + СтавкаНДС / 100) * (СтавкаНДС / 100); // Если НДС сверху
СуммаНДСПоКурсуАванса = РасчетНДСНалоговаяБаза(СуммаАвансовВРублях, ДокРеализация.СтавкаНДС); // Упрощенная функция
// Здесь мы должны скорректировать движения документа РеализацияТоваровУслуг
// Это сложная операция, требующая изменения существующих движений или создания новых
// Например, можно создать документ "Операция (бухгалтерский и налоговый учет)"
// и сторнировать некорректные проводки по НДС, создав новые с правильной суммой.
// Пример сторнирования (концептуально):
// НоваяОперация = Документы.ОперацияБухгалтерская.СоздатьДокумент();
// НоваяОперация.Дата = ДокРеализация.Дата;
// НоваяОперация.Содержание = "Корректировка НДС по реализации №" + ДокРеализация.Номер + " от " + ДокРеализация.Дата;
//
// НоваяПроводка = НоваяОперация.Движения.Хозрасчетный.Добавить();
// НоваяПроводка.СчетДт = СчетУчетаНДСПоРеализации;
// НоваяПроводка.СчетКт = СчетРасчетовСБюджетомПоНДС;
// НоваяПроводка.Сумма = -НекорректнаяСуммаНДС; // Сторнирование
//
// НоваяПроводка = НоваяОперация.Движения.Хозрасчетный.Добавить();
// НоваяПроводка.СчетДт = СчетУчетаНДСПоРеализации;
// НоваяПроводка.СчетКт = СчетРасчетовСБюджетомПоНДС;
// НоваяПроводка.Сумма = СуммаНДСПоКурсуАванса; // Правильная сумма
// НоваяОперация.Записать();
КонецЕсли;
Такая доработка требует глубоких знаний архитектуры 1С и регистров, поэтому ее лучше поручить квалифицированным программистам.
Учитывая, что проблема является распространенной и обсуждается на форумах, имеет смысл обратиться в службу поддержки 1С. Возможно, для вашей версии конфигурации уже выпущены патчи или есть рекомендации по настройке, которые помогут решить проблему без глобальных доработок. Обязательно предоставьте максимально подробное описание ситуации, включая версии платформы и конфигурации, а также примеры документов, где наблюдается некорректное поведение.
Мы рекомендуем использовать официальные каналы поддержки, такие как портал ИТС (https://its.1c.ru), где часто публикуются статьи и методические материалы по работе с различными аспектами учета в 1С. В вашем случае, статья по валютным операциям (https://its.1c.ru/db/ka24doc/bookmark/foreigncurrencytransactions/ForeignCurrencyTransactions) может содержать полезную информацию, хотя, как показывает практика, не всегда полностью решает проблему, описанную пользователями.
Мы выяснили, что по законодательству РФ НДС при реализации товаров (работ, услуг) в условных единицах с полной предоплатой должен рассчитываться по курсу на дату получения аванса. Для частичной предоплаты налоговая база формируется из двух частей: оплаченная часть по курсу аванса, неоплаченная – по курсу отгрузки.
Поведение 1С:Комплексная автоматизация 2.4, где НДС в УПД рассчитывается по курсу отгрузки даже при наличии предоплаты, часто противоречит этим нормам. Это может быть как следствием недоработки, так и особенностями реализации функционала, требующими определенных настроек или ручных корректировок.
Для корректного ведения учета и минимизации налоговых рисков мы рекомендуем:
Помните, что правильность исчисления и уплаты НДС – это зона ответственности вашей организации. Внимательный подход к учету валютных операций и предоплат поможет избежать претензий со стороны налоговых органов.