Как правильно рассчитать НДС при реализации в условных единицах с предоплатой в 1С:Комплексная автоматизация 2.4?

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

При ведении внешнеэкономической деятельности или заключении договоров, стоимость которых выражена в иностранной валюте или условных единицах (у.е.), но оплата производится в рублях, возникает множество нюансов в учете, особенно в части налога на добавленную стоимость (НДС). Одним из таких сложных моментов является корректное определение налоговой базы по НДС на дату отгрузки товаров (работ, услуг), если ранее была получена предоплата.

Рассмотрим ситуацию, с которой столкнулись пользователи 1С:Комплексная автоматизация (КА) 2.4, когда несмотря на получение предоплаты, сумма НДС в Универсальном передаточном документе (УПД) рассчитывается по курсу на дату отгрузки, а не на дату оплаты.

Введение: Суть проблемы с НДС в 1С:КА 2.4

Представим, что ваша организация получила предоплату по счету, который был выставлен в условных единицах (например, евро), но оплата, согласно договору, производится в рублях по курсу Центрального банка Российской Федерации на дату оплаты. На дату фактической реализации товаров или услуг формируется УПД, и мы видим следующую картину:

  1. Стоимость товаров с НДС (графа №9 УПД) равна рублевому эквиваленту, полученному в качестве предоплаты. То есть, для этой суммы был взят курс евро на дату оплаты.
  2. Но сумма самого НДС (графа №8 УПД) равна рублевому эквиваленту, рассчитанному по курсу евро уже на дату отгрузки (реализации).

В этой ситуации у бухгалтеров возникает закономерный вопрос: насколько такое поведение программы правомерно с точки зрения действующего законодательства и возможно ли изменить настройки 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), мы должны применять смешанный подход:

  1. Та часть стоимости товаров (работ, услуг), которая была оплачена авансом, принимается в рублевом эквиваленте по курсу ЦБ РФ на дату получения аванса. Это означает, что для этой части налоговая база уже зафиксирована.
  2. Неоплаченная часть стоимости пересчитывается в рубли по курсу ЦБ РФ на дату отгрузки. Только для этой части применяется текущий курс, поскольку обязательство по оплате еще не было исполнено, и окончательная рублевая сумма для этой части определяется именно на дату перехода права собственности (отгрузки).

Таким образом, общая налоговая база при частичной предоплате складывается из двух частей: "авансовой" части по курсу аванса и "отгрузочной" части по курсу отгрузки. Этот подход обеспечивает справедливость и точность налогообложения, отражая реальное поступление средств и выполнение обязательств.

Курсовые разницы

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

В части НДС, возникающие курсовые разницы (как положительные, так и отрицательные) учитываются в составе внереализационных доходов или расходов организации в соответствии с положениями статьи 250 (для доходов) и статьи 265 (для расходов) НК РФ. Это означает, что сами суммы НДС не корректируются, но курсовые разницы, которые влияют на общую рублевую стоимость реализации, признаются в финансовом результате компании. Также курсовые разницы по дебиторской и кредиторской задолженности подлежат пересчету на дату погашения обязательств и на последний день каждого месяца.

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

Поведение 1С:Комплексная автоматизация 2.4 и возможные причины

Несмотря на четкие законодательные предписания, пользователи 1С:Комплексная автоматизация версий 2.4 (включая 2.4.14.115 и 2.4.14.109) и 2.5 регулярно сталкиваются с ситуацией, описанной в начале: программа рассчитывает НДС в УПД по курсу на дату отгрузки, даже если реализация полностью или частично покрыта предоплатой. Это приводит к расхождениям между фактически полученным авансом и налоговой базой НДС при реализации.

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

Возможные причины такого поведения 1С могут включать:

  1. Особенности зачета предоплаты: Если детализация расчетов в договоре установлена как "по расчетным документам", а не "по договору в целом", программа может некорректно связывать полученный аванс с конкретной реализацией, что мешает ей "подтянуть" курс аванса для НДС. Это означает, что механизмы автоматического зачета авансов, которые хорошо работали, например, в старых конфигурациях типа "Торговля и Склад", в КА 2.4 могут быть реализованы иначе или иметь ограничения.
  2. Приоритет курса отгрузки: В некоторых алгоритмах расчета НДС при реализации разработчики могли отдать приоритет курсу на дату отгрузки как "окончательному" для определения стоимости, игнорируя или некорректно применяя правило курса аванса для НДС. Это может быть результатом сложной логики учета суммовых разниц, когда вместо разделения налоговой базы по курсам аванса и отгрузки, вся операция "сворачивается" к одному курсу.
  3. Недоработки в конкретных релизах: Проблема наблюдается в разных релизах КА 2.4 на протяжении длительного времени, что может указывать как на устойчивый баг, так и на сознательное дизайнерское решение, которое не соответствует ожиданиям пользователей и законодательству.
  4. Сложности в расчете для ставки 0%: Хотя в данной теме речь не идет о нулевой ставке, стоит упомянуть, что для НДС по ставке 0% при экспорте в ЕАЭС в 1С также могут возникать проблемы с автоматическим определением курса на дату отгрузки, что требует ручных корректировок. Это указывает на общую сложность работы с валютными операциями и НДС в программе.

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

Практические решения и рекомендации

Поскольку типовой функционал 1С:Комплексная автоматизация 2.4 может не всегда корректно рассчитывать НДС при реализации в у.е. с предоплатой, нам придется рассмотреть несколько подходов, включая договорную работу, доработки программы и взаимодействие с разработчиками.

1. Проверка и корректировка настроек зачета предоплаты

Прежде всего, давайте убедимся, что механизм зачета предоплаты в 1С настроен корректно. Возможно, проблема кроется в том, что программа не "видит" или некорректно зачитывает аванс. В 1С:КА 2.4 важно, какая детализация расчетов установлена в договоре с контрагентом. Если установлена детализация "По расчетным документам", это может усложнить автоматический зачет авансов. Попробуйте проверить или, если возможно, изменить настройку на "По договору в целом", если ваша учетная политика это позволяет. В некоторых случаях это может помочь программе корректно связать предоплату с реализацией и применить соответствующий курс. Однако, как указывают некоторые пользователи, даже при таких настройках проблема может сохраняться.

Проверить настройки можно в карточке ДоговораКонтрагентов (или ДоговорыСПокупателями). Найдите раздел, касающийся расчетов, и обратите внимание на опцию ДетализацияРасчетов. Если она установлена в "По расчетным документам", то каждый платежный документ (поступление на расчетный счет) должен быть явно зачтен в документ реализации.

Убедитесь, что в документе РеализацияТоваровУслуг на вкладке "Оплата" или "Взаиморасчеты" корректно отражены зачеты авансов. Если зачет не происходит автоматически, возможно, потребуется провести его вручную с помощью документа КорректировкаДолга или убедиться, что документ ПоступлениеБезналичныхДенежныхСредств имеет правильную привязку к счету на оплату или договору, который затем будет зачтен в реализацию.

2. Договорная работа и учетная политика

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

Пример формулировки в договоре:


Стоимость Товара, указанная в Спецификации №__ от «__»______20__г., выражена в Евро и оплачивается в рублях по курсу ЦБ РФ на дату платежа.
В случае получения аванса, его рублевый эквивалент фиксируется на дату получения аванса.
Окончательный расчет за Товар производится по рублевому эквиваленту, рассчитанному на дату отгрузки Товара, за вычетом ранее полученной предоплаты.
При этом, налоговая база по НДС в отношении предоплаченной части Товара определяется исходя из курса ЦБ РФ на дату получения аванса, а в отношении неоплаченной части – по курсу ЦБ РФ на дату отгрузки.

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

3. Доработка программы: Исправление движений реализации-основания

Поскольку типовой функционал 1С:КА 2.4 может выдавать некорректный НДС, самым надежным, но и наиболее трудоемким решением является доработка программы. Пользователи форума подтверждают, что приходится использовать "свою обработку" для исправления движений документа реализации. Это означает, что после формирования документа РеализацияТоваровУслуг, который создает движения по регистрам, эти движения необходимо скорректировать вручную или с помощью специальной обработки.

Что именно нужно корректировать?

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

Примерный алгоритм действий при разработке такой обработки:

  1. Определить документ РеализацияТоваровУслуг, который требует корректировки.
  2. Найти связанные документы оплаты (ПоступлениеБезналичныхДенежныхСредств), которые были зачтены в данную реализацию.
  3. Из этих документов получить курсы валют на даты получения предоплат.
  4. Рассчитать корректную сумму НДС для оплаченной части реализации по курсу аванса.
  5. Если есть неоплаченная часть, для нее НДС рассчитывается по курсу отгрузки (как программа это делает по умолчанию).
  6. Сформировать корректирующие записи для регистров НДС. Это может быть либо прямое изменение движений документа реализации (что крайне не рекомендуется для типовых конфигураций, так как может быть перезаписано), либо создание отдельного документа ОперацияБухгалтерская или специализированного документа КорректировкаРеализации, который внесет необходимые изменения в регистры и движения по счетам учета НДС.

Если мы говорим о корректировке движений, то это может затронуть следующие объекты конфигурации:

Примерный концепт кода (для понимания логики, без привязки к конкретному синтаксису 1С):


// Предположим, у нас есть документ РеализацияТоваровУслуг
ДокРеализация = Документы.РеализацияТоваровУслуг.НайтиПоНомеру(НомерДокумента);

Если ДокРеализация.ВалютаДокумента <> ДокРеализация.ВалютаРегламентированногоУчета Тогда
    // Получаем список предоплат по договору/заказу
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    РасчетыСПокупателямиОбороты.СуммаВзаиморасчетовОборот,
        |    РасчетыСПокупателямиОбороты.ДокументРасчетовСКонтрагентом
        |ИЗ
        |    РегистрНакопления.РасчетыСПокупателями.Обороты(&ДатаНачала, &ДатаОкончания, , ДокументРасчетов = &Реализация) КАК РасчетыСПокупателямиОбороты
        |ГДЕ
        |    РасчетыСПокупателямиОбороты.ВидДвижения = &ВидДвиженияЗачетАванса";
    
    Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДокРеализация.Дата));
    Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДокРеализация.Дата));
    Запрос.УстановитьПараметр("Реализация", ДокРеализация.Ссылка);
    Запрос.УстановитьПараметр("ВидДвиженияЗачетАванса", Перечисления.ВидыДвиженийРасчетовСКонтрагентами.ЗачетАванса); // Пример, точное значение зависит от конфигурации

    РезультатЗапроса = Запрос.Выполнить().Выбрать();

    СуммаАвансовВРублях = 0;
    КурсАванса = 0; // Для простоты, если несколько авансов, нужно взвешенный курс
    
    Пока РезультатЗапроса.Следующий() Цикл
        // Для каждого зачтенного аванса
        ДокументОплаты = РезультатЗапроса.ДокументРасчетовСКонтрагентом;
        Если ТипЗнч(ДокументОплаты) = Тип("ДокументСсылка.ПоступлениеБезналичныхДенежныхСредств") Тогда
            КурсАванса = ДокументОплаты.КурсДокумента; // Или получить из регистра курсов
            // Сумма аванса в рублях
            СуммаАвансовВРублях = СуммаАвансовВРублях + ДокументОплаты.СуммаПлатежа; 
        КонецЕсли;
    КонецЦикла;

    // Рассчитываем корректный НДС
    СуммаРеализацииВРубляхПоКурсуАванса = ДокРеализация.СуммаДокумента * КурсАванса;
    // СуммаНДСПоКурсуАванса = СуммаРеализацииВРубляхПоКурсуАванса / (1 + СтавкаНДС / 100) * (СтавкаНДС / 100); // Если НДС сверху

    СуммаНДСПоКурсуАванса = РасчетНДСНалоговаяБаза(СуммаАвансовВРублях, ДокРеализация.СтавкаНДС); // Упрощенная функция
    
    // Здесь мы должны скорректировать движения документа РеализацияТоваровУслуг
    // Это сложная операция, требующая изменения существующих движений или создания новых
    // Например, можно создать документ "Операция (бухгалтерский и налоговый учет)"
    // и сторнировать некорректные проводки по НДС, создав новые с правильной суммой.
    
    // Пример сторнирования (концептуально):
    // НоваяОперация = Документы.ОперацияБухгалтерская.СоздатьДокумент();
    // НоваяОперация.Дата = ДокРеализация.Дата;
    // НоваяОперация.Содержание = "Корректировка НДС по реализации №" + ДокРеализация.Номер + " от " + ДокРеализация.Дата;
    //
    // НоваяПроводка = НоваяОперация.Движения.Хозрасчетный.Добавить();
    // НоваяПроводка.СчетДт = СчетУчетаНДСПоРеализации;
    // НоваяПроводка.СчетКт = СчетРасчетовСБюджетомПоНДС;
    // НоваяПроводка.Сумма = -НекорректнаяСуммаНДС; // Сторнирование
    //
    // НоваяПроводка = НоваяОперация.Движения.Хозрасчетный.Добавить();
    // НоваяПроводка.СчетДт = СчетУчетаНДСПоРеализации;
    // НоваяПроводка.СчетКт = СчетРасчетовСБюджетомПоНДС;
    // НоваяПроводка.Сумма = СуммаНДСПоКурсуАванса; // Правильная сумма
    // НоваяОперация.Записать();
КонецЕсли;

Такая доработка требует глубоких знаний архитектуры 1С и регистров, поэтому ее лучше поручить квалифицированным программистам.

4. Обращение в 1С: Поддержка и рекомендации

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

Мы рекомендуем использовать официальные каналы поддержки, такие как портал ИТС (https://its.1c.ru), где часто публикуются статьи и методические материалы по работе с различными аспектами учета в 1С. В вашем случае, статья по валютным операциям (https://its.1c.ru/db/ka24doc/bookmark/foreigncurrencytransactions/ForeignCurrencyTransactions) может содержать полезную информацию, хотя, как показывает практика, не всегда полностью решает проблему, описанную пользователями.

Выводы и общие рекомендации

Мы выяснили, что по законодательству РФ НДС при реализации товаров (работ, услуг) в условных единицах с полной предоплатой должен рассчитываться по курсу на дату получения аванса. Для частичной предоплаты налоговая база формируется из двух частей: оплаченная часть по курсу аванса, неоплаченная – по курсу отгрузки.

Поведение 1С:Комплексная автоматизация 2.4, где НДС в УПД рассчитывается по курсу отгрузки даже при наличии предоплаты, часто противоречит этим нормам. Это может быть как следствием недоработки, так и особенностями реализации функционала, требующими определенных настроек или ручных корректировок.

Для корректного ведения учета и минимизации налоговых рисков мы рекомендуем:

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

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

← На главную