1. Главная
  2. Ошибки в XML-УПД
  3. Имя файла не соответствует ИдФайл: причины и исправление

Имя файла не соответствует ИдФайл: причины и исправление

Ошибка «Имя файла не соответствует ИдФайл» в УПД: как устроено имя XML-файла, почему переименование ломает документ и как быстро исправить ошибку.

Ошибка «Имя файла не соответствует ИдФайл» появляется при загрузке УПД в систему ЭДО и ставит в тупик: документ заполнен верно, суммы сходятся, а файл не принимают. Причина почти всегда банальна: имя XML-файла отличается от идентификатора, записанного внутри него. Чаще всего файл просто переименовали.

Это одна из самых частых ошибок XML-УПД, и исправляется она за пару минут, если понимать, как устроено имя файла.

Что такое ИдФайл

ИдФайл — атрибут корневого элемента XML-документа. Он однозначно идентифицирует файл: кто отправитель, кто получатель, когда сформирован документ и какой у него уникальный номер.

<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_NSCHFDOPPR_2BM-7701234567-770101001-202310150000000000000_2BE-5009876543-500901001-202305120000000000000_20261019_3f2a8c4e-9b1d-4e7a-a6c2-1d5e8f0b7c34_0_1_0_0_0_00"
      ВерсФорм="5.03" ВерсПрог="...">

По формату ФНС имя файла УПД должно быть равно ИдФайл плюс расширение «.xml». Оператор ЭДО сравнивает одно с другим посимвольно. Не совпал хотя бы один знак — ошибка ИдФайл, и документ не загружается.

Зачем такая строгость? По имени файла системы ЭДО маршрутизируют документ и отличают его от других. Если бы имя могло быть любым, один и тот же документ мог бы существовать под разными именами, а разные документы — под одинаковыми.

Из чего состоит имя файла УПД

Общая схема для титула продавца:

ON_NSCHFDOPPR_<получатель>_<отправитель>_<ГГГГММДД>_<GUID>_N2_N3_N4_N5_N6_N7

Разберём по частям:

ЧастьЧто означаетПример
ON_NSCHFDOPPRПрефикс: УПД, титул продавцаON_NSCHFDOPPR
ПолучательКод оператора ЭДО (3 символа) + ID участника покупателя2BE-5009876543-...
ОтправительКод оператора ЭДО (3 символа) + ID участника продавца2BM-7701234567-...
ГГГГММДДДата формирования файла20261019
GUIDУникальный идентификатор, генерируется для каждого файла3f2a8c4e-9b1d-...
N2Признак прослеживаемости (0/1)0
N3Признак маркировки (0/1)1
N4Признак алкогольной продукции (0/1)0
N5Признак табачной продукции (0/1)0
N6Признак нефтепродуктов (0/1)0
N7Резерв, всегда «00»00

Для титула покупателя префикс другой: ON_NSCHFDOPPOK.

Обратите внимание на порядок: сначала получатель, потом отправитель. Это контринтуитивно, и при ручной сборке имени его часто путают.

Почему возникает ошибка

Ситуаций, в которых имя файла не соответствует ИдФайл, всего несколько.

1. Файл переименовали. Самая частая причина. Длинное имя неудобно, его меняют на «УПД 145 от 19.10.xml» или «Ромашка_октябрь.xml». Внутри файла ИдФайл остался прежним, и совпадение пропало.

2. Копия при скачивании. Браузер или почтовый клиент при повторном сохранении добавляет к имени « (1)», «_копия» или «-2». Визуально это легко пропустить в конце длинной строки.

3. Обрезка имени. Некоторые архиваторы, мессенджеры или старые файловые системы сокращают длинные имена. Имя УПД длинное, и его хвост может потеряться.

4. Правка содержимого без правки имени. Например, в файле исправили ID участника ЭДО покупателя или признак маркировки внутри ИдФайл, а имя оставили старым. Или наоборот: переименовали файл «правильно», но не поменяли атрибут.

5. Ошибка в выгрузке. Учётная программа или самописный скрипт формирует имя и ИдФайл разными функциями: например, генерирует GUID дважды, и он получается разным.

6. Расширение. Файл сохранён как «.XML», «.xml.xml» или «.txt».

Как исправить вручную

Если документ в остальном правильный, ошибку легко исправить без повторного формирования.

Способ 1. Переименовать файл по ИдФайл

  1. Откройте XML в текстовом редакторе (Блокнот, Notepad++ и т. п.) только для чтения. Ничего не меняйте и не сохраняйте, чтобы не испортить кодировку.
  2. Найдите в начале файла атрибут ИдФайл="..." и скопируйте значение между кавычками целиком.
  3. Закройте файл без сохранения.
  4. Переименуйте файл: вставьте скопированное значение и допишите «.xml».
  5. Убедитесь, что Windows не скрывает расширения и файл не стал «...xml.xml».

Способ 2. Исправить ИдФайл внутри файла

Подходит, только если имя файла правильное, а ИдФайл внутри испорчен. Этот путь рискованнее: при сохранении редактор может сменить кодировку с windows-1251 на UTF-8, и появится новая ошибка. Если всё же правите, сохраняйте файл строго в windows-1251.

Когда лучше сформировать документ заново

  • Неверен сам ИдФайл: перепутаны получатель и отправитель, указан не тот ID участника, неверные признаки маркировки.
  • Файл уже правили вручную несколько раз и вы не уверены в остальном содержимом.
  • Документ нужно отправить другому контрагенту: у него другой ID, значит, и ИдФайл должен быть другим.

После исправления полезно прогнать файл через сервис проверка УПД XML онлайн: он сверяет имя файла с ИдФайл и заодно проверяет документ по схеме ФНС и логическим правилам. Так вы не узнаете о следующей ошибке уже в системе ЭДО.

Как избежать: генерация имени автоматически

Ошибка ИдФайл в УПД почти всегда рукотворная. Чтобы она не повторялась:

  • Не переименовывайте XML-УПД. Если нужно удобное имя для архива, кладите файл в папку с понятным названием или ведите реестр документов.
  • Передавайте файлы архивом или через систему ЭДО, а не пересылкой по почте и мессенджерам, где имя может измениться.
  • Скачивайте один раз. Если файл с таким именем уже есть в папке, удалите старый, прежде чем сохранять новый, чтобы не появилось « (1)».
  • Доверьте имя генератору. Имя и ИдФайл должны рождаться из одних и тех же данных за один раз.

Наш конвертер так и делает: при сборке XML из Excel он собирает ИдФайл из ID участников ЭДО продавца и покупателя, даты и нового GUID, проставляет признак маркировки и сразу называет файл по ИдФайл. Вам остаётся загрузить его в систему ЭДО как есть. Подпись и отправка выполняются у вашего оператора: сервис документ не подписывает.

Если в документе есть коды маркировки, проверьте ещё и их: признак маркировки в имени — лишь часть дела. Подробнее — в статье Ошибки кодов маркировки в УПД: почему коды не дошли и как их заменить.

Частые вопросы

Можно ли сократить имя файла, если оно слишком длинное?
Нет. Длина имени определяется форматом: идентификаторы участников ЭДО, дата и GUID. Сокращённое имя не совпадёт с ИдФайл. Если система или архиватор обрезает имя, смените способ передачи файла, а не имя.

Можно ли сгенерировать новый GUID, чтобы отправить документ повторно?
Можно, если вы формируете новый файл целиком: тогда новый GUID должен оказаться и в атрибуте ИдФайл, и в имени. Менять GUID только в одном месте нельзя.

Как быстро сравнить имя и ИдФайл?
Скопируйте оба значения в одну строку текстового редактора друг под другом. Расхождение почти всегда в конце: « (1)», лишняя точка, «.xml.xml» или отличающийся признак маркировки.

Покупатель получил ошибку ИдФайл на своём титуле. Это та же ошибка?
Да, правило то же: имя файла титула покупателя с префиксом ON_NSCHFDOPPOK должно совпадать с его ИдФайл.

Итог

Имя файла УПД — не просто название, а часть документа. Оно обязано совпадать с ИдФайл до символа. Не переименовывайте файл, а если ошибка уже случилась, верните имя из атрибута ИдФайл или сформируйте документ заново.

Остальные проблемы с документом и способы их решения собраны в обзоре частые ошибки в XML-файле УПД. А чтобы имя файла всегда формировалось правильно, готовьте документ через онлайн-конвертер УПД в XML.