Классическая ситуация селлера: один физический склад, товар выставлен и на Ozon, и на Wildberries. Утром на WB заказали последние три единицы, а днём те же три единицы купили на Ozon. Итог — отмена заказа, падение метрик и недовольный покупатель. Разбираем, как синхронизировать остатки и не наступать на эти грабли.

Чем опасен overselling

Overselling — продажа товара, которого физически нет на складе. Последствия на обеих площадках неприятные:

  • Отмены заказов по вине продавца ухудшают рейтинг карточки и магазина. На Wildberries высокий процент отмен напрямую влияет на видимость и может привести к ограничениям. На Ozon отмена сборки бьёт по метрикам продавца и позициям в выдаче.
  • Штрафные механики. Маркетплейсы периодически пересматривают правила и вводят санкции за систематические отмены — уточняйте актуальные условия в документации площадок.
  • Негативные отзывы. Даже после отмены покупатель может оставить отзыв о неудачном опыте.

Почему остатки «разъезжаются»

Даже если вы добросовестно обновляете остатки, без автоматизации рассинхрон неизбежен:

  • Разные схемы работы. FBO, FBS, DBS, «Склад продавца» — у каждой схемы своя логика списания и резервирования. На Ozon товар резервируется под заказ, на WB — по-своему, и эти резервы не видят друг друга.
  • Задержки обновления. Вы обновили остаток на WB в 12:00, а заказ на Ozon пришёл в 12:03 по старым данным.
  • Возвраты и брак. Возвращённый товар снова становится доступным, и его легко «потерять» в ручном учёте.
  • Несколько складов. Если вы отгружаете на несколько складов маркетплейсов, остаток дробится, и суммарная картина без сводной таблицы теряется.
Причина рассинхронаКак проявляетсяЧто делать
Разные схемы FBO / FBS / DBSРезервы под заказы одной площадки не видны другойВести единый учёт и вычитать резервы обеих площадок из доступного остатка
Задержки ручного обновленияЗаказ приходит «по старым» остаткам между обновлениямиАвтоматическая синхронизация каждые 15–60 минут
Возвраты и бракВозвращённый товар теряется или продаётся дваждыВключать возвраты в расчёт доступного остатка
Несколько складовОстаток дробится, суммарная картина теряетсяСводная таблица остатков по всем складам

Как устроена синхронизация через API

Общая схема выглядит так:

  1. Источник истины. Единая точка, где лежит реальный остаток: учётная система (1С, МойСклад), Google-таблица или ваш собственный складской учёт.
  2. Расчёт доступного остатка. Из физического остатка вычитаются резервы под неотгруженные заказы на обеих площадках.
  3. Обновление на маркетплейсах. Полученное число отправляется через Ozon Seller API (методы обновления остатков на складах FBS) и WB API (Prices & Discounts / Statistics endpoints для остатков FBS) на каждую площадку.
  4. Повтор по расписанию. Цикл запускается каждые 15–60 минут в зависимости от оборота.

В recards.ru синхронизация остатков между Ozon и WB реализована именно по этой схеме: сервис опрашивает обе площадки, считает доступный остаток и расставляет его автоматически.

Каталог товаров в recards.ru с чекбоксами и кнопками массовой синхронизации остатков между Ozon и Wildberries
Синхронизация остатков в recards.ru запускается по выбранным товарам прямо из каталога

Практические рекомендации

  • Держите страховой буфер. Если оборот высокий, выставляйте на площадках остаток минус 1–2 единицы — это дешёвая страховка от гонки заказов между циклами синхронизации.
  • Синхронизируйте чаще при распродажах. В пиковые периоды (11.11, Чёрная пятница, предновогодний сезон) интервал стоит сократить до минимально разумного.
  • Не забывайте про FBO. На складах маркетплейса остатком управляет сама площадка — синхронизация нужна в первую очередь для FBS/DBS. Но сводный учёт должен видеть обе картины.
  • Обрабатывайте нули корректно. Когда товар закончился, ставьте ноль, а не удаляйте карточку — продажи возобновятся после поставки, и история карточки сохранится.
  • Логируйте расхождения. Если система регулярно показывает разницу между учётным и фактическим остатком — ищите причину: несписанные возвраты, пересорт, потери на складе.
  • Проводите сверку. Раз в неделю-две сравнивайте остатки в учёте с фактическими на складе и с тем, что видят площадки. Регулярная сверка ловит накопившиеся ошибки до того, как они превратятся в отменённые заказы.
Важно: закончившийся товар — это остаток «0», а не удалённая карточка. Удалённую карточку придётся создавать заново и раскручивать с нуля, а карточка с нулевым остатком сохраняет историю продаж, отзывы и позиции в выдаче.

Итог

Синхронизация остатков — вопрос не удобства, а выживания магазина на двух площадках. Ручное обновление работает только при минимальных оборотах. Как только заказов становится больше нескольких в день на каждой площадке, автоматическая синхронизация через API окупается первым же предотвращённым срывом заказа.