Электронный документооборот стал неотъемлемой частью работы бухгалтерии, а счёт-фактура в формате XML — обязательный элемент для взаимодействия с налоговыми органами и контрагентами. Однако даже опытные пользователи 1С:Предприятие 8.3 иногда сталкиваются с трудностями при выгрузке этого документа. Почему система выдаёт ошибку при экспорте? Как убедиться, что файл соответствует требованиям ФНС? И почему некоторые счета-фактуры просто «исчезают» из выгруженного XML?
В этой статье мы разберём все способы выгрузки счёта-фактуры в XML — от стандартного функционала до программных решений для нетиповых случаев. Вы узнаете, как избежать распространённых ошибок (например, код ошибки 2000000107), какие настройки влияют на структуру файла, и как проверить корректность экспорта без специализированных сервисов. Особое внимание уделим нюансам для 1С:Бухгалтерия 3.0 и 1С:Управление торговлей 11, где процесс может отличаться.
Если вы работаете с ЭДО (электронным документооборотом) или сдаёте отчётность через операторов (например, Контур.Диадок, СБИС), эта инструкция поможет сэкономить время на ручной правке файлов. А для программистов 1С мы подготовили блок с кодом выгрузки через встроенный язык — его можно адаптировать под любые задачи интеграции.
Прежде чем переходить к инструкциям, проверьте:
- 📌 Версию вашей конфигурации (актуальные обновления для работы с XML выходят регулярно).
- 🔄 Права пользователя в 1С — для выгрузки счёта-фактуры требуется роль с доступом к документообороту.
- 📂 Папку для сохранения файла — иногда путь с кириллическими символами приводит к сбоям.
1. Стандартная выгрузка счёта-фактуры в XML через интерфейс 1С
Самый простой способ — использовать встроенные инструменты 1С. Этот метод подходит для единичных документов и не требует знаний программирования. Рассмотрим процесс на примере 1С:Бухгалтерия 3.0 (в других конфигурациях шаги могут незначительно отличаться).
Откройте журнал Счета-фактуры выданные (или Полученные, если нужна выгрузка входящего документа). Найдите нужный документ и перейдите в его форму. Далее:
- Нажмите кнопку
Ещё → Выгрузить → В файл XML(в некоторых версиях путь может бытьДействия → Выгрузить в XML). - В открывшемся окне укажите:
- 📁 Папку для сохранения (лучше использовать путь без пробелов и кириллицы, например,
C:\EDO_XML\). - 📄 Имя файла — по умолчанию система предлагает шаблон вида
СФ_НомерДата.xml. - 🔧 Формат XML — выберите
ФНС (5.01)для отчётности илиУниверсальный (4.30)для обмена с контрагентами.
- 📁 Папку для сохранения (лучше использовать путь без пробелов и кириллицы, например,
Сохранить и дождитесь подтверждения выгрузки.Если документ содержит ошибки (например, не заполнены обязательные реквизиты), система выдаст предупреждение с указанием проблемы. В 1С:Бухгалтерия 3.0 при выгрузке счёта-фактуры с НДС 20% в XML автоматически проставляется код вида налога 01, даже если в документе указан другой — это особенность конфигурации, а не ошибка.
Не заполнено поле "Покупатель" или "Продавец"|Отсутствует ИНН/КПП контрагента|Неверно указан код вида операции (например, 01 вместо 26)|Не указаны реквизиты грузоотправителя/грузополучателя (для товарных СФ)|Не сохранён документ перед выгрузкой
-->
2. Массовая выгрузка счетов-фактур: инструменты и ограничения
Если нужно экспортировать несколько десятков документов, ручная выгрузка каждого займёт слишком много времени. В 1С есть два способа автоматизировать процесс:
Способ 1: Групповая обработка
- В журнале счётов-фактур выделите нужные документы (можно использовать фильтр по дате или контрагенту).
- Нажмите
Ещё → Выгрузить выделенные в XML. - Укажите папку и формат (аналогично одиночной выгрузке).
- 📅 Выгружать документы за определённый период.
- 🔍 Фильтровать по статусу (проводённые/непроводённые).
- 📦 Создавать ZIP-архив с несколькими XML-файлами.
Ограничение: в одной операции можно выгрузить не более 50 документов. При превышении лимита система разобьёт задачу на части или выдаст ошибку.
Способ 2: Обработка "Выгрузка данных в XML"
Этот инструмент доступен в Все функции → Стандартные → Выгрузка данных в XML. Он позволяет:
Однако у этого метода есть нюанс: обработка не проверяет документы на корректность перед выгрузкой. Если в счёте-фактуре есть ошибки (например, неверный код валюты), они проявятся только при загрузке файла в систему контрагента или ФНС.
Перед массовой выгрузкой запустите отчёт "Анализ счёта-фактуры" (Отчёты → Анализ счёта-фактуры). Он покажет документы с потенциальными ошибками, которые могут блокировать экспорт в XML.
3. Выгрузка через ЭДО: когда XML формируется автоматически
Если ваша компания подключена к электронному документообороту (ЭДО) через операторов (Такском, СБИС, Калуга Астрал и др.), процесс выгрузки счёта-фактуры в XML упрощается. Система сама преобразует документ в нужный формат при отправке контрагенту. Однако здесь есть свои подводные камни:
- 🔗 Привязка к оператору: Не все ЭДО-операторы поддерживают последние версии форматов ФНС. Например, для работы с
Формат 5.01может потребоваться обновление модуля обмена. - ⚡ Автоматическая подпись: Если в настройках ЭДО не указан сертификат ЭЦП, счёт-фактура выгрузится в XML, но не будет подписан. Такой файл не примут ни ФНС, ни контрагенты.
- 📡 Ограничения по размеру: Некоторые операторы не принимают XML-файлы больше 10 МБ. Для крупных счётов-фактур (с тысячами строк) потребуется разбивка.
- Отправьте тестовый счёт-фактуру через ЭДО.
- В журнале документов ЭДО найдите отправленный файл и скачайте его (обычно есть кнопка
Скачать XML). - Откройте файл в блокноте или специализированной программе (например, XML Notepad) и сравните структуру с требованиями ФНС.
Чтобы проверить, какой именно XML формирует ваш оператор ЭДО:
Что делать, если ЭДО-оператор не принимает XML?
Если оператор возвращает ошибку вида "Некорректная структура XML", проверьте:
1. Версию формата (должна совпадать с поддерживаемой оператором).
2. Кодировку файла (должна быть UTF-8).
3. Наличие обязательных тегов (например, <СвСчФакт> или <СвПрод>).
Если проблема остаётся, запросите у оператора шаблон корректного XML и сравните его со своим файлом через инструменты вроде Beyond Compare.
4. Программная выгрузка: код на 1С для гибкой настройки XML
Стандартные инструменты 1С не всегда покрывают специфические требования бизнеса. Например, может потребоваться:
- 🔄 Выгружать XML с дополнительными реквизитами (например, данными о транспортировке).
- 📌 Формировать файлы с уникальными именами по шаблону компании.
- 🤖 Автоматизировать выгрузку по расписанию (например, ежедневно в 23:00).
Для таких задач используется встроенный язык 1С. Ниже приведён универсальный код для выгрузки счёта-фактуры в XML с возможностью кастомизации:
Процедура ВыгрузитьСчетФактуруВXML(СсылкаНаДокумент, ПутьКФайлу)
// Создаём объект записи XML
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ПутьКФайлу, "UTF-8");
// Формируем заголовок XML
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("Файл");
ЗаписьXML.ЗаписатьАтрибут("ИдФайл", СсылкаНаДокумент.УникальныйИдентификатор());
ЗаписьXML.ЗаписатьАтрибут("ВерсФорм", "5.01"); // Версия формата ФНС
// Получаем данные счёта-фактуры
Документ = СсылкаНаДокумент.ПолучитьОбъект();
ЗаписьXML.ЗаписатьНачалоЭлемента("СвСчФакт");
ЗаписьXML.ЗаписатьАтрибут("НомерСчФ", Документ.Номер);
ЗаписьXML.ЗаписатьАтрибут("ДатаСчФ", Формат(Документ.Дата, "ДФ=yyyy-MM-dd"));
// Добавляем реквизиты продавца и покупателя
ЗаписьXML.ЗаписатьНачалоЭлемента("СвПрод");
ЗаписьXML.ЗаписатьЭлемент("ИННЮЛ", Документ.Организация.ИНН);
ЗаписьXML.ЗаписатьЭлемент("НаимОрг", Документ.Организация.Наименование);
ЗаписьXML.ЗаписатьКонецЭлемента(); // СвПрод
// Аналогично добавляем остальные разделы (СвПокуп, ТаблСчФакт и др.)
// ...
ЗаписьXML.ЗаписатьКонецЭлемента(); // СвСчФакт
ЗаписьXML.ЗаписатьКонецЭлемента(); // Файл
ЗаписьXML.Закрыть();
КонецПроцедуры
Этот код — база, которую можно расширять. Например, для добавления дополнительных реквизитов (например, данных о транспортировке) используйте метод ЗаписьXML.ЗаписатьНачалоЭлемента("ДопРеквизит") внутри цикла по строкам счёта-фактуры.
Где разместить код?
- Для разовой выгрузки — в
Отладчике 1С(менюСервис → Отладчик). - Для постоянного использования — создайте
внешнюю обработкуи подключите её вДополнительные отчёты и обработки. - Технические — связанные с настройками 1С или системой (например, недостаточно прав).
- Логические — ошибки в данных документа (неверный ИНН, отсутствует код операции).
- 📋 Проверьте версию формата в теге
<Файл ВерсФорм="5.01">. - 🔍 Убедитесь, что все обязательные теги присутствуют (список см. в приказе ФНС №ЕД-7-15/452@).
- 🔢 Сверьте суммы в XML с оригинальным счётом-фактурой (особенно НДС и итог).
- 📌 Проверьте корректность ИНН, КПП и наименований организаций.
- 📤 Выгрузку с дополнительными реквизитами (например, данными о грузе).
- 🔄 Конвертацию между форматами (например, из
4.30в5.01). - 📂 Пакетную выгрузку с архивацией.
- 🔌 REST API: Начиная с 1С:Предприятие 8.3.18, есть встроенные механизмы для обмена данными по HTTP.
- 📡 Web-сервисы: Можно настроить автоматическую отправку XML на внешний сервер.
- В 1С:Бухгалтерия 3.0 исправленный счёт-фактура выгружается как отдельный документ с пометкой
- В XML будут включены данные из оригинального счёта-фактуры и информация об исправлениях (даты, номера, суммы изменений).
- Если исправление затрагивает реквизиты контрагента (например, ИНН), проверьте, чтобы в XML были актуальные данные.
- В счёте-фактуре не заполнена табличная часть (проверьте, что добавлены строки с номенклатурой).
- Используется неверный шаблон выгрузки (например, для
авансового СФвместотоварного). - В настройках 1С отключён показ табличной части в XML (проверьте параметры выгрузки).
- Если конфигурация 1С обновлялась, старые счета-фактуры могут не соответствовать актуальному формату XML.
- В документах за прошлые периоды могли быть не заполнены реквизиты, ставшие обязательными позже (например, код вида товара).
- ❌ Не будет принят ФНС для вычета НДС.
- ❌ Контрагенты не смогут его загрузить в свою систему (большинство ЭДО-операторов требуют подпись).
- ✅ Может использоваться только для внутренних нужд (например, тестирования обмена данными).
- 📅 Регламентные задания в 1С: Настройте задание на выгрузку XML с нужной периодичностью (ежедневно, еженедельно).
- 🤖 Скрипты на 1С: Напишите обработку, которая будет выгружать XML и отправлять его по email или FTP.
- 🔌 Внешние сервисы: Например, 1С:Линк или RPA-решения (вроде UiPath) для автоматизации рутинных задач.
- 📌 Версию конфигурации и платформы 1С.
- 🔧 Способ выгрузки (через интерфейс, ЭДО, программно).
- 📄 Текст ошибки (если есть).
При программной выгрузке всегда проверяйте итоговый XML через валидаторы (например, XML Validator от ФНС). Даже небольшая ошибка в коде (например, пропущенный тег) сделает файл нечитаемым для контрагентов.
5. Типичные ошибки при выгрузке XML и как их исправить
Ошибки при экспорте счёта-фактуры в XML делятся на две категории:
Рассмотрим самые распространённые проблемы и их решения:
| Код ошибки / Сообщение | Причина | Решение |
|---|---|---|
2000000107"Недопустимое значение реквизита" |
Не заполнен обязательный реквизит (например, Код вида операции или ИНН контрагента). |
Откройте счёт-фактуру и проверьте заполнение полей. Для операции "Реализация" код должен быть 01. |
| "Неверная структура XML" | Файл повреждён или сформирован с ошибками (например, не закрыт тег). | Используйте валидатор XML (например, xmlvalidation.com) для проверки структуры. |
Ошибка записи файла |
Нет прав на запись в указанную папку или путь содержит недопустимые символы. | Укажите другой путь (например, C:\Temp\) или запустите 1С от имени администратора. |
| "Не поддерживаемая версия формата" | Выбран устаревший формат XML (например, 4.20 вместо 5.01). |
Обновите конфигурацию 1С или выберите актуальный формат в настройках выгрузки. |
Если ошибка не указана в таблице, проверьте журнал регистрации 1С (Администрирование → Журнал регистрации). Часто там содержится подробное описание проблемы, например: "Не найден шаблон для выгрузки счёта-фактуры в формат ФНС 5.01". Это означает, что в конфигурации отсутствует необходимый макет — его нужно добавить через Конфигуратор.
Для ускорения поиска ошибок используйте фильтр в журнале регистрации по ключевым словам: "XML", "Счёт-фактура", "ЭДО".
6. Проверка корректности XML: инструменты и критерии
Даже если файл успешно выгрузился из 1С, это не гарантирует его корректность. Перед отправкой контрагенту или в ФНС обязательно выполните проверку по следующим критериям:
1. Соответствие формату ФНС
2. Целостность данных
Инструменты для проверки:
| Инструмент | Для чего подходит | Ссылка |
|---|---|---|
| XML Notepad | Просмотр и редактирование структуры XML | Скачать |
| XML Validator (ФНС) | Проверка соответствия формату 5.01 | Сервис ФНС |
| Oxygen XML Editor | Профессиональная работа с XML (платно) | Официальный сайт |
Если вы работаете с ЭДО, некоторые операторы (например, Контур.Диадок) имеют встроенные валидаторы. Загрузите файл в личный кабинет ЭДО — система автоматически проверит его на ошибки перед отправкой.
1. Сравните свой файл с примером корректного XML от ФНС. 2. Проверьте кодировку — она должна быть 3. Удалите лишние пробелы или переносы строк в тегах (иногда они ломают структуру). 4. Если ошибка в данных (например, неверный ИНН), исправьте её в оригинальном счёте-фактуре и выгрузите XML заново.Что делать, если XML не проходит валидацию?
UTF-8 (в 1С это настраивается при выгрузке).
7. Альтернативные способы выгрузки: когда стандартные методы не работают
Если ни один из описанных способов не подходит (например, у вас устаревшая версия 1С или специфические требования к формату), рассмотрите альтернативные варианты:
1. Выгрузка через внешние обработки
На сайте Инфостарт и ITS есть готовые обработки для выгрузки счётов-фактур в XML, включая:
2. Интеграция с внешними системами
Если вам нужно передавать счета-фактуры в ERP-систему или CRM, используйте:
3. Ручное формирование XML
В крайнем случае (например, для тестирования) можно создать XML-файл вручную в блокноте, следуя структуре ФНС. Однако этот метод требует глубокого понимания формата и не рекомендуется для регулярного использования.
При использовании сторонних обработок всегда проверяйте их на тестовой базе 1С. Некоторые решения могут конфликтовать с обновлениями конфигурации или содержать уязвимости.
FAQ: Частые вопросы о выгрузке счёта-фактуры в XML
Можно ли выгрузить в XML счёт-фактуру с исправлениями?
Да, но есть нюансы:
Исправление в теге <СвСчФакт>.
Почему в выгруженном XML нет строк с товарами?
Это типичная проблема, если:
Решение: откройте счёт-фактуру, добавьте строки с товарами/услугами и повторите выгрузку.
Как выгрузить XML счёт-фактуры за прошлый год?
Процесс не отличается от выгрузки текущих документов, но есть риски:
Рекомендация: перед выгрузкой обновите старые счета-фактуры до актуальной версии формы (кнопка Обновить в меню документа).
Можно ли выгрузить XML счёт-фактуры без подписи?
Технически — да, но такой файл не имеет юридической силы. Без ЭЦП XML счёт-фактуры:
Чтобы подписать XML, используйте КриптоПро CSP или встроенные средства ЭДО-оператора.
Как автоматизировать выгрузку XML по расписанию?
Для этого подойдут:
Пример кода для регламентного задания:
Процедура ВыгрузитьСчетаФактурыПоРасписанию()
ПапкаВыгрузки = "C:\EDO_XML\";
ДатаНачала = ТекущаяДата() - 1; // Выгружаем документы за вчера
ДатаОкончания = ТекущаяДата();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ Ссылка
|ИЗ Документ.СчетФактураВыданный
|ГДЕ Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ПутьКФайлу = ПапкаВыгрузки + "СФ_" + Формат(Выборка.Ссылка.Номер, "ЧГ=0") + ".xml";
ВыгрузитьСчетФактуруВXML(Выборка.Ссылка, ПутьКФайлу);
КонецЦикла;
КонецПроцедуры
Если ваш вопрос не освещён в статье, уточните детали в технической поддержке 1С или на профильных форумах (например, Форум 1С). При описании проблемы всегда указывайте:
Сохраните эту статью в закладки — она пригодится при очередном обновлении формата XML или смене ЭДО-оператора.