Интеграция ERP (1С, SAP) с B2B-платформой: заказы, остатки, отгрузки и EDI

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

Обследование обмена — от 200 000 ₽, 2–3 неделиКаждое поле имеет источник, направление и поведение при сбоеИсходники обмена в вашем репозитории, ERP не переписываем

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

Когда обмен с ERP становится главной задачей платформы

Платформа есть, данные в ней устарели

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

Заказы из платформы перепечатывают в ERP

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

Торговые сети и крупные клиенты требуют EDI

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

Нужны статусы от перевозчика

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

ERP меняется или обновляется

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

Обмен уже есть, но никто не знает, что он делает

Правила спрятаны в обработках, журнала нет, потерянные сообщения не найти. Сначала нужно описать то, что есть, и только потом менять.

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

Данные между платформой и учётом: направление, частота, хозяин

Заготовка для разбора: на ваших системах строки будут другими, вопросы те же. Подробности по 1С — на странице интеграции 1С.

Данные
Хозяин и состав
Как передаём
Что при сбое
ДанныеНоменклатура и справочникииз ERP в платформу
Хозяин и составERP ведёт, платформа читает
Как передаёмВыгрузка по изменению плюс полная сверка по расписанию; сопоставление партнёрских артикулов с вашими ведётся отдельной таблицей
Что при сбоеПлатформа работает с копией; расхождение попадает в журнал сверки
ДанныеЦены и условия партнёраиз ERP в платформу
Хозяин и составДоговорная цена, скидка, отсрочка, склад
Как передаёмКопия в платформе, обновление по изменению; при оформлении заказа цена проверяется ещё раз
Что при сбоеПоказываем метку времени актуальности, а не молча устаревшую цену
ДанныеОстаткииз ERP и склада в платформу
Хозяин и составОстаток за вычетом резервов, по доступным партнёру складам
Как передаёмЧастое обновление по событию, пересчёт при оформлении заказа
Что при сбоеПредупреждение и запрет оформления на спорную позицию; не обещаем лишнего
ДанныеЗаказыиз платформы в ERP
Хозяин и составСоздание заказа покупателя с позициями и ценами
Как передаёмОчередь, отдельный номер обращения от платформы, статус обработки
Что при сбоеЗаказ «принят платформой», пока учёт недоступен; повтор не создаёт дубль
ДанныеСтатусы и отгрузкииз ERP, склада и перевозчика
Хозяин и составРезерв, сборка, отгрузка, доставка
Как передаёмСобытия из учёта и склада, опрос перевозчика, единый словарь статусов
Что при сбоеПоследний известный статус с датой; ручная отметка менеджера
ДанныеДокументы и взаиморасчётыиз ERP и ЭДО
Хозяин и составСчета, накладные, акты, баланс по договору
Как передаёмФайл попадает в платформу после проведения и подписания
Что при сбоеПояснение «документ ещё не сформирован», а не пустой раздел
Способы доступа

Как платформа обращается к 1С и SAP

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

1С

Рабочие способы: стандартный интерфейс OData для публикации объектов, HTTP-сервисы, которые пишутся на стороне 1С под нужные операции, и обмен файлами или сообщениями через очередь. Прямую запись в базу минуя 1С не делаем: проводки и проверки принадлежат учётной системе. Типовые конфигурации обновляются, поэтому доработки на стороне 1С выносим в расширения, которые не ломаются при обновлении. Версию, режим работы и ограничения лицензий смотрим на обследовании.

SAP

В зависимости от версии доступны обмен документами через IDoc, вызовы функций через RFC и BAPI, сервисы OData и обмен файлами. Мы не консультанты SAP и не заменяем вашу команду на стороне системы: новые интерфейсы и права в SAP настраивает ваш администратор или сопровождающий подрядчик, а мы формируем требования к ним и строим платформенную часть обмена. Это важно оговорить заранее, потому что сроки ожидания доступов часто длиннее самой разработки.

Три правила для любой ERP

  • Учёт не нагружаем запросами на каждый клик. Партнёр листает каталог по копии в платформе, а к ERP обращается только оформление заказа и обновление.
  • Тестовый контур обязателен. Обмен отлаживается на копии базы, а не на боевой. Без копии мы не начинаем запись.
  • Права обмена минимальны. Служебный пользователь платформы в ERP может создавать заказы и читать нужные справочники, но не менять нормативы и не проводить документы за бухгалтера.
Надёжность

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

Обмен между двумя системами ломается не в нормальной работе, а при остановке одной из них. Поэтому его проектируют вокруг сбоя.

  • Очередь между платформой и ERP. Заказ сначала сохраняется в платформе, затем передаётся в учёт. Если 1С на обновлении, заказ ждёт, а партнёр видит статус «принят».
  • Идемпотентность. У каждого заказа есть номер от платформы, который хранится и в ERP. Повторная передача находит существующий документ и не создаёт второй.
  • Состояния записи. «Принято платформой», «передано в учёт», «проведено», «ошибка». По каждой ошибке видно, кто должен её разобрать: менеджер, администратор данных или мы.
  • Ежедневная сверка. Количество заказов, суммы, выборка остатков и цен по двум системам. Расхождения собираются в отчёт с понятным названием причины.
  • Журнал обмена. Каждая попытка с временем, данными и результатом. Потерянное сообщение находится по номеру заказа.

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

EDI

EDI-интеграции: какие сообщения и что нужно со стороны партнёра

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

Сообщение
Что содержит
Что делаем на вашей стороне
Что должно быть готово
СообщениеЗаказ покупателяот партнёра к вам
Что содержитПозиции, количество, адреса доставки, желаемые даты
Что делаем на вашей сторонеРазбор сообщения, сопоставление артикулов и точек доставки, создание заказа в ERP, ответ о принятии
Что должно быть готовоТаблица соответствия кодов партнёра вашим, договорённость о формате
СообщениеУведомление об отгрузкеот вас к партнёру
Что содержитЧто отправлено, в каком количестве, по какому документу
Что делаем на вашей сторонеФормируем из документа отгрузки в ERP после его проведения
Что должно быть готовоПравило, в какой момент считается отгрузкой, и как поступать при частичной отгрузке
СообщениеСчёт и документыот вас к партнёру
Что содержитСчёт-фактура, акт, накладная
Что делаем на вашей сторонеПередача файла и данных документа оператору ЭДО в согласованном формате
Что должно быть готовоПодключённый оператор ЭДО и сертификаты подписи, которые оформляете вы
СообщениеПодтверждение приёмкиот партнёра к вам
Что содержитФактически принятое количество, расхождения
Что делаем на вашей сторонеЗапись в ERP, пометка расхождений для менеджера
Что должно быть готовоРегламент, кто и как разбирает расхождения
Логистика

Интеграция с логистикой: какие данные нужны платформе и откуда они берутся

Мы подключаем статусы перевозчиков, о которых вы договорились сами, и показываем их партнёрам на платформе.

Источник
Какие данные
Как получаем
Где ломается
ИсточникСклад или WMSсборка, упаковка, отгрузка
Какие данныеСтатусы и состав отгрузки
Как получаемСобытия склада или обмен через ERP; сопоставление с заказом по номеру
Где ломаетсяСклад закрывает отгрузку частями, а платформа ждёт одного статуса
ИсточникПеревозчикв пути, доставлено
Какие данныеСтатус по накладной, дата доставки
Как получаемAPI перевозчика, файл или письмо с разбором; опрос по расписанию
Где ломаетсяУ перевозчика нет API, статусы приходят письмом; тогда разбор и ручная отметка
ИсточникСобственный транспортмаршрут и водитель
Какие данныеДанные из учёта путевых листов или маршрутизатора
Как получаемВыгрузка из ERP или внешней системы
Где ломаетсяСтатус обновляется водителем вручную, а платформа ожидает автомат
Что делаем

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

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

Обследование: платформа и одна ERP

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

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

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

ERP, склад, перевозчики, ЭДО и платформа вместе: схема обменов, словарь статусов, сопоставление справочников.

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

Пилот: один поток

Один обмен на реальных данных, например заказы из платформы в 1С или остатки в обратную сторону, с журналом и сверкой.

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

Пилот: несколько потоков

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

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

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

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

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

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

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

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

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

2–4 недели — Обследование: данные и доступы

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

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

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

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

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

1–2 недели — Приёмочная сверка

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

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

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

Дальше — Сопровождение

Мониторинг, обновления ERP, новые партнёры и форматы по этапам.

Цена

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

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

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

Число и возраст систем

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

Объём правил по ценам и остаткам

Одна цена на всех и индивидуальные цены по договорам с отсрочкой и складами различаются по работе в разы.

Число партнёров с EDI и форматов

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

Контроль

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

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

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

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

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

Интеграция, портал или миграция: какую услугу выбрать

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

Если вы заменяете SAP на отечественную систему, обмен с платформой удобнее строить после выбора новой ERP, об этом — переход с SAP. Если платформа и обмен нагружены, дополнительно смотрите архитектуру высоконагруженных систем. Разбор типовой задачи с подобным обменом: публичный API SaaS-продукта и интеграции с 1С.

Инструменты

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

Серверная часть и обмен
  • Python (Django, FastAPI) или Go для сервисов обмена
  • PostgreSQL для платформы и таблицы соответствий
  • RabbitMQ или очередь на PostgreSQL, журнал обмена в базе
  • OData, HTTP-сервисы и обмен файлами для 1С; IDoc, RFC, BAPI или OData для SAP, по доступному в вашей версии
Разбор форматов и развёртывание
  • XML и JSON, схемы для проверки сообщений EDI
  • Docker, Nginx, GitLab CI
  • Мониторинг обмена и оповещение по расхождениям
  • Тестовый контур на копии вашей базы
Материалы

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

Статья

Остатки в 1С и на маркетплейсе не совпадают

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

  • Резервы
  • Задержки обмена
  • Сверка
Читать →
Статья

Интеграция 1С с CRM: схемы

Какие бывают схемы обмена, кто хозяин данных и где возникают дубли.

  • Схемы обмена
  • Хозяин данных
  • Дубли
Читать →
Статья

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

Версии, идемпотентность и единый формат ошибок: основа надёжного обмена между системами.

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

Разберём, какие данные должны ходить между платформой и учётом

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

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

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

Вопросы

Частые вопросы: интеграция ERP с B2B-платформой

Сколько стоит интеграция B2B-платформы с 1С или SAP?

Начинается с обследования: 200 000 ₽ за платформу и одну ERP (2–3 недели) или 350 000 ₽, если систем несколько (3–4 недели). Затем пилот одного потока стоит 150 000–400 000 ₽, нескольких потоков — 400 000–1 200 000 ₽. Вывод в эксплуатацию от 1 500 000 ₽ этапами по 300 000–700 000 ₽. Обследование вычитается из первого этапа, если продолжаете с нами.

Можно ли подключить платформу к 1С, не меняя саму 1С?

Часто да: через стандартный интерфейс OData или файловый обмен. Для операций, которых нет в стандартном интерфейсе, на стороне 1С пишутся HTTP-сервисы в виде расширения. Какой путь доступен, зависит от версии конфигурации и ограничений вашего администратора; это выясняется на обследовании.

Работаете ли вы с SAP?

Мы строим платформенную часть обмена и формируем требования к интерфейсам SAP. Настройку интерфейсов, прав и разработку на стороне SAP выполняет ваш администратор или сопровождающий подрядчик: мы не консультанты SAP. Сроки зависят от того, как быстро будут готовы доступы и тестовый контур.

Что происходит с заказами, если 1С недоступна?

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

Как вы работаете с EDI?

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

Как вы находите расхождения между платформой и ERP?

Ежедневной сверкой: сравниваем количество и суммы заказов, выборку остатков и цен. Расхождения попадают в отчёт с причиной, а журнал обмена позволяет найти потерянное сообщение по номеру заказа.

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

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

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

Помесячно: 20 000, 60 000 или 120 000 ₽ в месяц, до 4, 12 или 25 часов. Часы уходят на мониторинг обмена, разбор расхождений и доработки при обновлении ERP. Сверх пакета — 5 000 ₽ в час по согласованию. Круглосуточного дежурства нет.

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

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