МойСклад часто становится учётным ядром для небольшого и среднего e-commerce. Когда к нему подключены и сайт на 1С-Битрикс, и Ozon, главный вопрос — как не разъехаться по остаткам и корректно проводить заказы маркетплейса. Разбираем архитектуру связки.
Роли систем в связке
Правильная связка начинается с распределения ответственности. В большинстве проектов:
- МойСклад — источник истины по остаткам, ценам закупки и движению товара; здесь оформляются отгрузки и списания.
- 1С-Битрикс — витрина сайта, каталог, заказы сайта; часто выступает шлюзом между МойСклад и Ozon.
- Ozon — канал продаж; принимает остатки (FBS) и отдаёт заказы (отправления).
Как считаются единые остатки
Ключевая величина — доступный остаток: физический минус резервы. На него влияют продажи сайта, продажи Ozon и внутренние движения в МойСкладе. Чтобы не продать один товар дважды, остаток должен пересчитываться в едином месте.
Типовая схема для FBS:
- МойСклад отдаёт физический остаток по складам (JSON API или через Битрикс).
- Битрикс вычитает резервы под неотгруженные заказы сайта.
- Итоговое доступное количество уходит в Ozon методом
/v2/products/stocksс указаниемwarehouse_id.
Импорт заказов маркетплейса
Заказы Ozon (отправления) забираются через Seller API и превращаются в документы МойСклада — обычно в «Заказ покупателя» или сразу «Отгрузку». Основные методы:
| Метод | Схема | Назначение |
|---|---|---|
/v3/posting/fbs/list | FBS | новые отправления со склада продавца |
/v2/posting/fbo/list | FBO | отправления со склада Ozon (для учёта продаж) |
/v3/posting/fbs/get | FBS | состав и реквизиты конкретного отправления |
При импорте важно связать строки отправления с номенклатурой МойСклада. Связка идёт по offer_id (артикул продавца), который должен совпадать с кодом/артикулом товара в МойСкладе и на сайте.
Отгрузка и списание
Дальше сценарий зависит от схемы. Для FBS продавец сам собирает и передаёт заказ, поэтому в МойСкладе логично проводить отгрузку в момент сборки:
- заказ Ozon переходит в
awaiting_deliver→ в МойСкладе создаётся отгрузка и списывается остаток; - резерв под заказ снимается, доступный остаток пересчитывается;
- обновлённый остаток уходит обратно в Ozon.
Для FBO товар уже лежит на складе Ozon, продажа отражается как списание с виртуального склада «Ozon FBO» в МойСкладе — это учётная операция, физически со склада продавца ничего не уходит.
Роль 1С-Битрикс как шлюза
Когда Битрикс работает шлюзом, на нём удобно централизовать всю интеграционную логику:
- приём остатков МойСклада и запись их в каталог (модуль
catalog); - расчёт доступного остатка с учётом резервов модуля
sale; - отправку остатков и цен в Ozon по расписанию через агент;
- импорт заказов Ozon и их зеркалирование в МойСклад;
- единый журнал обмена и алерты об ошибках.
Такой подход даёт одну точку контроля вместо трёх независимых интеграций и упрощает отладку: все запросы и ответы видны в одном логе.
Где чаще ошибаются
Список граблей, на которые наступают почти все:
| Симптом | Причина | Что делать |
|---|---|---|
| Продажа отсутствующего товара | редкая синхронизация остатков | частый обмен, учёт резервов сайта |
| Задвоение остатка FBO | остатки FBO шлют вручную | FBO ведёт Ozon, не отправлять stocks |
| Заказ не привязался | расхождение offer_id | единый артикул во всех системах |
| Двойное списание | отгрузка и в МойСкладе, и в 1С | один документ-владелец отгрузки |
Итог
Связка Ozon + МойСклад устойчива, когда МойСклад остаётся единственным источником физических остатков, доступное количество считается с учётом резервов сайта, а FBS и FBO разведены по логике: остатки FBS вы толкаете сами, FBO ведёт Ozon. 1С-Битрикс удобно использовать как шлюз с единым журналом и расписанием обмена.
Мы в B2Bsite собираем такие связки под конкретный товарный учёт: настраиваем обмен остатками и заказами между МойСклад, Битрикс и Ozon, разводим FBS/FBO и ставим мониторинг. Результат — остатки сходятся, а заказы маркетплейса проводятся автоматически.
Частые вопросы
Нужно ли отправлять в Ozon остатки для схемы FBO?
Нет. При FBO товар физически лежит на складе Ozon, и остатками управляет площадка. Через /v2/products/stocks отправляются только остатки FBS со склада продавца.
Что считается доступным остатком?
Физический остаток по складам минус резервы под неотгруженные заказы. Именно доступное количество, а не физическое, нужно транслировать в Ozon, чтобы не продать товар дважды.
Можно ли обойтись штатной интеграцией МойСклад–Ozon?
Иногда да, но она ограниченно работает с несколькими складами и резервами сайта. Когда есть ещё и продажи на Битриксе, обмен обычно строят через сайт как шлюз.
Как связать строки заказа Ozon с товарами МойСклада?
По offer_id — артикулу продавца. Он должен совпадать с артикулом в МойСкладе и на сайте, иначе строки отправления не сопоставятся с номенклатурой.
Когда списывать остаток при FBS?
Обычно в момент сборки, когда отправление переходит в awaiting_deliver: создаётся отгрузка в МойСкладе, снимается резерв и пересчитывается доступный остаток.
Зачем делать Битрикс шлюзом, а не связывать всё напрямую?
Шлюз даёт одну точку контроля, единый журнал обмена и общий расчёт резервов вместо трёх независимых интеграций, которые сложно отлаживать.
Почему возникает двойное списание?
Когда отгрузка проводится и в МойСкладе, и в 1С одновременно. У операции отгрузки должен быть один документ-владелец.
Поможем с настройкой и поддержкой Интеграции и связки систем
Поможем с настройкой, доработкой и поддержкой Интеграции и связки систем.