При переносе сведений о выданных счетах-фактурах из устаревших или нетиповых конфигураций 1С (например, 1С:Управление торговлей 10.3) в программу «Налогоплательщик ЮЛ» технические специалисты часто сталкиваются со следующей проблемой: импорт файла проходит без видимых ошибок, однако в интерфейсе приемника все суммы НДС оказываются нулевыми. При этом, если открыть выгруженный файл XML напрямую в текстовом редакторе, все суммы налога на месте.
В этой статье мы подробно разберем, почему возникает эта скрытая ошибка, как устроена валидация XML в «Налогоплательщике ЮЛ», как правильно скорректировать разметку файла в соответствии с требованиями ФНС и как развивается законодательство в сфере форматов обмена данными.
Программа «Налогоплательщик ЮЛ» при импорте внешних файлов строго руководствуется официальными XSD-схемами ФНС. Если структура загружаемого документа нарушает правила схемы, парсер ведет себя специфическим образом: он не прерывает загрузку критической ошибкой, а просто игнорирует некорректно оформленные элементы и атрибуты. В результате сам документ (счет-фактура) успешно создается в базе данных программы, но все нераспознанные данные (включая суммы налога и ставки НДС) принимают значения по умолчанию — то есть пустые поля или нули.
Проанализируем разницу между ошибочной структурой XML, сгенерированной старой обработкой 1С, и корректной структурой, которую требует парсер.
Давайте подробно рассмотрим, какие элементы разметки приводят к потере информации при импорте.
Вариант 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-разметки:
НалСт):
<НалСт НалСтВел="20" НалСтТип="процент"/>.СведТов: НалСт="20". Соответственно, вложенный тег вообще не нужен.СумНал и СумНДС):
<СумНал СумНДС="733.33"/>.СумНал является сложным типом. Он должен содержать внутри себя полноценный вложенный текстовый тег СумНДС: <СумНал><СумНДС>733.33</СумНДС></СумНал>.Акциз):
<Акциз СумАкциз="без акциза"/>.БезАкциз со значением внутри: <Акциз><БезАкциз>без акциза</БезАкциз></Акциз>.СумНалВсего):
ВсегоОпл не должна передаваться в атрибуте. Обязательна структура: <СумНалВсего><СумНДС>883.33</СумНДС></СумНалВсего>.ИнфПолСтр):
ИнфПолСтр="".<ИнфПолСтр Идентиф="ИД" Значен=""/>.Для понимания природы ошибок полезно знать, где именно программа хранит эталоны для проверки. В каталоге установки «Налогоплательщик ЮЛ» (обычно это директория C:\Program Files\Налогоплательщик ЮЛ\ или аналогичный путь, выбранный при инсталляции) существует системная папка \INPUTDOC\XML\.
В этой папке находятся оригинальные файлы XSD-схем, предоставляемые ФНС России, а также координирующий файл базы данных xml0.dbf. При импорте любого отчета или первичного документа программа:
Если в вашей обработке 1С формирование XML реализовано вручную (например, через последовательную запись строк или методы ЗаписьXML), любое несовпадение регистра символов в названиях тегов (например, написание СумНдс вместо строгого СумНДС) или неверный порядок тегов приведет к потере данных при импорте.
Описанный в теме формат обмена 5.01 долгое время оставался стандартом для электронных счетов-фактур. Однако при доработке старых выгрузок из 1С важно учитывать текущие законодательные требования, иначе подготовленные файлы не будут приняты налоговым органом.
Рассмотрим этапы развития форматов счетов-фактур и УПД:
Важное предупреждение: Доработка старых обработок под формат 5.01 имеет смысл исключительно при работе с архивными документами прошлых периодов. Для текущей деятельности компании необходимо переходить на формирование XML в актуальном формате 5.03, иначе покупатели не смогут принять предъявленный НДС к вычету.
Для того чтобы оперативно решать проблемы с импортом отчетности и первичных документов, рекомендуется придерживаться следующих правил:
INPUTDOC\XML программы «Налогоплательщик ЮЛ» — валидатор мгновенно укажет точный номер строки и характер ошибки (например, присутствие запрещенного атрибута или отсутствие обязательного дочернего элемента).