- Главная
- Проверка по схеме
- Файл не соответствует XSD-схеме УПД: что значит ошибка и как исправить
Файл не соответствует XSD-схеме УПД: что значит ошибка и как исправить
Ошибка «Файл не соответствует XSD-схеме» при загрузке УПД в ЭДО: как по тексту найти виноватое поле, 10 частых причин и примеры исправления XML.
Сообщение «Файл не соответствует XSD-схеме» — самая частая причина, по которой УПД не проходит проверку ЭДО. Звучит пугающе, но на деле это почти всегда одна-две конкретные мелочи: пропущенный реквизит, лишний пробел, дата не в том формате. Разберём, как по тексту ошибки найти виноватое поле и как его исправить.
Что означает ошибка
У электронного УПД есть официальное описание — XSD-схема ФНС. В ней перечислены все элементы документа, их порядок, обязательность и допустимые значения. Когда вы загружаете XML в Диадок, СБИС, ЭДО Лайт или другую систему, оператор первым делом сверяет файл со схемой. Если хоть одно правило нарушено, документ не принимается и появляется ошибка формата УПД XML.
Важно понимать две вещи:
- ошибка относится к структуре и формату значений, а не к суммам: неправильный НДС схема не поймает;
- файл с такой ошибкой не дойдёт до контрагента, его нельзя «подписать как есть».
Быстрее всего найти причину, если прогнать файл через сервис проверка УПД XML онлайн: он покажет все нарушения списком с указанием реквизита. Но разобраться можно и по тексту ошибки от оператора.
Как читать текст ошибки и найти поле
Формулировки у операторов разные. Одни показывают переведённый текст, другие — исходное сообщение валидатора, часто на английском. Но в любом сообщении обычно есть три опорные точки.
1. Имя элемента или атрибута. Ищите в тексте русские названия из XML: НомерДок, ДатаДок, СведТов, ИННЮЛ, КодРегион. Это и есть поле с проблемой.
2. Что ожидалось. Фразы вроде «ожидался элемент», «expected», «обязательный атрибут отсутствует», «missing required attribute» говорят, что чего-то не хватает. «Недопустимое значение», «invalid value», «pattern», «enumeration», «length» — что значение есть, но неправильное.
3. Номер строки или путь. Некоторые системы указывают строку в файле или путь вида Файл/Документ/ТаблСчФакт/СведТов[2]. Цифра в квадратных скобках — номер повторяющегося элемента, например вторая строка товара.
Расшифровка типовых фрагментов:
| Фрагмент сообщения | Что это значит |
|---|---|
| The required attribute 'X' is missing / отсутствует обязательный атрибут | Атрибут X не заполнен или удалён |
| The element 'A' has invalid child element 'B' | Элемент B стоит не на своём месте или его не должно быть |
| List of possible elements expected: 'C' | Перед B должен был идти элемент C, он пропущен |
| The 'X' attribute is invalid... Pattern constraint failed | Значение не подходит под шаблон: формат даты, ИНН, кода |
| Enumeration constraint failed | Значение не из разрешённого списка |
| actual length is greater than MaxLength | Строка длиннее допустимого |
Найдя имя поля, откройте XML в текстовом редакторе с поиском и перейдите к нему. Если файл открывается с непонятными символами, откройте его в кодировке windows-1251.
Топ-10 причин
- Пустой обязательный реквизит. Номер документа, ИНН, наименование товара выгрузились пустыми, потому что не были заполнены в карточке.
- Неверный формат даты. Нужно ДД.ММ.ГГГГ, а в файле 2026-10-19 или 19.10.26.
- Неверная длина ИНН или КПП. У организации ИНН из 10 цифр, у ИП — из 12, КПП — 9 символов. ИНН ИП в поле для юрлица (или наоборот) не пройдёт.
- Значение не из списка. Опечатка в функции документа (СЧФДОП, СЧФ, ДОП), неверный КНД, ставка НДС в виде «22» вместо значения из справочника формата.
- Версия формата. Файл в устаревшей версии формата: в
ВерсФормне 5.03. Бывает и хитрее — структура старая, а номер версии исправили вручную. Лечится одинаково: пересоберите документ в 5.03. - Порядок элементов. Блоки переставлены местами после ручной правки или неаккуратной доработки выгрузки.
- Два варианта там, где нужен один. Например, адрес указан и структурированно, и одной строкой, или участник описан одновременно как юрлицо и как ИП.
- Слишком длинная строка. Наименование товара или организации больше допустимой длины.
- Лишние символы. Пробел в начале или конце значения, неразрывный пробел в числе, запятая вместо точки в сумме (в XML дробная часть отделяется точкой).
- Неправильно вставленные коды маркировки. Код с криптохвостом и символом GS, КИЗ и коды упаковок в одном блоке, коды не в
ДопСведТов/НомСредИдентТов.
Часть проблем вне схемы, но с похожими симптомами — переименованный файл, кодировка, коды маркировки — подробно разобрана в обзоре частые ошибки в XML-файле УПД.
Примеры исправления
Дата не в том формате
Было:
<СвСчФакт НомерДок="145" ДатаДок="2026-10-19">
Стало:
<СвСчФакт НомерДок="145" ДатаДок="19.10.2026">
Дробная часть через запятую
Было:
<СведТов НомСтр="1" ... КолТов="2" ЦенаТов="1500,00" СтТовБезНДС="3000,00" ...>
Стало:
<СведТов НомСтр="1" ... КолТов="2" ЦенаТов="1500.00" СтТовБезНДС="3000.00" ...>
Пустой обязательный атрибут
Было:
<СвСчФакт НомерДок="" ДатаДок="19.10.2026">
Удалить атрибут нельзя: он обязательный. Нужно вписать реальный номер документа. Если файл выгружается из учётной программы, исправьте документ там и выгрузите заново, иначе ошибка вернётся при следующей выгрузке.
Код маркировки с криптохвостом
Было (символ GS в тексте не виден, но есть):
<КИЗ>010460123456789321AbC1dEf2GhI3j91EE0692...</КИЗ>
Стало:
<КИЗ>010460123456789321AbC1dEf2GhI3j</КИЗ>
В УПД передают код без криптохвоста: всё, что идёт после разделителя GS, отрезается.
Два варианта адреса
Было: у покупателя указан и структурированный российский адрес, и адрес одной строкой. Схема разрешает только один вариант из списка, поэтому валидатор сообщит о неожиданном элементе на месте второго адреса.
Стало: оставьте один вариант — тот, который ваша учётная программа заполняет полностью. Если структурированный адрес заполнен частично (нет кода региона или индекса), надёжнее дополнить его в карточке контрагента, чем удалять.
Если ошибок много
Начните с первой по порядку в файле. Пропущенный или лишний элемент сбивает валидатор, и он выдаёт ошибки на нескольких следующих элементах, хотя они заполнены верно. Исправьте первую, проверьте снова и только потом переходите к остальным.
После исправления
Не загружайте файл в ЭДО сразу. Сначала повторите проверку: одна исправленная ошибка иногда открывает следующую, которую валидатор раньше не показывал. Структуру самой схемы, обязательность полей и устройство адреса мы разбирали в статье XSD-схема УПД 5.03: где скачать и как читать.
Как не получать ошибку: проверка до отправки
Отказ оператора ЭДО — самый дорогой способ узнать об ошибке: документ нужен контрагенту, а вы правите XML в блокноте. Надёжнее выстроить простой порядок:
- Не правьте XML вручную без необходимости. Каждая ручная правка — риск сломать порядок, кодировку или формат.
- Не переименовывайте файл. Имя должно совпадать с ИдФайл внутри документа.
- Заполняйте справочники. Пустой ИНН в карточке контрагента превращается в ошибку схемы в каждом документе.
- Проверяйте файл до подписания. Схема плюс логические правила: итоги, НДС, обязательные реквизиты.
- Собирайте документ инструментом, который знает формат. Если вы заполняете УПД в таблице, конвертер сам считает суммы и формирует корректную структуру и имя файла.
Перед отправкой загрузите XML в сервис и проверьте УПД на ошибки — это займёт минуту. А если документ удобнее готовить в таблице, используйте конвертер УПД Excel в XML: он выдаёт файл формата 5.03, который проходит схему ФНС. Подпись и отправка по-прежнему делаются у вашего оператора ЭДО.