- Главная
- Ошибки в XML-УПД
- Имя файла не соответствует ИдФайл: причины и исправление
Имя файла не соответствует ИдФайл: причины и исправление
Ошибка «Имя файла не соответствует ИдФайл» в УПД: как устроено имя 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. Переименовать файл по ИдФайл
- Откройте XML в текстовом редакторе (Блокнот, Notepad++ и т. п.) только для чтения. Ничего не меняйте и не сохраняйте, чтобы не испортить кодировку.
- Найдите в начале файла атрибут
ИдФайл="..."и скопируйте значение между кавычками целиком. - Закройте файл без сохранения.
- Переименуйте файл: вставьте скопированное значение и допишите «.xml».
- Убедитесь, что 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.