Почему не загружается НДС в Налогоплательщик ЮЛ из 1С и как исправить формат XML-файла?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Налоговый учет Торговля и дистрибуция
← На главную

При переносе сведений о выданных счетах-фактурах из устаревших или нетиповых конфигураций 1С (например, 1С:Управление торговлей 10.3) в программу «Налогоплательщик ЮЛ» технические специалисты часто сталкиваются со следующей проблемой: импорт файла проходит без видимых ошибок, однако в интерфейсе приемника все суммы НДС оказываются нулевыми. При этом, если открыть выгруженный файл XML напрямую в текстовом редакторе, все суммы налога на месте.

В этой статье мы подробно разберем, почему возникает эта скрытая ошибка, как устроена валидация XML в «Налогоплательщике ЮЛ», как правильно скорректировать разметку файла в соответствии с требованиями ФНС и как развивается законодательство в сфере форматов обмена данными.

В чем причина ошибки: логика парсера «Налогоплательщик ЮЛ»

Программа «Налогоплательщик ЮЛ» при импорте внешних файлов строго руководствуется официальными XSD-схемами ФНС. Если структура загружаемого документа нарушает правила схемы, парсер ведет себя специфическим образом: он не прерывает загрузку критической ошибкой, а просто игнорирует некорректно оформленные элементы и атрибуты. В результате сам документ (счет-фактура) успешно создается в базе данных программы, но все нераспознанные данные (включая суммы налога и ставки НДС) принимают значения по умолчанию — то есть пустые поля или нули.

Проанализируем разницу между ошибочной структурой XML, сгенерированной старой обработкой 1С, и корректной структурой, которую требует парсер.

Сравнение ошибочного и правильного XML-кода

Давайте подробно рассмотрим, какие элементы разметки приводят к потере информации при импорте.

Вариант 1. Ошибочный формат выгрузки (с нулевым НДС)

В этом фрагменте кода структура подчиненных тегов внутри СведТов нарушает правила вложенности:


<ТаблСчФакт>
    <СведТов НомСтр="1" НаимТов="Кабель ВВГнг LS 3*2,5 (200)" ОКЕИ_Тов="006" КолТов="100.000" ЦенаТов="44.00" СтТовБезНДС="3666.67" СтТовУчНал="4400.00" ИнфПолСтр="">
        <Акциз СумАкциз="без акциза"/>
        <НалСт НалСтВел="20" НалСтТип="процент"/>
        <СумНал СумНДС="733.33"/>
    </СведТов>
    <ВсегоОпл СтТовБезНДСВсего="4416.67" СтТовУчНалВсего="5300.00">
        <СумНалВсего СумНДС="883.33"/>
    </ВсегоОпл>
</ТаблСчФакт>

Вариант 2. Исправленный формат выгрузки (успешно загружается)

А вот как должен выглядеть этот же фрагмент данных, чтобы «Налогоплательщик ЮЛ» корректно считал все показатели:


<ТаблСчФакт>
    <СведТов НомСтр="1" НаимТов="Кабель ВВГнг LS 3*2,5 (200)" ОКЕИ_Тов="006" КолТов="100.000" ЦенаТов="44.00" СтТовБезНДС="3666.67" НалСт="20" СтТовУчНал="4400.00">
        <Акциз>
            <БезАкциз>без акциза</БезАкциз>
        </Акциз>
        <СумНал>
            <СумНДС>733.33</СумНДС>
        </СумНал>
        <ИнфПолСтр Идентиф="ИД" Значен=""/>
    </СведТов>
    <ВсегоОпл СтТовБезНДСВсего="4416.67" СтТовУчНалВсего="5300.00">
        <СумНалВсего>
            <СумНДС>883.33</СумНДС>
        </СумНалВсего>
    </ВсегоОпл>
</ТаблСчФакт>

Выясним причину расхождений: ключевые изменения в разметке

Проанализируем детально различия между двумя версиями XML-разметки:

  1. Ставка налога (НалСт):
    • В ошибочном файле ставка представлена отдельным вложенным элементом: <НалСт НалСтВел="20" НалСтТип="процент"/>.
    • В корректном формате ФНС ставка налога является обычным строковым атрибутом внутри самого родительского тега СведТов: НалСт="20". Соответственно, вложенный тег вообще не нужен.
  2. Сумма налога (СумНал и СумНДС):
    • В ошибочном файле сумма записана как атрибут: <СумНал СумНДС="733.33"/>.
    • Согласно XSD-схеме, элемент СумНал является сложным типом. Он должен содержать внутри себя полноценный вложенный текстовый тег СумНДС: <СумНал><СумНДС>733.33</СумНДС></СумНал>.
  3. Акцизы (Акциз):
    • Ошибочный вариант использует атрибут: <Акциз СумАкциз="без акциза"/>.
    • Правильный вариант требует строгого вложения тега БезАкциз со значением внутри: <Акциз><БезАкциз>без акциза</БезАкциз></Акциз>.
  4. Итоговая сумма налога по документу (СумНалВсего):
    • По аналогии с построчным налогом, сумма в блоке ВсегоОпл не должна передаваться в атрибуте. Обязательна структура: <СумНалВсего><СумНДС>883.33</СумНДС></СумНалВсего>.
  5. Информационное поле строки (ИнфПолСтр):
    • В ошибочном коде элемент передан пустым атрибутом ИнфПолСтр="".
    • В рабочей схеме это отдельный вложенный тег со специальными атрибутами идентификации: <ИнфПолСтр Идентиф="ИД" Значен=""/>.

Как устроена проверка файлов в программе «Налогоплательщик ЮЛ»

Для понимания природы ошибок полезно знать, где именно программа хранит эталоны для проверки. В каталоге установки «Налогоплательщик ЮЛ» (обычно это директория C:\Program Files\Налогоплательщик ЮЛ\ или аналогичный путь, выбранный при инсталляции) существует системная папка \INPUTDOC\XML\.

В этой папке находятся оригинальные файлы XSD-схем, предоставляемые ФНС России, а также координирующий файл базы данных xml0.dbf. При импорте любого отчета или первичного документа программа:

Если в вашей обработке 1С формирование XML реализовано вручную (например, через последовательную запись строк или методы ЗаписьXML), любое несовпадение регистра символов в названиях тегов (например, написание СумНдс вместо строгого СумНДС) или неверный порядок тегов приведет к потере данных при импорте.

Эволюция форматов электронного документооборота

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

Рассмотрим этапы развития форматов счетов-фактур и УПД:

Важное предупреждение: Доработка старых обработок под формат 5.01 имеет смысл исключительно при работе с архивными документами прошлых периодов. Для текущей деятельности компании необходимо переходить на формирование XML в актуальном формате 5.03, иначе покупатели не смогут принять предъявленный НДС к вычету.

Как избежать подобных проблем в будущем

Для того чтобы оперативно решать проблемы с импортом отчетности и первичных документов, рекомендуется придерживаться следующих правил:

  1. Используйте валидаторы схем (XSD): При возникновении расхождений не обязательно сравнивать XML-код вручную. Существуют бесплатные онлайн-валидаторы и десктопные XML-редакторы. Достаточно загрузить в них ваш XML-файл и соответствующую схему XSD из папки INPUTDOC\XML программы «Налогоплательщик ЮЛ» — валидатор мгновенно укажет точный номер строки и характер ошибки (например, присутствие запрещенного атрибута или отсутствие обязательного дочернего элемента).
  2. Задействуйте типовые механизмы 1С: Самостоятельное формирование структуры XML-файлов вручную через текстовые строки часто приводит к синтаксическим ошибкам. В платформе 1С для выгрузки первичных документов реализованы встроенные механизмы ЭДО. Даже если учет ведется в старой конфигурации (такой как УТ 10.3), штатные модули обмена регулярно обновляются вендором либо партнерами для поддержки актуальных версий XML-схем ФНС (включая формат 5.03).
← На главную