Переход на ставку НДС 20% с 1 января 2019 года стал серьезным испытанием для пользователей и разработчиков систем на базе 1С, особенно для тех, кто использует старые или кастомизированные конфигурации (такие как УТ 10.3, КА 1.1 или УПП 1.3). Основная сложность заключается не только в изменении самой ставки в справочниках, но и в необходимости формирования корректного электронного документа в формате XML, который будет принят контролирующими органами.
В рамках данной статьи мы разберем, как получить эталонный образец выгрузки, какие технические требования предъявляются к формату 5.06 и как адаптировать выгрузку, если типовые механизмы программы дают сбой.
Рассмотрим ситуацию, когда нам необходимо быстро понять, как должен выглядеть корректный XML-файл. Самый надежный способ — это использование демо-базы последнего релиза от компании 1С. В таких базах уже предзаполнены данные по различным хозяйственным операциям, включая отгрузки со ставкой 20%.
Для реализации этого метода выполним следующие шаги:
Проанализируем полученный файл. Он послужит идеальным шаблоном для сверки структуры тегов и атрибутов. Если нет возможности установить базу локально, можно воспользоваться онлайн-демо-базами, которые предоставляет фирма 1С или ее партнеры. Это позволит сэкономить время на развертывании инфраструктуры.
Если ваша учетная система (например, сильно доработанная УТ 10.2) не поддерживает автоматическую выгрузку новой ставки, нам придется разобраться в структуре XML-файла. С 2019 года актуальным стал формат 5.06, заменивший предыдущую версию 5.04.
Разберем по шагам ключевые узлы, на которые стоит обратить внимание при формировании или ручной корректировке файла:
Файл) атрибут ВерсФорм должен иметь значение 5.06.НалСт. Для операций с 20% НДС в этом поле должно быть жестко прописано значение 20.КнПродСтр (строка книги продаж) должны присутствовать соответствующие поля для сумм по новой ставке.Проанализируем пример структуры узла для одной строки книги продаж со ставкой 20%:
<КнПродСтр НомПор="1" НомСчФ="123" ДатаСчФ="15.02.2019">
<Продавец>
<ИдПрод>
<ЮЛ ИННЮЛ="7700000000" КПП="770101001" />
</ИдПрод>
</Продавец>
<СведКнПрод СтоимПродажВс="1200.00">
<СумНДС20>200.00</СумНДС20>
<СтоимПродаж20>1000.00</СтоимПродаж20>
</СведКнПрод>
</КнПродСтр>
Важно помнить: если вы правите файл вручную в текстовом редакторе (например, Notepad++), необходимо следить за тем, чтобы итоговые суммы в конце файла (узел ВсегоКнПрод) совпадали с арифметической суммой всех строк. Налоговая проверка (XSD-валидация) моментально выявит расхождения.
Выясним причину, по которой старые базы (вроде УТ 10.3) могут некорректно выгружать данные. Часто проблема кроется в жестко прописанных условиях в программном коде или в отсутствии новой ставки в перечислении СтавкиНДС.
Рассмотрим пример логики, которую необходимо внедрить в обработку выгрузки. Нам нужно сопоставить внутренние значения 1С с кодами для XML. Проанализируем фрагмент кода, который отвечает за определение ставки:
Если СтрокаКниги.СтавкаНДС = Перечисления.СтавкиНДС.НДС20 Тогда
УзелСведений.УстановитьАтрибут("НалСт", "20");
УзелСведений.ЗаписатьТекстПодчиненногоУзла("СумНДС20", Формат(СтрокаКниги.СуммаНДС, "ЧГ=0; ЧРД=."));
УзелСведений.ЗаписатьТекстПодчиненногоУзла("СтоимПродаж20", Формат(СтрокаКниги.СуммаБезНДС, "ЧГ=0; ЧРД=."));
ИначеЕсли СтрокаКниги.СтавкаНДС = Перечисления.СтавкиНДС.НДС18 Тогда
// Обработка старой ставки для переходных периодов
УзелСведений.УстановитьАтрибут("НалСт", "18");
КонецЕсли;
При использовании данного подхода мы обеспечиваем поддержку "мультиставочности". Это критически важно, так как в 2019 году в одной книге продаж могли одновременно присутствовать операции как со ставкой 20%, так и со ставкой 18% (например, при возвратах товаров, отгруженных в 2018 году).
После того как XML-файл сформирован (самостоятельно или через доработанную обработку), его необходимо проверить. Рассмотрим инструменты, которые помогут избежать отказов в приеме отчетности:
Подведем итоги: для успешной выгрузки книги продаж со ставкой 20% необходимо убедиться в использовании формата 5.06, проверить наличие узлов СумНДС20 и СтоимПродаж20, а также корректно заполнить атрибут НалСт значением 20. В случае использования устаревших конфигураций оптимальным решением будет адаптация кода выгрузки на основе структуры, подсмотренной в актуальных демонстрационных базах 1С.