- Главная
- Счёт-фактура в XML
- Счёт-фактура в ЭДО: формат XML, как выглядит и как отправить
Счёт-фактура в ЭДО: формат XML, как выглядит и как отправить
Как устроен счёт-фактура в ЭДО: формат XML 5.03, пример файла с разбором, как отправить и подписать через оператора, сроки выставления и частые ошибки.
Перевести счета-фактуры в электронный вид просто только на словах. На практике возникают вопросы: в каком формате должен быть файл, как он выглядит изнутри, кто и чем его подписывает и что делать, если оператор возвращает документ с ошибкой. Разберём по порядку, с примером реального фрагмента XML.
Почему счёт-фактуру отправляют в XML
Налоговый кодекс разрешает выставлять счёт-фактуру в электронной форме, но с условиями: по формату, утверждённому ФНС, с электронной подписью и через оператора ЭДО. Скан или PDF этим требованиям не отвечают, даже если подписаны. Покупатель не сможет принять по ним НДС к вычету так же спокойно, как по бумажному оригиналу или правильному электронному документу.
Формат электронного счёта-фактуры — это XML. Сейчас действует версия 5.03, утверждённая приказом ФНС России от 19.12.2023 № ЕД-7-26/970@. Её и ждут операторы ЭДО: версия записывается в атрибуте ВерсФорм корневого элемента.
Почему именно XML:
- Машиночитаемость. Учётная система покупателя загружает документ автоматически, без ручного ввода.
- Проверяемость. Файл можно проверить по XSD-схеме ФНС: обязательные поля, типы данных, допустимые значения.
- Единый формат для всех. Один и тот же файл понимают Диадок, СБИС, ЭДО Лайт, 1С и любые другие системы.
По формату счёт-фактура в XML для ЭДО — это тот же УПД, только с функцией СЧФ (если нужен только счёт-фактура) или СЧФДОП (если счёт-фактура совмещён с накладной). Как получить такой электронный счёт-фактура в XML из обычной таблицы, мы рассказали на отдельной странице.
Как выглядит файл
Если открыть электронный счёт-фактуру в текстовом редакторе, вы увидите дерево элементов с русскими названиями. Вот упрощённый скелет документа:
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_NSCHFDOPPR_2BM-..._2BE-..._20261019_..." ВерсФорм="5.03" ВерсПрог="...">
<Документ КНД="1115131" Функция="СЧФ" ДатаИнфПр="..." ВремИнфПр="..." ...>
<СвСчФакт НомерДок="341" ДатаДок="...">
<СвПрод> ... </СвПрод>
<ГрузОт> ... </ГрузОт>
<ГрузПолуч> ... </ГрузПолуч>
<СвПокуп> ... </СвПокуп>
</СвСчФакт>
<ТаблСчФакт>
<СведТов НомСтр="1" ...>
<ДопСведТов ПрТовРаб="1" АртикулТов="NB-X15" КодТов="000123" ГТИН="04601234567893"/>
</СведТов>
<ВсегоОпл ...> ... </ВсегоОпл>
</ТаблСчФакт>
<Подписант> ... </Подписант>
</Документ>
</Файл>
Разберём главное.
| Элемент | Что в нём |
|---|---|
Файл | корневой элемент: ИдФайл (он же имя файла), версия формата 5.03, версия программы |
Документ | код формы КНД 1115131 (титул продавца), функция (СЧФ, СЧФДОП, ДОП), дата и время формирования |
СвСчФакт | номер и дата счёта-фактуры, продавец, грузоотправитель, грузополучатель, покупатель |
ТаблСчФакт | строки товаров (СведТов с номером строки, количеством, ценой, НДС) и итоги ВсегоОпл |
СвПродПер | сведения о передаче товара; нужны, когда документ выполняет роль накладной |
Подписант | кто подписывает документ со стороны продавца |
Ещё две детали, которые важны на практике:
- Кодировка windows-1251. Она указана в первой строке файла. Если сохранить документ в UTF-8, многие системы покажут его нечитаемым.
- Имя файла равно ИдФайл. Формат имени:
ON_NSCHFDOPPR_<получатель>_<отправитель>_<ГГГГММДД>_<GUID>_N2_N3_N4_N5_N6_N7. Последние флаги — признаки прослеживаемости, маркировки, алкоголя, табака и нефтепродуктов. Изменили имя — получили ошибку «Имя файла не соответствует ИдФайл».
В веб-кабинете оператора ЭДО вы этого XML не увидите: система покажет привычную печатную форму. Но проверяется и подписывается именно XML.
Как отправить через ЭДО
Путей два: сформировать и отправить документ прямо из учётной системы или подготовить XML-файл отдельно и загрузить его вручную.
Из учётной системы. Если 1С или другая программа подключена к ЭДО, счёт-фактура уходит из карточки документа. Если вам нужен сам файл, читайте, как выгрузить счёт-фактуру в XML из 1С.
Загрузкой готового файла. Этот путь подходит, когда учётной системы нет или она не подключена к оператору.
- Подготовьте XML: выгрузите из программы или соберите из таблицы Excel.
- Войдите в веб-кабинет оператора ЭДО.
- Найдите раздел создания или загрузки документа, кнопку вроде «Загрузить».
- Выберите файл. Система распознает его как счёт-фактуру или УПД и покажет печатную форму.
- Проверьте получателя: он определяется по ID участника ЭДО в ИдФайл.
- Подпишите и отправьте.
Подробная инструкция по каждому оператору — в статье о том, как загрузить УПД XML в Диадок, СБИС и ЭДО Лайт.
Если вы и контрагент работаете у разных операторов, документ пройдёт через роуминг. Его обычно подключают по заявке в одном из кабинетов.
Подпись и сроки
Кто подписывает. Электронный счёт-фактуру подписывают квалифицированной электронной подписью руководителя организации или уполномоченного лица. Сведения о подписанте записываются в элемент Подписант. Если подписывает не руководитель, у него должны быть подтверждённые полномочия, например машиночитаемая доверенность.
Что делает покупатель. По счёту-фактуре с функцией СЧФ покупатель подтверждает получение служебным документом через оператора. По УПД с функцией СЧФДОП он ещё и подписывает титул покупателя (КНД 1115132): подтверждает, что товар принят.
Сроки. Счёт-фактуру выставляют не позднее пяти календарных дней со дня отгрузки, передачи работ или услуг либо получения предоплаты (п. 3 ст. 168 НК РФ). Для электронного документа датой выставления считается дата, которую фиксирует оператор ЭДО при поступлении файла.
Практический вывод: не откладывайте отправку на последний день. Если оператор вернёт файл с ошибкой формата, у вас должен остаться запас времени на исправление.
Частые ошибки
| Ошибка | Причина | Как исправить |
|---|---|---|
| «Имя файла не соответствует ИдФайл» | файл переименовали | выгрузить заново или вернуть имя из ИдФайл |
| Файл не открывается, вместо текста символы | сохранён не в windows-1251 | пересохранить в правильной кодировке или сформировать заново |
| Ошибка схемы: не найден обязательный элемент | не заполнен реквизит (КПП, адрес, подписант) | дозаполнить данные и сформировать файл заново |
| Итог не равен сумме строк | ручные правки сумм или округление | пересчитать стоимость и НДС построчно |
| Неверная функция | выбрали СЧФ вместо СЧФДОП (или наоборот) | переоформить документ с нужной функцией |
| Документ ушёл не тому получателю | ошибка в ID участника ЭДО | уточнить ID у контрагента |
В ВерсФорм не 5.03 | файл в устаревшей версии формата из старой программы | пересобрать файл в 5.03: обновить программу или собрать XML другим способом |
Как действовать, если документ вернулся
Оператор или покупатель может вернуть счёт-фактуру по двум разным причинам, и действовать нужно по-разному.
- Техническая ошибка формата. Файл не прошёл проверку при загрузке: не совпадает имя, нет обязательного элемента, неверная кодировка. Такой документ считается не выставленным. Исправьте данные, сформируйте файл заново и отправьте — номер и дату счёта-фактуры при этом можно оставить прежними.
- Отказ покупателя по существу. Документ дошёл, но покупатель не согласен с ценой, количеством или реквизитами и просит уточнение. В этом случае формируют исправленный документ: исправительный счёт-фактуру или УПД, либо корректировочный, если изменилась цена или количество после отгрузки.
Чтобы реже попадать во вторую ситуацию, согласуйте с покупателем данные заранее: реквизиты грузополучателя, номенклатуру, цены. Особенно это касается первой отгрузки новому контрагенту по ЭДО.
Большую часть этих ошибок можно поймать до отправки: проверить файл по XSD-схеме ФНС и логическим правилам — итоги, НДС, обязательные реквизиты, совпадение имени файла с ИдФайл.
Подготовьте счёт-фактуру за минуту
Если данные документа у вас в Excel, не нужно собирать XML вручную. Загрузите таблицу в конвертер УПД — он посчитает суммы, НДС и итоги, сформирует ИдФайл и выдаст файл формата 5.03. Как выбрать функцию и подготовить таблицу, читайте на странице счёт-фактура в XML из Excel. Готовый файл останется подписать и отправить через вашего оператора ЭДО.