УПД и счёт-фактура — формализованные документы с обязательным XML-форматом ФНС, и их обмен нельзя свести к отправке PDF. Разберём, как на 1С-Битрикс автоматизировать формирование, подписание и передачу этих документов контрагентам через оператора ЭДО.
УПД и счёт-фактура: в чём специфика
УПД (универсальный передаточный документ) объединяет счёт-фактуру и накладную/акт в одном документе. Счёт-фактура — налоговый документ, дающий право на вычет НДС. Оба относятся к формализованным документам: их структура жёстко задана XML-форматом ФНС, а обмен в электронном виде юридически значим только при соблюдении этого формата и подписи УКЭП.
Отсюда главное отличие от свободных документов:
- Нельзя отправить произвольный PDF — нужен XML строго по действующей схеме ФНС;
- У документа есть функция: только счёт-фактура (СЧФ), только передаточный документ (ДОП) или обе сразу (СЧФДОП);
- Для полного цикла требуется встречное подписание — титул покупателя;
- Изменение формата ФНС требует обновления генератора XML.
Где формируется документ: сайт, 1С или оператор
Ключевой архитектурный вопрос — где рождается корректный XML. Есть три подхода, и выбор зависит от того, где ведётся учёт.
| Подход | Кто формирует XML | Когда уместно |
|---|---|---|
| Через 1С | 1С по данным учёта | Учёт и НДС ведутся в 1С — самый частый и надёжный вариант |
| Через оператора | Сервис оператора ЭДО | Нет 1С, документы формируются в интерфейсе/API оператора |
| На сайте | Собственный генератор XML | Только при полном контроле над схемой ФНС и её обновлениями |
На практике самый устойчивый контур — 1С формирует и подписывает документ, оператор передаёт, а сайт связывает его с заказом и показывает статус. Так ответственность за соответствие формату ФНС остаётся у учётной системы, которая обновляется вендором при смене требований.
Поток обмена от заказа до подписанного УПД
Автоматизированный цикл обмена закрывающими документами по B2B-заказу выглядит так:
- Заказ на сайте переходит в статус отгрузки — событие Битрикса запускает процесс;
- Данные заказа (контрагент, ИНН/КПП, позиции, суммы, НДС) передаются в 1С;
- 1С формирует УПД в XML по схеме ФНС и подписывает его УКЭП;
- Документ уходит контрагенту через оператора ЭДО;
- Контрагент подписывает титул покупателя;
- Статусы возвращаются в 1С и на сайт, заказ помечается закрытым.
Связь с заказом удобно хранить в свойстве заказа Битрикса — идентификатор документа у оператора и его текущий статус. Это позволяет менеджеру в CRM видеть, на каком этапе документ, без входа в кабинет оператора.
Титулы, статусы и завершённость документа
Формализованный документооборот по УПД в функции СЧФДОП двусторонний. Продавец формирует и подписывает титул продавца, покупатель в ответ подписывает титул покупателя. Пока встречный титул не получен, документооборот по документу не завершён, даже если документ доставлен.
| Событие | Состояние | Отражение в CRM |
|---|---|---|
| Титул продавца подписан и отправлен | Ожидает получателя | Документ отправлен |
| Контрагент получил документ | Доставлен | Обновить статус |
| Титул покупателя подписан | Документооборот завершён | Заказ закрыт |
| Запрос на уточнение | Отклонён | Задача менеджеру |
Интеграция должна корректно различать «доставлен» и «завершён». Ошибка типичная: считать заказ закрытым по факту доставки, тогда как юридически важен встречный титул. В коде статус заказа стоит менять только при получении финального состояния:
if ($doc['status'] === 'COMPLETED') { $order->setField('CLOSED', 'Y'); $order->save(); }
Корректировочные документы и исправления
Реальный оборот не обходится без правок. Для счетов-фактур и УПД предусмотрены отдельные механизмы, которые интеграция должна учитывать, а не подменять повторной отправкой того же документа.
- Исправленный документ — заменяет ранее выставленный с ошибкой, ссылается на исходный;
- Корректировочный счёт-фактура (КСФ) / УКД — оформляет согласованное изменение стоимости или количества;
- Аннулирование — согласованное обеими сторонами прекращение действия документа.
Для сайта это значит, что у документа есть история версий и связей, а не единичное состояние. При правке заказа не создавайте молча новый УПД — фиксируйте связь исправления с оригиналом, чтобы учёт и статусы оставались прослеживаемыми.
Сверка, хранение и контроль
Электронные УПД и счета-фактуры юридически значимы и хранятся у оператора, но для операционного контроля их состояние полезно держать и на стороне сайта. Что стоит логировать и отслеживать:
- Идентификатор документа у оператора и связь с заказом;
- Текущий статус и историю переходов;
- Функцию документа (СЧФ / ДОП / СЧФДОП) и связь с корректировками;
- Ошибки отправки: отклонение по формату, отсутствие роуминга, истёкший сертификат.
Регулярная сверка статусов через API оператора или вебхуки предотвращает рассинхрон, когда в CRM документ «отправлен», а у контрагента он уже подписан или отклонён. Для мониторинга удобно вывести в админку отчёт по документам с зависшими статусами.
Итог
Обмен УПД и счетами-фактурами на 1С-Битрикс — это работа с формализованными документами в XML-формате ФНС, где важны корректная генерация (обычно на стороне 1С), подпись УКЭП, встречные титулы и обработка корректировок. Сайт в этой схеме выступает инициатором процесса по событию заказа и местом, где статусы документов связаны с заказами и видны менеджеру.
Мы встраиваем обмен закрывающими документами в существующий контур сайт—1С—оператор ЭДО: формирование и подписание оставляем учётной системе, а на сайте обеспечиваем запуск процесса, связь с заказами и контроль статусов. Если нужно перевести выставление УПД и счетов-фактур в автоматический режим, поможем спроектировать процесс под ваш учёт и оператора.
Частые вопросы
Можно ли отправить УПД контрагенту обычным PDF?
Нет. УПД и счёт-фактура — формализованные документы с обязательным XML-форматом ФНС. Юридическую значимость они получают только в этом формате с подписью УКЭП, переданные через оператора ЭДО.
Где лучше формировать XML УПД — на сайте или в 1С?
Как правило, в 1С: там ведётся учёт и НДС, а вендор обновляет схему при смене требований ФНС. Сайт при этом инициирует процесс и хранит связь документа с заказом. Собственный генератор на сайте оправдан лишь при готовности сопровождать формат.
Что такое титул покупателя и зачем он нужен?
Это встречная подпись получателя на УПД в функции СЧФДОП. Пока покупатель не подписал свой титул, документооборот по документу не завершён, даже если документ уже доставлен. Заказ корректно закрывать именно по завершённому статусу.
Как исправить ошибку в уже отправленном счёте-фактуре?
Нужно выставить исправленный или корректировочный документ со ссылкой на исходный, а не отправлять повторно тот же счёт-фактуру. Повторная отправка создаст дубль у контрагента и в учёте.
Как сайт узнаёт статус отправленного УПД?
Оператор ЭДО возвращает статусы по вебхуку или через опрос API, и модуль записывает их в свойство заказа. Менеджер в CRM видит, доставлен документ, подписан или отклонён, без входа в кабинет оператора.
Через какой канал данные заказа попадают в 1С для формирования УПД?
Обычно через уже настроенный обмен Битрикс—1С по CommerceML или REST. УПД встраивается в существующий контур обмена заказами, а не строится отдельным каналом с нуля.
Что делать, если документ отклонён из-за несоответствия формату?
Проверить соответствие XML актуальной схеме ФНС и пересформировать документ. Такие отклонения обычно означают устаревший генератор, поэтому формирование и держат в 1С, где схема обновляется вендором.
Поможем с настройкой и поддержкой Интеграции и связки систем
Поможем с настройкой, доработкой и поддержкой Интеграции и связки систем.