База знаний

Подключение МойСклад: цены, остатки и каталог в обе стороны

15 мин чтенияОбновлено: 2026-09-21

Интеграция с МойСклад закрывает главный вопрос: «посчитали цены — а дальше?». После каждой переоценки PriceBridge сам передаёт цены и остатки в ваш МойСклад, а заодно умеет синхронизировать поля карточек, забирать остатки вашего склада из МойСклад обратно и — для нового клиента — затянуть весь каталог из МойСклад одной кнопкой. В этой статье настроим всё по шагам.

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

Шаг 1. Получите API-токен в МойСклад

В личном кабинете МойСклад откройте Настройки → Обмен данными → Токены и создайте новый токен. Это строка-ключ, по которой PriceBridge будет обращаться к вашему аккаунту. Токен даёт доступ к данным — не публикуйте его и не пересылайте в открытых чатах.

Шаг 2. Подключите интеграцию

В PriceBridge откройте Ещё → Настройки → вкладка МойСклад и раскройте карточку Интеграция с МойСклад. Внизу карточки — блок Настройки подключения:

Форма настроек подключения МойСклад
Форма подключения: токен, аккаунт и UUID складов. Токен после сохранения показывается только маской
  1. API токен — вставьте токен из шага 1. После сохранения интерфейс будет показывать только маску (последние символы) — целиком токен никогда не отображается. Чтобы заменить токен, просто введите новый; пустое поле означает «оставить прежний».
  2. Аккаунт МойСклад — имя вашего аккаунта (субдомен из адреса личного кабинета).
  3. Склад-источник остатков (source_store_id) и Склад назначения (target_store_id) — UUID складов в МойСклад: с первого система читает ваши остатки, во второй пишет. UUID можно взять из адресной строки, открыв склад в МойСклад. Если работаете с одним складом — укажите его в обоих полях.
  4. Что считать артикулом карточки из МойСклад — «Артикул, а если он пуст — Код» (по умолчанию), «Код» или «Только артикул». Код в МойСклад есть у каждой карточки, он ставится автоматически; артикул заполняется вручную и бывает пустым. Если ваш учёт живёт на кодах, выберите «Код», чтобы все карточки в PriceBridge были опознаны одинаково. Смена выбора применяется при следующем переносе (шаг 4) и не меняет ничего в самом МойСклад.
  5. Поставьте галочку Включить синхронизацию с МойСклад — это главный выключатель всей интеграции — и нажмите Сохранить.
Пока галочка не стоит, кнопки синхронизации остаются серыми, а статус в мониторинге показывает «Выключена». Это удобно: можно заполнить форму заранее и включить интеграцию, когда всё готово.

Шаг 3. Выберите, какие поля выгружать

В карточке МойСклад — что выгружать галочками отмечается, какие поля карточек PriceBridge будет обновлять в МойСклад: название, цена, остаток, закупочная цена, описание, вес, ТНВЭД, штрихкод. Снимете галочку — поле перестанет приходить в карточки при следующем обновлении.

Карточка «МойСклад — что выгружать» и быстрые действия
Быстрые действия и выбор синхронизируемых полей. Артикул — ключ привязки, он синхронизируется всегда
  • Артикул синхронизируется всегда — это ключ привязки. При этом МойСклад идентифицирует товар по внутреннему UUID, поэтому артикул в главном каталоге можно спокойно править: связь не потеряется, новое значение просто уедет в МС как обычное поле.
  • Описание. В МойСклад одно поле «Описание» — переключателем Источник описания для МС выберите, что туда выгружать: полное или краткое описание из главного каталога.
  • Штрихкод уезжает в МС как EAN-13.
  • Ограничения: габариты МойСклад отдельным полем не принимает (в МС есть только объём), а картинка применяется только при первичном создании товара — последующие смены фото в главном каталоге в МС не переносятся.

Шаг 4. Bootstrap: свяжите каталоги между собой

Если каталог в МойСклад уже существует, системе нужно один раз сопоставить товары — для этого есть блок Привязка UUID МойСклад. Bootstrap скачивает каталог из МС и сохраняет UUID товаров по совпадению артикула. Какое поле МойСклад считать артикулом («Артикул», «Код» или «Артикул, а если пуст — Код»), задаётся в настройках выше. После этого синхронизация не зависит от изменений SKU: уже связанные карточки при повторном переносе опознаются по идентификатору, а не по артикулу.

Блок «Привязка UUID МойСклад»
Одноразовый bootstrap. Чекбокс ниже включает импорт товаров, которых в PriceBridge ещё нет
  1. Если хотите заодно затянуть в PriceBridge товары, которых здесь ещё нет, — отметьте чекбокс «Также импортировать в каталог товары из МС, которых ещё нет в PriceBridge». Карточки создаются сразу с привязкой и обратно в МС не дублируются.
  2. Нажмите Запустить bootstrap (кнопка доступна при включённой интеграции). Статус обновляется каждые несколько секунд.
  3. По завершении смотрите метрики: Совпало (привязано по артикулу), Не найдено в МС, Неоднозначно (один артикул — несколько товаров МС, такие пары нужно разобрать руками), Импортировано в главный каталог.
Повторный запуск bootstrap безопасен: он не создаёт дубликатов и лишь дополняет привязки. Если после первого прогона остались «Не найдены в МС» — поправьте артикулы и запустите ещё раз.

Шаг 5. Быстрые действия и мониторинг

В верхней части карточки интеграции — блок Быстрые действия:

  • Передать цены в МС и Передать остатки в МС — поставить в очередь немедленную выгрузку всех цен или остатков. В обычной жизни это не нужно (после переоценки всё уходит само) — кнопки пригодятся после первичной настройки или чтобы форсировать обновление.
  • Полный ресинк остатков — полная сверка остатков с нуля; статус показывается рядом («В очереди», «Выполняется…», «✓ Выполнен»).

Выше, в карточке Мониторинг синхронизации, видно фактическое состояние: когда была последняя выгрузка, сколько задач в очереди, есть ли ошибки. Раздел Статус выгрузки цен показывает таблицу ошибок с колонками «Артикул» и «Причина ошибки» — если какой-то товар не доехал, причина будет здесь. А Лог операций синхронизации хранит журнал по типам операций: цены, создание товаров, остатки, ресинк.

Вкладка МойСклад с мониторингом
Мониторинг: статусы передачи цен, остатков и полного ресинка — всегда на виду

Остатки вашего склада из МойСклад

Интеграция работает и в обратную сторону: блок Локальный склад (остатки) загружает остатки из МойСклад в отдельное поле товаров главного каталога («Мой склад»). Так вы видите в каталоге и остатки поставщиков, и собственный склад, а разделы «Закупки» и алерты «На исходе» получают реальные цифры.

Блок «Локальный склад (остатки)»
Синхронизация остатков вашего склада из МойСклад в поле «Мой склад» товаров главного каталога

Кнопка Синхронизировать локальный склад запускает загрузку; в результате видно, сколько строк пришло из МС, сколько SKU сопоставлено с главным каталогом и сколько — нет. «Не сопоставлено» обычно означает расхождение артикулов — его лечит bootstrap из шага 4.

Страница «Локальный склад»

Текущие остатки вашего склада и историю обновлений показывает отдельная страница Локальный склад — ссылка на неё есть на вкладке МойСклад панели управления. После настройки остатки обновляются сами примерно раз в пять минут: МойСклад каждый раз присылает полный список позиций с остатком, и всё, чего в списке нет, считается закончившимся и получает ноль. В истории видно, когда пришло последнее обновление, сколько позиций в нём было и чем оно закончилось.

Плашка «Снимок пришёл неполным»

Иногда МойСклад присылает список заметно короче обычного: выгрузка оборвалась, или отчёт отдался не целиком. Если бы система поверила такому списку, тысячи карточек за один цикл получили бы нулевой остаток. Поэтому каждое обновление сравнивается с последним полным: когда позиций стало меньше сразу на двести с лишним и больше чем на пять процентов, на странице появляется оранжевая плашка с двумя числами — сколько позиций с остатком пришло сейчас и сколько было в последнем полном списке.

  • Остатки тех позиций, что в списке есть, записываются как обычно — они актуальны.
  • Карточки, которых в списке нет, не обнуляются: отсутствие позиции в неполном списке не значит, что её нет на складе. Они хранят прежние значения, пока не придёт полный список или пока вы не примете новый остаток.
  • В Telegram уходит одно сообщение, а пока ситуация держится — напоминание раз в шесть часов.

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

Когда нажимать «Принять новый остаток склада», а когда подождать

Подождать — если вы не отгружали и не списывали тысячи позиций, а в самом МойСклад остатки на месте. Значит, это сбой выгрузки. Делать ничего не нужно: как только придёт полный список, плашка пропадёт сама, обнуление снова заработает, а в Telegram придёт сообщение о восстановлении.

Принять новый остаток — если склад действительно стал меньше: вы перенесли товар на другой склад, провели большое списание или инвентаризацию, сменили склад-источник в настройках подключения. Сначала убедитесь в самом МойСклад, что этих позиций там действительно нет, потом нажмите Принять новый остаток склада. В окне подтверждения написано, сколько карточек получат нулевой остаток при следующем обновлении, — прочитайте это число перед тем, как соглашаться. Для плашки о свободном остатке правило то же: принимайте только если товары в самом деле зарезервированы целиком.

Принятие нельзя отменить кнопкой: вернуть остаток обнулённым карточкам сможет только новое обновление из МойСклад, в котором эти позиции есть. Кто и когда принял новый остаток, записывается в историю обновлений на той же странице. Если сомневаетесь — подождите: пока плашка висит, склад в каталоге ничего не теряет.

Остатки перестали обновляться

Если обновлений не было дольше двадцати минут, в Telegram придёт сообщение о том, с какого времени остатки вашего склада не обновляются и в чём была последняя ошибка. Оно приходит один раз, не каждые пять минут; когда обновления возобновятся, придёт сообщение о восстановлении. Причина обычно в стороне МойСклад — проверьте, что токен действует, склад-источник указан верно и интеграция включена. Ошибка каждого неудачного обновления видна в истории на странице Локальный склад.

Сверка остатков: что разошлось между складом, каталогом и заказами

Остаток живёт сразу в трёх местах: на складе в МойСклад, в карточке главного каталога и в резервах заказов. Пока они сходятся, всё в порядке; когда расходятся, об этом раньше узнавали от покупателя. Страница Сверка остатков — постоянный сторож этих расхождений: каждые пятнадцать минут она сравнивает три стороны и показывает, где они разъехались. Ссылка на неё есть на вкладке МойСклад панели управления и на странице Локальный склад.

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

Что означает каждый вид расхождения и что делать

  • Склад обнулён (требует внимания сегодня). За один цикл обновления складской остаток пропал сразу у сотни карточек и больше. Столько товаров разом не заканчивается — чаще всего склад ответил коротким списком или остаток стёр кто-то ещё. Что делать: открыть последнее обновление остатков на странице Локальный склад и сверить его с тем, что лежит на складе. Пока причина не ясна, новый остаток принимать не нужно.
  • Одна штука обещана дважды (требует внимания сегодня). Заказы держат в резерве больше, чем физически лежит на полке: один и тот же товар обещан нескольким покупателям. В тексте расхождения перечислены заказы с номерами и состояниями — идите сразу к ним. Заказ, под который товар уже заказан у поставщика и ещё не пришёл, в счёт не идёт: его штуки едут от поставщика, даже если МойСклад поставил ему резерв. Такие заказы названы в тексте отдельно — у кого заказано и когда ждём. Поставка пришла — заказ снова в счёте. Если резерв заказа под закупкой полка покрывает, он тоже в счёте: в закупках, на вкладке История закупок → Ждём от поставщиков, такой заказ тоже не числится ожидающим. Что делать: решить, кому товар уходит, а кому его нужно дозаказать.
  • Застой (требует внимания сегодня). Склад больше суток не показывает товар, а в каталоге его остаток всё ещё числится, или снимок со склада перестал приходить вовсе. Витрина показывает вчерашний день, и сверять уже нечего. Что делать: проверить, доходит ли снимок остатков: время последнего обновления видно на самой странице сверки, ошибка — в истории на странице Локальный склад.
  • Товар на полке, в каталоге ноль (разобрать на неделе). Склад держит товар, а карточки с таким артикулом в каталоге нет: такой товар не попадёт ни на витрину, ни в заказ. Сюда же попадает обратное — на одну карточку склада смотрят сразу две карточки каталога, и остаток достаётся только одной из них. Что делать: завести карточку с этим артикулом или исправить артикул на складе, если он записан с опечаткой; для двойной карточки — оставить одну, лишнюю отвязать от склада.
  • Резерв без основания (разобрать на неделе). Резерв, который нечем объяснить, — три разных случая, и уведомление называет, сколько каких: заказ держит товар, которого на полке нет вовсе; резерв остался за заказом, который уже завершён или отменён; склад держит товар под заказ, а такого заказа нет. Резерв комплекта лежит на его составных частях, и сверка это учитывает. Резервом сверка считает только то, что ещё не отгружено: МойСклад оставляет число резерва на позиции и после отгрузки, но полку такой резерв уже не держит. Что делать: открыть заказ из подробностей. Товара нет — заказать его или снять резерв; заказ закрыт — снять резерв в МойСклад; заказа нет — найти документ, который держит резерв, или снять его.

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

Кнопки «Сверить сейчас» и «Принять»

Сверить сейчас проводит сверку немедленно — это полезно сразу после того, как вы что-то поправили в МойСклад и хотите убедиться, что расхождение ушло. Кнопка доступна сотрудникам с правом менять данные; учётной записи только для чтения видна сама страница, но не кнопка. Подряд сверку запускать незачем: снимок со склада приходит раз в пять минут.

Принять — это «знаю, так и задумано». Принятое расхождение остаётся видимым с пометкой, но перестаёт считаться и не поднимает тревогу в Telegram тридцать дней, а потом возвращается само: молчание не бывает вечным, иначе принятое однажды расхождение навсегда выпало бы из виду. Передумали раньше — кнопка Вернуть в счёт возвращает его сразу.

Когда сверка напишет в Telegram

Сообщения приходят об изменениях, а не о состоянии. То, что требует внимания сегодня, поднимает тревогу при первом появлении и потом не чаще раза в сутки, пока держится. То, что можно разобрать на неделе, — только при заметном росте к вчерашнему дню. Когда расхождения уходят в ноль, придёт сообщение о возвращении к норме. Отдельно сверка сообщит, если сама не отработала сутки: тихая страница без такого сообщения была бы неотличима от «всё в порядке».

Кому достаются задачи, которые мы ставим в МойСкладе

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

А если ответственного нет, задача уходит дежурному. И это не редкий случай: МойСклад отдаёт заказы без этого поля, если вы его не заполняете, — на боевом аккаунте ответственный не был проставлен ни у одного заказа за месяц. То есть вся работа держится на дежурном.

Поэтому в карточке Интеграция с МойСклад наверху стоит блок с маршрутом задач: сколько заказов пришли с ответственным, кто сейчас дежурный и что будет, если его снять. Дежурный выбирается там же, из списка сотрудников вашего МойСклада. Оставите Дежурный не назначен — задачи по заказам без ответственного создаваться не будут, и блок об этом прямо предупредит красным.

Дополнительные цены → типы цен МойСклад

Если вы ведёте в PriceBridge дополнительные цены (вкладка Доп. цены в Настройках — например, оптовую или B2B-цену), блок Доп. цены → типы цен МойСклад позволяет выгружать каждую из них в свой тип цены МС — отдельной ценой рядом с основной. Вариант «Не выгружать» оставляет цену только для фидов.

Если вы пришли из приложения МойСклад

PriceBridge доступен и как приложение внутри МойСклад. В этом случае связка настраивается ещё проще: приложение даёт одноразовую ссылку подтверждения — открыв её, вы увидите вопрос «Связать аккаунт МойСклад … с вашим аккаунтом PriceBridge …?» и кнопку Подтвердить связку. Токен вводить не нужно — доступ выдаётся самим приложением.

Частые вопросы

Кнопки «Передать цены/остатки» серые

Не включён главный выключатель — галочка Включить синхронизацию с МойСклад в настройках подключения (шаг 2).

Цены посчитались, но в МойСклад не появились

  • Подождите пару минут: выгрузка идёт через очередь.
  • Откройте Мониторинг синхронизации: если статус «Есть ошибки» — смотрите таблицу в «Статус выгрузки цен», там причина по каждому артикулу.
  • Проверьте, что товар привязан к МС (был в bootstrap или создан через синхронизацию).

Я сменил артикул товара в главном каталоге — связь не сломается?

Нет. МойСклад идентифицирует товары по UUID, артикул — обычное синхронизируемое поле. Именно поэтому стоит один раз выполнить bootstrap: после него SKU можно менять свободно.

Поменялся токен (отозвали/пересоздали)

Введите новый токен в поле API токен и сохраните. Старое значение целиком не показывается — это нормально, ориентируйтесь на маску.

Фото товара обновил, а в МойСклад старое

Так задумано: картинка передаётся только при первичном создании товара в МС. Обновлять фото существующих товаров нужно в самом МойСклад.