Продажи через Озон
Интеграция VirtualPos с маркетплейсом Озон: товары, цены и остатки выгружаются в личный кабинет продавца, а заказы с Озона приходят в VirtualPos как заказы покупателей. Поддерживаются схемы FBS и realFBS — товар хранится в ваших точках продаж, вы собираете заказ и передаёте его в доставку.
Общее описание
Обмен с Озоном идёт через API личного кабинета продавца. Все настройки собраны в приложении Маркетплейсы → Озон: личные кабинеты, склады, товары и категории Озона, журналы обмена, сверка и статусы заказов. Данные передаются в облако Озона фоновыми заданиями, вручную запускать обмен не нужно.
- Подключение Поддержка подключает модуль. Вы получаете ключ API в кабинете продавца Озон и создаёте склады FBS или realFBS.
- Личный кабинет В VirtualPos добавляете личный кабинет для юрлица, указываете Seller ID, ключ API и прайс-лист.
- Склады Получаете склады Озона и сопоставляете каждый с точкой продаж VirtualPos: с неё берутся остатки и на неё оформляются заказы.
- Товары Назначаете товарам категории Озона, заполняете характеристики и выгружаете товары на Озон.
- Заказы Новые отправления Озона сами превращаются в заказы покупателей. Вы собираете заказ, печатаете этикетку и выдаёте его курьеру.

Приложение открывается в окне панели управления. Разделы переключаются в меню ☰ слева от заголовка «Интеграция с OZON». Кнопка справа вверху разворачивает окно на весь экран — так удобнее работать с таблицами товаров.

Подключение интеграции
В кабинете продавца Озон
- Зарегистрируйтесь на Озоне как продавец и заключите договор.
- Откройте Настройки → API ключи (https://seller.ozon.ru/app/settings/api-keys) и сгенерируйте ключ API. Скопируйте Client ID — в VirtualPos он называется Seller ID — и сам ключ.
- В разделе FBS → Логистика создайте склады и выберите для них методы доставки. Для каждой точки продаж, с которой будете продавать, нужен свой склад.
В VirtualPos
- Обратитесь в поддержку VirtualPos по телефону 8-800-205-93-94, чтобы подключить модуль Озон. После подключения в меню появится пункт Маркетплейсы → Озон, а поддержка включит фоновые задания обмена.
- Подготовьте прайс-лист, из которого на Озон будут выгружаться цены (см. Управление розничными ценами).
- Добавьте личный кабинет, укажите Seller ID, ключ API и прайс-лист (см. Личные кабинеты).
- Получите склады Озона и сопоставьте их с точками продаж.
- В разделе Настройки задайте соответствие статусов заказов Озона и VirtualPos.
- Назначьте товарам категории Озона, заполните характеристики и выгрузите товары (см. Категории).
Внимание. Личный кабинет считается активным, только когда у него заполнены ключ API и прайс-лист. Без прайс-листа кабинет не участвует в обмене.
Сводка
Стартовая страница приложения. Если личных кабинетов ещё нет, здесь показывается приглашение начать работу: кнопка «Начать» открывает меню приложения.

| Личные Кабинеты | Сколько личных кабинетов Озона подключено. Клик открывает раздел «Личные кабинеты» |
| Товары | Сколько товаров назначено в категории Озона |
| Заказы | Сколько заказов с Озона сейчас в работе |
| Динамика продаж по дням | График выполненных и отменённых заказов Озона в рублях |
| Ожидающие обработки задачи | Задания на выгрузку, которые ещё не отправлены на Озон: по каждому личному кабинету — тип задания, время обновления и количество товаров |
В меню ⋮ блока задач можно вручную поставить в очередь полную выгрузку: Запланировать выгрузку товаров…, Запланировать выгрузку остатков…, Запланировать выгрузку цен… — после выбора личных кабинетов задания отправятся на Озон при следующем обмене.

Личные кабинеты
Личный кабинет связывает юрлицо VirtualPos с кабинетом продавца на Озоне. Если вы продаёте на Озоне от нескольких юрлиц или ИП, добавьте кабинет для каждого.
- Откройте раздел Личные кабинеты и нажмите + в заголовке списка.
- Выберите юрлицо.
- Заполните поля и нажмите «Добавить».
| Seller ID (client id) | Идентификатор продавца Озона (Client ID из кабинета продавца). Обязательное поле, до 12 цифр |
| Ключ API | Ключ API из кабинета продавца. Обязательное поле |
| Прайс-лист | Прайс-лист VirtualPos, из которого берутся цены для Озона и цены в заказах с Озона |

Изменить данные кабинета можно в той же форме — кнопка «Сохранить». Кнопка с корзиной отключает интеграцию для юрлица: кабинет удаляется из VirtualPos, товары и заказы в кабинете продавца Озона остаются.
Склады
Блок «Склады на Озон» появляется после сохранения кабинета.
- Нажмите «Получить склады» (или «Обновить», если склады уже загружались) — VirtualPos загрузит склады из кабинета продавца. Метка слева показывает схему работы склада:
FBSилиrealFBS. - Для каждого склада нажмите на ссылку справа (красная надпись «Не задана», если точка ещё не выбрана) и выберите точку продаж VirtualPos. В списке — только точки продаж юрлица этого кабинета.
Сопоставление сохраняется сразу. С точки продаж берутся остатки для этого склада Озона, и на неё оформляются заказы, пришедшие на склад.
Если складов нет, сначала создайте их в кабинете продавца Озон (FBS → Логистика), затем обновите данные в VirtualPos.
Категории
На Озон можно выгрузить только товар, у которого назначена категория Озона. Для каждой категории Озон требует свой набор характеристик, поэтому товары добавляются и редактируются по категориям.
- Откройте раздел Категории и нажмите «Выбрать категорию».
- Выберите категорию, подкатегорию и тип товара из каталога Озона.

- Нажмите «Добавить товары» и в окне «Подбор товаров» отметьте группы или отдельные товары VirtualPos. Удобно держать для каждой категории Озона свою группу товаров в VirtualPos и добавлять её целиком.
- Заполните характеристики товаров (см. ниже) и выгрузите их на Озон.
При первом открытии категории список может загружаться долго — VirtualPos получает с Озона справочник характеристик категории. При следующих открытиях список появляется быстрее.

В таблице — товары категории: название в VirtualPos, НДС, вес и габариты, название на Озоне, цены из прайс-листа и значения характеристик. Значок рядом с названием показывает результат последней выгрузки:
- Значок ▶ Товар в процессе выгрузки на Озон.
- Значок ✓ Озон принял товар.
- Значок ⓘ Озон вернул ошибки. Наведите курсор на значок, чтобы увидеть список ошибок по характеристикам.
Характеристики товара
Нажмите на название товара — откроется форма товара для Озона. Чтобы изменить несколько товаров сразу, отметьте их и нажмите «Изменить (N шт)»: в форме массового изменения отметьте галочкой поля, которые нужно заменить у всех выбранных товаров. Изменения сохраняются кнопкой «Сохранить».

| Название на Озон | Название карточки на Озоне. Если оставить пустым, Озон составит название сам из обязательных характеристик: тип, бренд, модель и важные для категории характеристики |
| Штрихкод | Штрихкод товара для Озона |
| НДС | 10%, 20%, Не облагается или Использовать системное значение — ставка определится по системе налогообложения юрлица |
| Вес с упаковкой, г | Вес единицы товара с упаковкой в граммах |
| Длина, ширина, высота упаковки, мм | Габариты товара в заводской упаковке, а если упаковки нет — самого товара |
Ниже — блок «Атрибуты категории …»: характеристики, которые требует Озон для выбранной категории. Состав характеристик и подсказки к ним (значок ⓘ) приходят с Озона. Обязательные отмечены звёздочкой *.

Озон примет товар, даже если заполнены не все обязательные характеристики, но в продажу такой товар не поступит. Заполните недостающие характеристики и выгрузите товар снова.
Выгрузка и удаление
Действия с отмеченными товарами — в меню ⋮ над таблицей:
| Обновить | Перечитать список товаров категории и результаты выгрузки |
| Выгрузить на Озон (N шт) | Выберите личные кабинеты — товары встанут в очередь на выгрузку и сразу начнут отправляться на Озон |
| Удалить (N шт) | Убрать товары из категории Озона в VirtualPos. На Озоне карточки товаров остаются |
Озон обрабатывает товары не сразу: после выгрузки обновляйте список (⋮ → Обновить), пока у товаров не появится ✓ или ⓘ. Новые товары появляются на Озоне быстро, а изменения в уже выгруженном товаре могут применяться до двух часов.
Чтобы удалить карточку с Озона, перенесите товар в архив в кабинете продавца, а затем удалите из архива.
Товары
Раздел Товары — все товары VirtualPos, для которых настроена выгрузка на Озон, по всем категориям сразу.

Строка поиска над таблицей ищет товар по части названия. Если ввести число, в результатах будут ещё и товары, у которых это число совпадает с ID (ид товара в VirtualPos) или ID в Озон (артикул на Озоне).

| ID | Ид товара в VirtualPos |
| Название в системе | Название товара в VirtualPos |
| ID в Озон | Артикул товара на Озоне (offer_id), его присваивает VirtualPos |
| Название в Озон | Название карточки на Озоне |
| Категория | Отметка, что категория назначена. Нажмите на неё, чтобы открыть категорию товара в разделе «Категории» |
| Цена, НДС | Цена из прайс-листа и ставка НДС для Озона |
| Размеры (Д×Ш×В), вес | Габариты и вес с упаковкой |
| Дата создания | Когда товар добавлен в категорию Озона |
Журнал выгрузки
В журнале — задания на выгрузку данных на Озон: товаров, остатков и цен. По нему видно, что отправлено, что Озон принял и какие ошибки вернул.

| Название | Товар VirtualPos |
| Тип обмена | Товар, Остатки или Цена. Фильтр — значок воронки в заголовке |
| Статус | Статус задания. Если Озон вернул ошибки, рядом появится значок: при наведении видны статус на Озоне, ошибки и дата обновления |
| ID товара, ID товара Озон | Ид товара в VirtualPos и на Озоне |
| Личный Кабинет | Кабинет, в который выгружаются данные. Фильтр — значок воронки |
| Склад | Склад Озона (для остатков) |
Над таблицей — поиск по части названия и переключатель «В процессе импорта»: включите его, чтобы видеть только задания, которые ещё не завершены.
| Статус | Описание |
|---|---|
| Новый | Задание в очереди, ещё не отправлено |
| Загружено | Данные отправлены на Озон |
| На проверке | Озон проверяет товар |
| Импортировано | Озон принял данные |
| Отклонено | Озон не принял данные — см. ошибки в подсказке |
| Пропущено | Озон не вернул результат по записи («Озон проигнорировал данную запись») |
| Ошибка связи | Озон не принял запрос после нескольких попыток; текст ошибки — в подсказке |
Записи журнала старше 7 дней удаляются автоматически.

На снимке Озон отклонил остаток: товар перенесён в архив на Озоне (PRODUCT_IS_ARCHIVED). Верните товар из архива в кабинете продавца — остаток выгрузится при следующей выгрузке остатков.
Журнал заказов
Отправления (заказы) Озона, полученные в VirtualPos, и заказы покупателей, созданные по ним.

| Номер отправления | Номер отправления на Озоне |
| Статус | Статус отправления на Озоне. Фильтр — значок воронки |
| Заказ покупателя | Номер заказа в VirtualPos и его статус. Клик по статусу открывает страницу заказа |
| Собрать до | Срок, до которого нужно собрать и отгрузить отправление |
| Доставка | Способ доставки |
| В доставке с | Когда отправление передано в доставку |
| Личный Кабинет | Кабинет Озона. Фильтр — значок воронки |
| Создан | Когда отправление создано на Озоне |
| Состояние обмена | new — получено, заказ ещё не создан; created — заказ создан и отслеживается; completed — обмен по отправлению завершён; error — ошибка (текст — при наведении на значок) |
Кнопка «Обновить данные» сразу запрашивает с Озона новые отправления и изменения статусов, не дожидаясь фонового обмена. Заказы покупателей по новым отправлениям создаются при ближайшем фоновом обмене.
Сверка товаров
Сверка сравнивает товары в кабинете продавца Озона с товарами, которые VirtualPos считает выгруженными. Выберите личный кабинет и нажмите «Сверить» — загрузка товаров с Озона может занять несколько минут. Рядом с кнопкой показывается, на какой момент получены данные и сколько товаров на Озоне.

| Выгружены | Товары, которые есть и в VirtualPos, и на Озоне: артикул, названия, product_id, SKU (ссылка на карточку на Озоне), статус на Озоне и отметка «в архиве» |
| Нет в Озоне | Товары, настроенные в VirtualPos, которых нет в кабинете продавца |
| Не числятся выгруженными | Товары на Озоне, не связанные с VirtualPos. Причина: «Нет связи с личным кабинетом», «Нет сопоставления с товаром системы» или «Нет товара в системе» |
| Расхождение названий | Товары, у которых название на Озоне заметно отличается от названия в VirtualPos (похожесть ниже порога, по умолчанию 60 %) |
Поле «Поиск» фильтрует строки текущей вкладки.
Настройки
В разделе задаётся соответствие статусов заказа: какой статус получит заказ покупателя в VirtualPos, когда отправление на Озоне переходит в тот или иной статус. Для статуса Озона выберите системный статус или оставьте «(не используется)» — тогда при переходе в этот статус заказ в VirtualPos не меняется. Нажмите «Сохранить».

Пример настройки:
| Статус Озона | Статус заказа в VirtualPos |
|---|---|
| ожидает упаковки | Новый |
| доставляется | Отправлен |
| доставлено | Завершён |
| отменено | Отменён |
| не принят на сортировочном центре | Отменён |
Статус нового заказа тоже берётся из этого соответствия; если для текущего статуса отправления оно не задано, заказ создаётся в статусе «Новый».
Цены и остатки
Цены берутся из прайс-листа личного кабинета:
| Цена | Цена товара в прайс-листе |
| Цена до скидок | «Старая цена» из прайс-листа, если она больше цены |
| Цена Premium | «Цена по акции» из прайс-листа |
Цены отправляются на Озон вместе с товаром при выгрузке. Чтобы обновить цены уже выгруженных товаров, запланируйте выгрузку цен в разделе Сводка (⋮ → Запланировать выгрузку цен…).
Остатки выгружаются для каждого склада Озона из сопоставленной с ним точки продаж. Отрицательный остаток передаётся как ноль. Фоновое задание раз в 4 часа ставит остатки в очередь, и они уходят на Озон при следующем обмене. Выгрузить остатки вне расписания — Сводка → ⋮ → Запланировать выгрузку остатков….
Заказы с Озона
Каждые 10 минут VirtualPos запрашивает у Озона новые отправления FBS и realFBS и создаёт по ним заказы покупателей. Заказы запрашиваются только для личных кабинетов, в которых уже есть выгруженные товары.
В созданном заказе:
- источник —
Озон, клиент и способ оплаты — те, что заданы при подключении модуля; - пункт получения — точка продаж, сопоставленная со складом Озона;
- прайс-лист — прайс-лист личного кабинета, цены товаров — из отправления Озона;
- способ получения — служба доставки Озона;
- комментарий — способ доставки и склад Озона, время создания, срок «Отправить до» и отметка «Заказ от юрлица», если покупатель — юрлицо;
- GUID — номер отправления на Озоне.
При каждой смене статуса отправления на Озоне статус заказа меняется по соответствию статусов.
Работа с заказом:
Новый → Готов к выдаче → Отправлен → Завершён
| Сборка | Готов к выдаче |
| Соберите заказ и переведите его в статус «Готов к выдаче» — VirtualPos сообщит Озону, что отправление собрано. | |
| Этикетка | |
| Распечатайте этикетку Озона и наклейте на упаковку (см. ниже). | |
| Выдача курьеру | Отправлен |
| Выдайте заказ курьеру на кассе (см. Заказы покупателей на кассе). После пробития чека заказ с доставкой Озона переходит в статус «Отправлен». | |
| Доставка | Завершён |
| Когда Озон доставит заказ, статус изменится по соответствию статусов. | |
Печать этикетки
Этикетки печатаются со страницы заказа (Продажи → Заказы покупателей, или в Журнале заказов нажмите на статус заказа рядом с его номером). В меню «Действия» выберите «OZON: Напечатать обычную этикетку» или «OZON: Напечатать маленькую этикетку». Этикетку формирует Озон, VirtualPos открывает готовый файл в новой вкладке. Меню «Действия» есть только у заказов с Озона.

Фоновый обмен
Обмен выполняют фоновые задания. Их включает поддержка при подключении модуля.
| Задание | Когда | Что делает |
|---|---|---|
| Обмен с ОЗОН | Каждые 10 минут | Выгружает товары из очереди и проверяет, принял ли их Озон; выгружает остатки и цены из очереди; получает новые отправления и создаёт заказы; обновляет статусы заказов |
| Подготовка остатков для ОЗОН | Раз в 4 часа | Ставит остатки товаров в очередь на выгрузку |
| Удаление устаревших данных в ОЗОН | По умолчанию раз в неделю | Удаляет записи журнала выгрузки старше 7 дней и переносит в архив на Озоне товары, не связанные с VirtualPos |
Внимание. Задание очистки переносит в архив на Озоне все товары кабинета, которые не сопоставлены с товарами VirtualPos, — например, созданные вручную в кабинете продавца. Если такие товары должны продаваться, добавьте их в категории Озона в VirtualPos.
Права доступа
Доступ к приложению даёт роль marketplaces («Маркетплейсы») или отдельные права:
console.ozon.manage | Пункт меню Маркетплейсы → Озон |
console.ozon.appApi | Сводка |
console.ozon.companyApi | Личные кабинеты и склады |
console.ozon.catalogApi | Категории и товары |
console.ozon.importApi | Журнал выгрузки |
console.ozon.exchangeApi | Ручная выгрузка данных |
console.ozon.orderApi | Журнал заказов |
console.ozon.configApi | Настройки |
console.ozon.virtualposApi | Доступ к данным VirtualPos: точкам продаж, прайс-листам, товарам |
console.ozon.* | Полный доступ |
Частые ошибки
| Сообщение или ситуация | Причина | Что делать |
|---|---|---|
| Нет пункта Маркетплейсы → Озон | Модуль не подключён или у пользователя нет права console.ozon.manage | Обратитесь в поддержку или к администратору |
| «Обязательное поле» в форме личного кабинета | Не заполнен Seller ID или ключ API | Скопируйте значения из кабинета продавца Озон |
| Склады не загружаются | На Озоне не созданы склады FBS/realFBS или ключ API неверный | Создайте склады в FBS → Логистика, проверьте ключ |
| У товара значок ⓘ, статус «Отклонено» | Озон не принял товар: не заполнены обязательные характеристики или значения не проходят проверку | Наведите курсор на значок, исправьте характеристики и выгрузите товар снова |
| На Озоне не обновляются остатки | Склад Озона не сопоставлен с точкой продаж | Выберите точку продаж для склада в личном кабинете |
| Заказы с Озона не приходят | В кабинете нет выгруженных товаров или фоновые задания выключены | Выгрузите товары; если заказов всё равно нет — обратитесь в поддержку |
| Не найден товар (ozon_item.id = …) | В отправлении товар, который не связан с товаром VirtualPos | Добавьте товар в категорию Озона в VirtualPos или проверьте его в разделе «Сверка товаров» |
| Не удалось отправить в Озон запрос на создание этикеток для заказа id: … | Озон вернул ошибку при создании этикетки — её текст выводится после сообщения | Проверьте отправление в кабинете продавца Озон и повторите печать |
Отклонено: PRODUCT_IS_ARCHIVED, «Can't set positive stock to archived product» | Товар на Озоне в архиве, Озон не принимает для него остаток | Верните товар из архива в кабинете продавца Озон |
| Товары пропали из продажи на Озоне и лежат в архиве | Товары не сопоставлены с VirtualPos, их перенесло в архив задание очистки | Добавьте товары в категории Озона в VirtualPos и выгрузите, затем верните из архива на Озоне |