ERP-мост: одно число, с которым согласны три системы
Остатки в ERP, заказы в магазине, движения на складе — и продуманный слой, который решает, кто прав.
- Направление
- ERP, системы и интеграции
- Написано
- 2026
- Стек
- TypeScript
- Node.js
- PostgreSQL
- Очередь сообщений
- OpenAPI

Содержание проекта
Проблема
Две системы называют разные значения одного и того же числа, и все уже знают, какой из них не доверять. Обычно никто не решал, что остатки — зона ответственности ERP, а заказы — зона ответственности магазина: так сложилось само. Синхронизация запускается по ночам, конфликты решаются в пользу того задания, которое завершилось последним, а о неправильно собранном заказе узнаёт клиент.
Интеграция — это в основном не код. Это явное решение о том, какая система отвечает за каждое поле.
Как мы это делаем
1. Карта ответственности
Одна страница на сущность: товар, цена, остаток, клиент, заказ, счёт. Для каждого поля указано: какая система — источник истины, кто вправе его изменять и что происходит при одновременной записи из двух мест. Документ утверждается прежде, чем начинается разработка.
2. Мост, а не сетка связей
Каждая система обращается к единому интеграционному сервису с версионированной схемой — вместо шести скриптов «точка-точка», которые понимает только один человек. Входящие события ставятся в очередь и идемпотентны: одно и то же сообщение, пришедшее дважды, не задвоит движение по складу.
3. Видимая сверка
Задание по расписанию сравнивает обе стороны и выводит расхождения списком, с которым может разобраться человек, — вместо того чтобы молча всё перезаписать. Расхождение становится числом, за которым кто-то следит, а не неожиданностью.
4. Миграция с репетицией
Сначала данные переносятся в пробном режиме на копии — с отчётом о различиях и путём отката. Настоящий перенос — это уже третий раз, когда мы это делаем, а не первый.
Что вы получите
- Карту ответственности по полям, согласованную письменно
- Интеграционный сервис с документированным API и журналом событий, который можно проиграть заново
- Отчёты о сверке и оповещения о расхождениях
- Руководство по миграции, отработанное до переключения
Где начинаются сложности
У устаревших ERP часто нет пригодной ленты изменений, поэтому мосту приходится опрашивать систему и сравнивать данные — из-за этого задание по сверке становится постоянной частью системы, а не временным костылём. Большинство «очевидных» расхождений на самом деле кроются в правилах округления налогов и пересчёта единиц измерения. А каждое пользовательское поле, добавленное второпях, — это ещё не принятое решение по миграции.
Типовая архитектура