Разработка EDI-интеграций для B2B: заказы, отгрузки и документы с партнёрами без ручного ввода

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

Обследование — 200 000 ₽, 2–3 неделиПервый поток на ваших данных — от 150 000 ₽Исходный код в вашем репозитории с первого коммита

С чем приходят

Когда обмен с партнёрами пора переводить на сообщения

Заказы приходят в разных видах

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

Покупатель требует подключения

Некоторые крупные покупатели ставят подключение по EDI условием работы. Отказ означает потерю канала, а не неудобство.

Подтверждение и отгрузка уходят вручную

Партнёр ждёт ответ и уведомление об отгрузке, а менеджер собирает их из нескольких систем. Задержка ответа портит отношения с покупателем.

Подписанный документ и заказ не связаны

Документ подписан в системе оператора, а заказ закрыт в 1С. Сверка идёт по почте, потому что нет общего номера.

Каждый партнёр подключён по-своему

Для нового приходится писать код заново, и никто не помнит, как устроен обмен с предыдущим.

Виды обмена

EDI, ЭДО, API и файлы: что из этого вам нужно

Слова путают, а задачи разные. Часто нужны два-три вида сразу. Про документооборот отдельно написано в статье «Автоматизация документооборота для B2B».

Вид обмена
Что передаётся
Юридическая сила
Что делаем мы
Вид обменаEDIкоммерческие сообщения
Что передаётсяЗаказ, подтверждение, уведомление об отгрузке и приёмке; обмен между системами без участия человека
Юридическая силаОпределяется договором с партнёром, вопрос для вашего юриста
Что делаем мыРазбор и формирование сообщений, проверки, запись в учёт, журнал и экран разбора
Вид обменаЭДОподписанные документы
Что передаётсяСчёт-фактура, УПД, акт, накладная; через оператора, с электронной подписью
Юридическая силаПри подписи полномочным лицом; условия проверяет ваш юрист
Что делаем мыСвязываем документ с заказом и отгрузкой в учёте; оператора и сертификаты подписи вы подключаете сами
Вид обменаAPI партнёрапрямой интерфейс
Что передаётсяТе же сообщения по HTTP: у крупных партнёров и у ваших дилеров
Юридическая силаКак у EDI: по договору
Что делаем мыКлиент к чужому API или ваш API для партнёров: ключи, лимиты, версии, повторная доставка
Вид обменаФайлы и почтапереходный вариант
Что передаётсяExcel и CSV по почте или на сервере для партнёров без API
Юридическая силаЗадаёт договор; обычно нужны подтверждающие документы
Что делаем мыАвтоматический разбор вложений с проверкой; ручная отметка для того, что не разобралось
Цепочка заказа

Сообщения от заказа до приёмки: что проверяем при разборе

Названия даны по международному формату EDIFACT, у партнёров могут быть свои форматы на XML или JSON. Смысл сообщений от формата не зависит.

Сообщение
Направление
Что проверяем
Типовая ошибка
СообщениеЗаказ (ORDERS)партнёр → вы
НаправлениеПартнёр, точка доставки, артикулы, единицы, количество, желаемая дата
Что проверяемАртикул или точка доставки не найдены в таблице соответствия
Типовая ошибкаПозиция падает в «неопознанные», заказ создаётся неполным, и никто не замечает
СообщениеПодтверждение (ORDRSP)вы → партнёр
НаправлениеПринято полностью, частично или отклонено; причина по позициям
Что проверяемОстаток есть в учёте, но он зарезервирован другим заказом
Типовая ошибкаПодтверждаем всё, а отгружаем половину, и партнёр планирует приёмку по ошибочным данным
СообщениеУведомление об отгрузке (DESADV)вы → партнёр
НаправлениеСостав, количество, места, номер документа отгрузки, дата
Что проверяемОтгрузка проведена частями, а уведомление ушло одно
Типовая ошибкаПартнёр принимает по уведомлению, и каждое расхождение превращается в спор
СообщениеУведомление о приёмке (RECADV)партнёр → вы
НаправлениеПринятое количество, брак, недостача
Что проверяемПриёмка пришла раньше уведомления об отгрузке или без ссылки на него
Типовая ошибкаРасхождение не привязано к отгрузке и висит без ответственного
СообщениеСчёт и УПДвы → партнёр
НаправлениеСовпадение с заказом и отгрузкой, реквизиты, суммы
Что проверяемДокумент сформирован до проведения отгрузки
Типовая ошибкаПартнёр получает документ с количеством, которого не принимал
Каналы

Формат и канал: чем различаются оператор, AS2, SFTP и API

Выбор определяет партнёр и ваша служба безопасности, а мы строим слой, который скрывает различия от учёта.

Что передаётся

EDIFACT, XML по схеме партнёра, JSON по API, CSV и Excel. Один и тот же заказ может прийти в любом из них, а в учёте должен оказаться одинаковым. Поэтому внутри мы приводим всё к собственной модели сообщения и только на границе превращаем в формат партнёра. Новый формат тогда добавляется как отдельный разборщик, не затрагивая учётную часть.

Как передаётся

  • Оператор EDI или ЭДО. Он принимает и доставляет сообщения, у него есть роуминг с другими операторами. Договор и тарифы между вами и оператором. Нам нужен программный доступ или выгрузка.
  • AS2. Прямая передача по HTTPS с подписью и квитанцией о получении, используется у части партнёров. Требует сертификатов и отдельной службы на вашей стороне.
  • SFTP и почта. Партнёр кладёт файл, вы забираете по расписанию. Просто, но нет мгновенной квитанции, и приходится следить за зависшими файлами.
  • HTTP API и вебхуки. Подходит партнёрам с современными системами и вашим дилерам. Требования к версиям и повторной доставке описаны в статье «Проектирование API для интеграций».
Подключение партнёра

Новый партнёр как повторяемый процесс, а не отдельный проект

После первого партнёра каждый следующий должен подключаться дешевле. Для этого процесс записывается и превращается в шаблон.

  1. Профиль партнёра. Формат, канал, перечень сообщений, обязательные поля, правила нумерации, допустимое время ответа. Всё это записывается в конфигурации, а не в коде.
  2. Таблица соответствия. Его артикулы и коды точек доставки против ваших, единицы измерения и упаковки. Это самая трудоёмкая часть: коды партнёра нигде не записаны, а в 1С один товар заведён дважды.
  3. Тестовые сообщения. Партнёр присылает несколько обезличенных заказов, мы прогоняем весь путь до отгрузки на тестовой копии учёта. Особо проверяем частичную отгрузку, отмену и изменение заказа.
  4. Параллельный прогон. Заказы идут и по старому каналу, и по новому. Сравниваем результат. Расхождения разбираем, не трогая боевой учёт.
  5. Переключение. Старый канал отключаем после согласованного срока без расхождений. Откат на старый канал возможен до даты, записанной в плане.
Надёжность

Подтверждения, повторы, дубли и порядок сообщений

Сообщения теряются, приходят дважды и обгоняют друг друга. Это норма, а не авария, и обмен проектируется под неё.

Два вида подтверждений

Транспортное подтверждение отвечает «сообщение получено», прикладное — «заказ принят в учёт». Путать их нельзя: партнёр, получивший первое, считает, что заказ в работе, а учёт мог его отвергнуть. Поэтому на каждое входящее сообщение уходит ответ о результате разбора с причиной отказа.

Дубли и порядок

У каждого сообщения есть идентификатор партнёра, и повтор с тем же идентификатором не создаёт второй заказ, а возвращает прежний результат. Изменение или отмена заказа могут прийти раньше самого заказа: такое сообщение ждёт в очереди, а не выбрасывается. Когда сообщение не разобралось, оно уходит в карантин, а не блокирует остальные.

Экран разбора для человека

Менеджер видит список сообщений со статусами, причину отказа понятным языком и кнопки «исправить соответствие и повторить» и «ответить партнёру». Без этого экрана каждую ошибку обмена приходится разбирать программисту.

Документы и API

Документ, отгрузка и перевозка в одной цепочке, а для партнёра свой API

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

Статусы перевозки добавляются в ту же цепочку, если перевозчик отдаёт их по API или файлом; как это устроено, описано на странице про интеграцию ERP с B2B-платформой.

Если партнёру проще работать с вашим интерфейсом, а не принимать сообщения в чужом формате, проектируем его как любой интеграционный API: ключ на каждого партнёра, ограничение частоты, версии, вебхуки с повторной доставкой, описание в OpenAPI и тестовый стенд.

Что делаем

Из чего состоит работа и сколько она стоит

Цены — по тарифам. Точная цена только у обследования, дальше вилка, которая сужается по его результатам. Остановиться можно после любой ступени.

Обследование: один обмен и учёт

Какие сообщения нужны, какой формат и канал у партнёра, где в учёте брать данные. На выходе схема обмена, таблица соответствия, вилка бюджета. Вычитается из первого этапа.

200 000 ₽ · 2–3 недели

Обследование: несколько партнёров и систем

Учёт, склад, оператор ЭДО, портал и несколько партнёров в разных форматах: схема потоков, профили партнёров, матрица источников данных.

350 000 ₽ · 3–4 недели

Лёгкий пилот: один партнёр, одно-два сообщения

Например, заказ от партнёра и ответ о результате на тестовой копии учёта, с журналом и экраном разбора.

150 000–400 000 ₽ · 2–8 недель

Тяжёлый пилот: полная цепочка

Заказ, подтверждение, отгрузка, приёмка и связка с документами оператора ЭДО, шаблон подключения следующего партнёра, параллельный прогон на боевых данных.

400 000–1 200 000 ₽ · 2–3 месяца

Вывод в эксплуатацию

Подключение партнёров группами, регламент разбора ошибок, мониторинг очередей, обучение сотрудников, передача исходников.

от 1 500 000 ₽ этапами по 300 000–700 000 ₽ · от 3 месяцев

Сопровождение

Мониторинг обмена, разбор отказов, новые партнёры по этапам; плановые доработки с пакета на 60 000 ₽. Сверх пакета — 5 000 ₽ в час.

20 000 / 60 000 / 120 000 ₽ в месяц
Процесс

Как идёт работа

2–4 недели — Обследование

Берём реальные заказы одного-двух партнёров за период, сопоставляем с проведёнными документами в учёте и находим, где обмен ломается.

Перед разработкой — Схема сообщений

Состояния заказа, правила ответа, что делаем при частичной отгрузке и отмене, поведение при остановке учёта.

От 4 недель — Разработка

Разборщик, проверки, очередь, журнал и экран разбора в вашем репозитории; показываем работающую версию раз в две недели.

1–2 недели — Приёмка и параллельный прогон

Тестовые сообщения партнёра, затем параллельная работа двух каналов с еженедельной сверкой.

Группами — Запуск

Один партнёр, потом остальные. Старый канал остаётся до согласованной даты.

Дальше — новые партнёры

Подключение по шаблону: профиль, таблица соответствия, тест, прогон.

Цена

Что двигает цену внутри вилки

Число и разнообразие партнёров

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

Качество справочников

Если товар заведён дважды, а коды точек доставки нигде не записаны, первые недели уходят на таблицу соответствия.

Сложность жизненного цикла заказа

Частичные отгрузки, замены позиций, отмены после начала сборки умножают число состояний и проверок.

Возраст и доступность учёта

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

Контроль

Что остаётся у вас и чего мы не делаем

Остаётся у вас

  • Исходный код в вашем репозитории с первого коммита.
  • Профили партнёров, таблицы соответствия и схема сообщений в читаемом виде.
  • Журнал обмена и экран разбора, которыми пользуются ваши сотрудники.
  • Развёртывание на ваших серверах по инструкции.
  • Право остановиться после любой ступени: сделанное остаётся у вас по акту.

Мы этого не делаем

  • Не выступаем оператором EDI или ЭДО, не выдаём сертификаты электронной подписи и не оформляем доверенности.
  • Не заключаем договоры с партнёрами и оператором за вас; юридическую значимость обмена определяет юрист заказчика.
  • Не строим B2B-маркетплейс с продавцами третьих сторон и не принимаем платежи.
  • Не проводим аттестацию, лицензии ФСТЭК у нас нет.
  • Не берём работы дешевле 150 000 ₽ и не дежурим круглосуточно.
Граница

EDI-интеграция, интеграция ERP, B2B-портал или CRM: что выбрать

Если нужно связать платформу и учёт целиком: заказы, остатки, статусы, справочники, — начинайте со страницы «Интеграция ERP с B2B-платформой»: EDI там один из потоков. Если партнёрам нужен вход, чтобы самим смотреть цены и оформлять заказ, это B2B-портал. Если сначала нужно навести порядок в продажах, а не в обмене, B2B CRM.

Если партнёрам достаточно вашего API, а EDI не нужен, смотрите разработку API и бэкенда. Если обмен упирается в бумажные и сканированные документы, а не в структурированные сообщения, сначала нужно распознавание документов в закрытом контуре.

Инструменты

На чём собираем

Серверная часть и очереди
  • Python (FastAPI, Django) или Go
  • PostgreSQL, журнал сообщений и состояний
  • RabbitMQ или очередь в PostgreSQL, повтор и карантин
  • Разборщики EDIFACT, XML, JSON, CSV отдельными модулями
Доступ, каналы и развёртывание
  • HTTP-сервисы и OData для 1С, API ERP
  • SFTP, AS2 через отдельную службу, API операторов
  • Docker, Nginx, GitLab CI
  • Мониторинг очередей и оповещения
Материалы

Материалы по теме

Статья

EDI: что это и как подключить обмен документами

Чем EDI отличается от ЭДО, из каких сообщений состоит обмен и как подключить первого партнёра.

  • EDI и ЭДО
  • Сообщения
  • Первый партнёр
Читать →
Статья

Автоматизация документооборота для B2B

Как связать заказ, отгрузку и подписанный документ в одну цепочку.

  • Цепочка документов
  • Сверка
  • Ошибки
Читать →
Статья

Проектирование API для интеграций: версии и ошибки

Ключи, версии, повторная доставка, идемпотентность и документация для партнёров.

  • Идемпотентность
  • Версии
  • Вебхуки
Читать →
Заявка

Разберём ваш обмен с партнёрами

Сорок минут созвона: кто присылает заказы и как, какие документы подписываются, какие системы задействованы. Скажем, с какой ступени начинать и в какую вилку это попадает.

Спасибо, заявка отправлена. Ответим в течение рабочего дня.

Не удалось отправить. Напишите в телеграм или позвоните.

Вопросы

Частые вопросы: EDI-интеграции для B2B

Сколько стоит разработка EDI-интеграции?

Обследование стоит 200 000 ₽ за один обмен и 350 000 ₽ за несколько партнёров и систем; это единственная точная цена. Дальше вилка: лёгкий пилот 150 000–400 000 ₽ за 2–8 недель, полная цепочка 400 000–1 200 000 ₽ за 2–3 месяца, вывод в эксплуатацию от 1 500 000 ₽ этапами по 300 000–700 000 ₽.

Чем EDI отличается от ЭДО?

EDI передаёт коммерческие сообщения между системами: заказ, подтверждение, отгрузку, приёмку. ЭДО передаёт подписанные документы через оператора. Часто нужны оба вида, и тогда мы связываем их в учёте по номеру заказа.

Вы подключаете нас к оператору?

Нет. Договор с оператором и сертификаты подписи оформляете вы. Мы работаем с тем, что оператор предоставляет: API, выгрузка, шлюз. Если у оператора нет программного доступа, скажем об этом на обследовании.

Можно ли подключить партнёра, который присылает только Excel?

Да, как переходный вариант: автоматический разбор вложений с проверкой и ручной отметкой для того, что не разобралось. Он дороже в сопровождении, чем EDI или API, и мы это записываем в смете.

Что с 1С, которая давно не обновлялась?

Способ доступа выбираем на обследовании: HTTP-сервисы, OData или обмен файлами. Для самых старых конфигураций обмен строится через промежуточную базу, и срок согласования доступов учитываем в плане.

Как быстро подключается следующий партнёр?

После первого партнёра есть шаблон: профиль, таблица соответствия, тестовые сообщения, параллельный прогон. Срок определяется не кодом, а скоростью, с которой партнёр отвечает и присылает тестовые данные.

Кому принадлежат код и данные обмена?

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

Вы работаете только в Ростове-на-Дону?

Мы в Ростове-на-Дону, работаем с заказчиками по всей России: удалённо и в вашем контуре. Доступ к системам и обследование согласуем на старте с вашей службой безопасности.