Один контрагент заведён дважды
В ERP он с реквизитами, в CRM — с другим написанием. История заказов и оплат расходится по двум карточкам, и собрать её обратно стоит времени.
Выберите тему — соберём контекст
Справочники сопоставляются один раз — дальше документы ходят сами
ERP редко бывает единственной системой: рядом живут сайт, CRM, склад и сервисы доставки. Связываем их так, чтобы справочники имели один источник, а документы не заводились дважды. Отдельно работаем с самописными системами, у которых нет ни API, ни документации: сначала описываем сущности по факту, потом строим обмен.
Проблема обычно не в документах, а в справочниках: пока записи не сопоставлены, любой обмен переносит данные в разные карточки.
В ERP он с реквизитами, в CRM — с другим написанием. История заказов и оплат расходится по двум карточкам, и собрать её обратно стоит времени.
Позиция в учёте и позиция в CRM описаны по-разному, единицы измерения отличаются. Документ формально есть, но связать его с продажей нельзя.
Счёт или накладная создаются в двух системах, потому что никто не уверен, что вторая их уже получила. Отчётность расходится уже внутри месяца.
У неё нет API и документации, поэтому обмен откладывают и продолжают переносить данные вручную — годами.
Для каждой сущности заранее определяется сторона-источник и момент передачи. Черновик и проведённый документ — разные состояния, и путать их нельзя.
Правило одно: у каждой сущности ровно один источник правды. Если источник не выбран, системы начинают переписывать записи друг друга, и расхождение становится невозможно разобрать.
Сопоставление — отдельный этап работ, и он занимает больше времени, чем написание обмена. Пропустить его нельзя: обмен без связей быстро превращается в поток дублей.
Собираем список справочников, которые участвуют в обмене, и смотрим, по какому признаку запись уникальна в каждой системе.
Автоматически сопоставляем записи по реквизитам и артикулам, а спорные пары отдаём на ручной разбор ответственным.
Результат сопоставления хранится отдельно от самих справочников: обмен опирается на связи, а не на совпадение названий.
Определяем, что делать с записью, которой нет во второй системе: создавать, отклонять или складывать в очередь на разбор.
Самописная система — не приговор: у неё есть база, в которой лежат те же сущности. Вопрос только в том, как до них безопасно добраться.
Обмен строится через промежуточный слой: выгрузка по расписанию, представления в базе или файловый канал. Для внешних систем это выглядит как обычный обмен со своей очередью и журналом.
Часть правил существует не в документации, а в самописных отчётах и обработках. Разбираем их и переносим в описание обмена, чтобы интеграция не зависела от одного человека.
Если сотрудник что-то доначисляет руками, обмен должен это учитывать: такие записи помечаются и не перетираются автоматической выгрузкой.
Интеграция считается работающей не тогда, когда обмен запустился, а тогда, когда расхождения находятся раньше, чем о них сообщит клиент.
Сначала инвентаризация справочников и контракт обмена, потом код. Такой порядок дольше на старте, но избавляет от разбора дублей в первый же месяц эксплуатации.
Разбираем системы, сущности и потоки. Фиксируем, что считается источником правды и где сейчас расходятся данные.
Описываем поля, форматы, частоту и правила сопоставления справочников. Согласуем до начала разработки.
Проверяем обмен на реальных данных в ограниченном объёме: несколько десятков записей в обе стороны.
Включаем полный обмен с очередью, повторными попытками, журналом и защитой от дублей.
Мониторинг, сверка расхождений, обновление коннекторов при изменениях API на стороне сервиса.
Это не «дополнительные опции», а обязательная часть любой интеграции, которую мы сдаём.
Повторная доставка одного и того же события не создаёт вторую сделку, второй заказ или второй платёж.
Если внешняя система недоступна, операция ждёт и повторяется по расписанию, а не теряется.
Видно, что и когда ушло, что вернулось и что не прошло. Неудачную операцию можно повторить вручную.
Учитываем ограничения по частоте запросов, чтобы не получить блокировку со стороны сервиса.
Регулярная сверка ключевых сущностей между системами: расхождение видно в отчёте, а не в конце квартала.
При остановке обмена приходит уведомление ответственным, а не выясняется из жалобы клиента.
Часто эти интеграции внедряются вместе — например, CRM и телефония, или магазин и маркетплейсы.
1С остаётся учётным ядром
Интеграция с 1С: УТ, ERP, УНФ — номенклатура, цены, остатки, заказы, оплаты и документы.
ПодробнееСвяжем системы, для которых нет готового коннектора
Разработка API-интеграций: REST, GraphQL, вебхуки, SOAP и файловый обмен. Контракт обмена до кода, очередь, повторы, защита от дублей, журнал и мониторинг.
ПодробнееОбмен редко ограничивается одной категорией: магазин обычно связан и со складом, и с платежами, и с маркетплейсами.
Если вашего вопроса здесь нет — задайте его в форме ниже.
Перечислите, какие системы у вас есть — включая самописные, — и где данные сейчас вводятся дважды. Предложим схему сопоставления справочников и обмена документами.
За 3 рабочих дня разберём: где вы теряете заявки, какие каналы недооценены, и что даст рост в первые 30 дней.
Без обязательств. С конкретными цифрами.
Cookie и аналитика
Мы используем необходимые cookie для работы сайта и форм. Аналитические cookie (Яндекс.Метрика, включая запись сессий) подключаем только с вашего согласия — от него можно отказаться. Подробнее: Политика использования cookie и обработка персональных данных.