Переходный период при изменении ставки НДС (например, при переходе со ставки 18% на 20%) традиционно вызывает множество вопросов как у бухгалтерской службы, так и у специалистов по сопровождению систем «1С». Особые сложности возникают в комплексных конфигурациях, таких как «1С:Управление производственным предприятием» (УПП) ред. 1.3, где алгоритмы автоматического учета НДС тесно завязаны на аналитику расчетов с контрагентами.
В данной статье мы подробно проанализируем конфликтную ситуацию: когда бухгалтер требует указывать старую ставку НДС 18% в платежных документах нового периода, почему это приводит к ошибкам при автоматическом формировании авансовых счетов-фактур в «1С:УПП» и как правильно решить эту проблему технически и методологически.
---
Для начала разберем позицию законодательства и выясним, права ли бухгалтерская служба, требуя указывать ставку 18% в платежных поручениях входящих. Согласно разъяснениям Министерства финансов и ФНС РФ, ключевое значение имеет вид платежа (постоплата или аванс) и момент отгрузки товаров (выполнения работ, оказания услуг).
Платежное поручение входящее правомерно и обязательно должна быть указана ставка 18%. Бухгалтер в данном случае абсолютно права. Этот платеж закрывает дебиторскую задолженность на счете 62.01 («Расчеты с покупателями и заказчиками») и не порождает новых обязательств по НДС.Выясним, в чем же заключается техническая коллизия в программе «1С:УПП».
---
Рассмотрим ситуацию, когда учет расчетов с покупателем ведется по договору с детализацией «По договору в целом». При таком способе ведения взаиморасчетов программа «1С:УПП» определяет наличие аванса не в момент проведения платежного поручения, а расчетным путем на дату документа (или при проведении регламентных документов в конце месяца).
Проанализируем цепочку событий:
Платежное поручение входящее бухгалтер указывает ставку НДС 18%.Регистрация счетов-фактур на аванс. Программа видит, что по данному договору образовался остаток предоплаты (кредитовое сальдо на счете 62.02).Счет-фактура выданный с видом «На аванс» и подставляет туда ставку 18/118 вместо положенных 20/120. Это приводит к искажению книги продаж и декларации по НДС.---
Рассмотрим по шагам практические способы исправления этой ситуации в информационной базе.
Самый простой и правильный с точки зрения методологии способ без изменения кода программы — это разбивка сумм непосредственно в документе Платежное поручение входящее. Бухгалтер не должен проводить смешанные платежи одной строкой.
Выполним следующие действия:
Платежное поручение входящее.62.01.62.02.При такой разбивке обработка Регистрация счетов-фактур на аванс четко определит, какая именно часть платежа относится к предоплате, и сформирует счет-фактуру по ставке 20/120 на основании второй строки платежного поручения.
Если специфика бизнеса позволяет, имеет смысл уйти от детализации расчетов «По договору в целом». Более точным является ведение расчетов «По счетам» или «По заказам».
В этом случае при проведении платежного поручения программа требует указать конкретный документ-основание (счет на оплату или заказ покупателя). Это позволяет системе еще в момент проведения банковской выписки однозначно идентифицировать, закрывается ли существующая задолженность (со ставкой 18%), либо формируется новый аванс по новому заказу (где в спецификации изначально заложена ставка 20%).
Если ручная разбивка платежей бухгалтером невозможна из-за огромного документооборота, необходимо привлечь программиста 1С для доработки алгоритма проведения платежных документов или обработки регистрации счетов-фактур на аванс.
Проанализируем техническую логику возможной доработки. Нам необходимо переопределить поведение системы в модуле обработки РегистрацияСчетовФактурНаАванс или в подписке на событие перед записью счета-фактуры. Код должен принудительно анализировать дату документа оплаты и пересчитывать ставку НДС.
Приведем пример концептуального кода для модификации алгоритма заполнения ставки НДС в авансовом счете-фактуре:
// Пример алгоритма для подстановки актуальной ставки НДС на аванс
// Код размещается в модуле формирования счетов-фактур на аванс
Если ДатаДокументаОплаты >= '20190101000000' Тогда
// Все новые авансы, зарегистрированные в 2019 году, должны облагаться по новой ставке
Для Каждого СтрокаТЧ Из ТаблицаРеквизитовАванса Цикл
Если СтрокаТЧ.СтавкаНДС = Перечисления.СтавкиНДС.НДС18
ИЛИ СтрокаТЧ.СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда
СтрокаТЧ.СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120;
// Пересчитываем сумму НДС по новой ставке 20/120
СтрокаТЧ.СуммаНДС = Округлить(СтрокаТЧ.Сумма * 20 / 120, 2);
ЗаписатьЛогПредупреждения("Автоматически изменена ставка НДС с 18% на 20% для аванса по документу " + ДокументОплаты);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Этот код анализирует дату входящего платежа. Если платеж поступил в период действия новой ставки, а алгоритм пытается создать авансовый счет-фактуру по старой ставке 18% (взяв ее из настроек платежки), программа принудительно заменяет ее на ставку НДС20_120 и пересчитывает сумму налога.
---
Подводя итог нашему анализу, дадим четкие рекомендации для совместной работы бухгалтера и технического специалиста 1С: