Выгрузка товарной накладной в XML: все рабочие способы

· 9 мин

Содержание

Накладную из 1С выгружают в XML тремя способами: через электронный документооборот (формат ФНС), через универсальный формат EnterpriseData и через обработку сериализации. Какой подойдёт — зависит от того, кому и зачем нужен файл.

Если накладную надо отправить контрагенту — это задача для ЭДО, и XML там формируется автоматически. Если нужно перенести документ в другую базу 1С или отдать данные во внешнюю систему — работают универсальный формат и правила обмена. Ниже разберём каждый маршрут с точными путями меню и перечнем того, что часто ломает выгрузку.

Что проверить в документе перед выгрузкой в XML

XML — это не картинка документа, а структурированные данные. Поэтому выгрузка «подхватывает» ровно то, что заполнено в накладной. Пустой реквизит превращается в пустой тег или в ошибку проверки формата.

Сначала определитесь с целью — от неё зависит способ:

Какой XML вам нужен?

В большинстве конфигураций роль товарной накладной играет документ Реализация (акты, накладные, УПД) — именно его печатная форма ТОРГ-12 и выгружается в XML. Перед выгрузкой документ должен быть проведён, а реквизиты сторон — заполнены полностью.

Перед выгрузкой проверьте документ
Выполнено: 0 / 6

Для формализованной накладной (ЭДО) критичны ИНН/КПП обеих сторон и коды единиц измерения. Без них оператор не примет файл — формат ФНС считает эти поля обязательными.

Отправка накладной контрагенту через ЭДО

Это основной сценарий, ради которого накладную вообще переводят в XML. Электронная накладная для контрагента — это файл в формате, утверждённом ФНС. 1С формирует его сам, как только вы отправляете документ через оператора ЭДО.

Порядок такой:

  1. Откройте проведённую накладную (Реализация).
  2. В командной панели документа найдите подменю ЭДО и команду создания и отправки электронного документа.
  3. Программа соберёт XML по формату, подпишет его вашей квалифицированной электронной подписью (КЭП) и отправит оператору.

Готовый XML при этом не исчезает «внутри» программы — из карточки электронного документа его можно сохранить на диск отдельным файлом. Это и есть та самая накладная в XML, которую иногда просят приложить к заявке или передать в бухгалтерию покупателя. Сами электронные документы хранятся в списке ЭДО (раздел продаж, подраздел электронного документооборота) — там видно и исходящие, и входящие файлы вместе со статусами.

Чтобы отправка вообще стала возможна, выполняются два условия:

  • Обе стороны подключены к оператору ЭДО. Это может быть один оператор или разные — между крупными операторами работает роуминг.
  • Между вами настроен обмен приглашениями. Пока контрагент не принял приглашение, кнопка отправки документа работать не будет. Приглашение отправляют из карточки контрагента или из списка настроек ЭДО.

Статус у отправленного документа меняется по ходу обмена: от «Создано» и «Ожидается подтверждение оператора» до «Завершён». Если документ «завис» на промежуточном статусе дольше обычного, причину смотрят в самой карточке — там оператор пишет текст отказа или замечания.

Сейчас для отгрузки товаров чаще используют не отдельную электронную ТОРГ-12, а универсальный передаточный документ (УПД) — он заменяет накладную и счёт-фактуру одним файлом. Формат УПД и счёта-фактуры задан приказом ФНС, 1С поддерживает его актуальную версию.

Для счёта-фактуры и УПД с функцией счёта-фактуры подпись обязательно квалифицированная (КЭП). Обычную товарную накладную без НДС стороны по соглашению могут подписывать и неквалифицированной подписью — но для обмена через оператора всё равно удобнее КЭП.

Можно ли сохранить печатную форму накладной как XML

Короткий ответ — нет, напрямую нельзя, и это частая точка путаницы.

Печатная форма ТОРГ-12 в 1С — это табличный документ. Через Файл → Сохранить как его сохраняют в PDF, Excel (.xlsx), в формат табличного документа (.mxl), HTML или текст. Пункта «сохранить как XML» в этом окне нет и не будет: печатная форма — это вёрстка для печати, а не машиночитаемые данные.

Если собеседник просит «накладную в XML», он почти всегда имеет в виду одно из двух:

  • Формализованный электронный документ для обмена — его даёт ЭДО (см. раздел выше). Это XML по формату ФНС.
  • Выгрузку данных документа для загрузки в другую программу — её дают универсальный формат или правила обмена (разделы ниже).

Так что выбор способа начинается с простого вопроса: файл нужен для юридически значимого обмена или для технической передачи данных. Печать здесь ни при чём.

Выгрузка через универсальный формат EnterpriseData

EnterpriseData — это универсальный XML-формат обмена между программами 1С. Он описывает документы и справочники в едином виде, поэтому реализацию из Бухгалтерии можно загрузить, например, в Управление торговлей без ручного сопоставления полей.

Настройка живёт в разделе Администрирование → Синхронизация данных:

  1. Включите флажок Синхронизация данных.
  2. Создайте новую настройку и выберите обмен через универсальный формат.
  3. Укажите каталог на диске (или FTP), куда программа будет складывать XML-файлы.
  4. Задайте отбор — например, по организации и периоду, чтобы выгрузить только нужные накладные.

При первой настройке программа попросит сопоставить организации в вашей базе и в базе-приёмнике и выбрать, какие объекты выгружать. Для накладных обычно включают выгрузку документов реализации вместе со связанными справочниками — контрагентами, договорами и номенклатурой, иначе приёмник не поймёт, к кому и к чему относится документ.

На выходе получите папку с XML-файлами в кодировке UTF-8. Они уже структурированы по схеме EnterpriseData — принимающая база 1С разберёт их штатно и создаст у себя соответствующие документы. Повторная выгрузка по той же настройке отправит только изменения, поэтому держать обмен настроенным дешевле, чем каждый раз собирать выгрузку заново.

EnterpriseData удобен, когда обе стороны — программы 1С свежих версий. Для старых конфигураций или нестандартного приёмника он может не подойти — тогда остаются правила обмена.

Правила обмена: Конвертация данных 2.0 и 3.0

Когда структура приёмника отличается от 1С, нужны правила обмена — они описывают, какое поле источника в какое поле приёмника превращается. Правила разрабатывают в отдельной конфигурации «Конвертация данных ».

Коротко про две версии:

ВерсияКак работаетКогда применять
КД 2.0Правила хранятся в файле ПравилаОбмена.xml, который загружают в обработку «Универсальный обмен данными в формате XML»Обмен между разными конфигурациями, свой формат XML
КД 3.0Правила строятся вокруг формата EnterpriseDataСовременный обмен, когда нужен именно универсальный формат

Практический маршрут для КД 2.0:

  1. В «Конвертации данных» создайте правила обмена для нужных объектов (документ реализации, контрагенты, номенклатура).
  2. Выгрузите правила в файл ПравилаОбмена.xml.
  3. В рабочей базе откройте обработку Универсальный обмен данными в формате XML (УниверсальныйОбменДаннымиXML), загрузите в неё правила и запустите выгрузку.

Поле Поле-источник => Поле приёмника в правилах задаёт сопоставление:

Сопоставление полей
Контрагент.ИНН→Партнёр.ИНН
Номенклатура→Товар
Количество→Кол-во
СтавкаНДС→Справочник ставок приёмника

Главное отличие от EnterpriseData: правила обмена дают полный контроль над структурой XML, но их придётся писать и поддерживать. Для разовой выгрузки это избыточно, для постоянной интеграции с чужой системой — часто единственный путь.

Автоматизация и обработки для выгрузки XML

Если накладные надо выгружать регулярно, ручной экспорт не нужен.

Обработка «Выгрузка загрузка данных XML». Типовая внешняя обработка от 1С (ВыгрузкаЗагрузкаДанныхXML). Она сериализует объекты базы в XML по структуре метаданных — без правил. Открывается через Файл → Открыть. Подходит, когда источник и приёмник — одинаковые конфигурации одной версии: формат привязан к структуре базы, а не к универсальной схеме.

Своя обработка с сериализацией XDTO. Для интеграции по заранее оговорённой схеме данные пишут программно — через СериализаторXDTO и объект записи XML. Это даёт файл точно нужной структуры, но требует разработчика.

Регламентное задание. Любой из способов можно повесить на расписание: отбор накладных за период выгружается в заданный каталог раз в сутки или по событию. Внешние обработки для этого подключают через механизм дополнительных отчётов и обработок в разделе администрирования (если он включён в конфигурации).

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

Как проверить структуру готового XML-файла

XML-файл стоит проверить до отправки — так дешевле, чем ловить отказ на стороне получателя.

Что проверяют на практике:

  • Открыть файл в браузере или редакторе. Любой браузер покажет дерево тегов. Если файл открывается без ошибок разбора — структура хотя бы формально цела.
  • Сверить кодировку. Форматы ФНС, как правило, используют windows-1251, универсальный формат — UTF-8. Кодировка указана в первой строке файла (<?xml version="1.0" encoding="..."?>). При ручной правке в неподходящем редакторе кириллица превращается в «кракозябры».
  • Проверить по XSD-схеме. У форматов ФНС есть схема XSD. Проверка по ней покажет, все ли обязательные элементы на месте и правильные ли у них типы. Это делают во внешнем XML-редакторе или онлайн-валидаторе по XSD.

Полезно также глазами сверить ключевые значения: ИНН и КПП сторон, номер и дату документа, итоговую сумму и количество строк. Эти поля проще всего перепутать при ручной сборке файла или нестандартной выгрузке, а именно по ним получатель сверяет накладную со своим заказом.

При отправке через ЭДО отдельная проверка почти не нужна: оператор сам валидирует формат и вернёт документ с описанием ошибки, если что-то не так. Ручная проверка пригодится для выгрузок, которые уходят мимо оператора — например, во внешнюю систему по правилам обмена.

Почему XML не формируется или контрагент его не принимает

Сведём типичные причины отказа в одну диагностику:

Диагностика: выберите симптом

Отдельно про версии формата: ФНС периодически обновляет структуру электронных документов, и приёмник может требовать свежую версию. 1С добавляет поддержку новых форматов в очередных релизах, поэтому при отказе по формату первым делом смотрят, не пора ли обновиться.

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

Чем формализованный XML для ЭДО отличается от выгрузки EnterpriseData?
Формализованный документ — это накладная или УПД по формату ФНС, годная для юридически значимого обмена с контрагентом. EnterpriseData — технический формат для переноса данных между базами 1С. Это разные файлы для разных задач, они не взаимозаменяемы.
Можно ли открыть и прочитать XML-накладную вручную?
Да. Файл открывается в браузере или XML-редакторе и показывает данные в виде дерева тегов. Но редактировать его руками не стоит: нарушите структуру или кодировку — файл перестанет проходить проверку.
Нужна ли электронная подпись, чтобы просто сохранить накладную в XML?
Чтобы выгрузить данные документа в XML (EnterpriseData, обработка сериализации) — нет. Подпись нужна только для отправки формализованного документа контрагенту через оператора ЭДО; для счёта-фактуры и УПД она обязательно квалифицированная.
В каком виде приходит входящая накладная от поставщика?
Через ЭДО она приходит тем же XML в формате ФНС. 1С разберёт его автоматически и предложит создать документ поступления — повторно ничего конвертировать не нужно.
Можно ли выгрузить сразу несколько накладных за период?
Да, через синхронизацию данных или обработку выгрузки с отбором по организации и периоду. Получите каталог с отдельными XML-файлами по каждому документу.

Источники

  • Приказ ФНС России от 19.12.2018 № ММВ-7-15/820@ (формат счёта-фактуры и документа об отгрузке товаров в электронной форме)