У обмена с учётной системой есть два разных результата: соединение установлено и магазин получил правильные цены и остатки. Первое ещё не подтверждает второе. Можно связать товары, выбрать расписание и при этом отправлять в Хорошоп данные не того склада или не той группы цен.
Разберём настройку на примере модуля учёта товаров Base. В его интеграциях Хорошоп называется Cartum. Задача – определить разрешённый маршрут каждого поля и получить проверяемую запись обмена. Это не инструкция для любого коннектора BAS: состав доступных действий зависит от выбранной системы и связующего модуля.

Выберите место, где меняются цены и остатки
Начните с рабочего процесса команды. Если сотрудники ведут товары в Хорошопе, а Base нужен для заказов и размещения предложений на площадках, подходит прямой сценарий. Магазин остаётся источником товарных данных; встроенный склад Base можно не использовать.
Другой вариант – вести товары в Base Inventory и передавать оттуда данные в магазин. Тогда исправление цены должно начинаться с выбранной группы цен Base, а изменение количества – с назначенного склада. Случайная ручная правка зависимой стороны не исправит ошибку в источнике.
Base также может быть посредником: получать сведения из внешней системы и передавать их дальше. По документации Base, для подключения ERP в таком сценарии нужен дополнительный интегратор. До работ уточните, кто поддерживает этот участок. Наличие Cartum в списке не подтверждает готовое соединение с вашей учётной программой.
Отделите подключение от первоначальной загрузки
Официальная инструкция Хорошопа описывает подключение Base для тарифа Pro и выше. Она предусматривает отдельного администратора с ролью owner. Создание такой учётной записи и передачу реквизитов согласуйте с владельцем магазина; не создавайте доступ только ради просмотра формы.
В Base откройте Integrations → Add integration и найдите Cartum среди магазинов. В адресе указывается домен без http, затем реквизиты администратора. В этой форме выбирается синхронизация товаров либо работа только с заказами. Требования конкретного коннектора нельзя переносить из инструкции другой CRM.
Включение товарной синхронизации не переносит автоматически ассортимент на уже существующий склад Base. Импорт и связь записей – отдельные операции. Сначала убедитесь, что один и тот же вариант товара сопоставлен между системами. Совпавшее название не заменяет проверку этой связи.
Для сценария с Inventory инструкция предлагает разрешить получение товаров в разделе Products. Но до массовой загрузки сохраните соответствия выбранных позиций и решите, какие поля разрешено обновлять. Не смешивайте создание записей, их связывание и последующее движение цены или количества в один неподконтрольный запуск.
Назначьте направление отдельно для двух полей
В настройках интеграции магазина Base разделяет Stock и Prices. Для остатков выбираются направление, внутренний склад и доступная периодичность; для цен – направление и группа цен. Запишите фактически выбранные значения. Универсального интервала, подходящего каждому магазину и тарифу, здесь нет.
Когда главным остаётся Хорошоп, настройка получения должна вести данные из магазина в Inventory. При главном складе Base выбирается обратное движение. Не включайте встречную передачу одного поля ради надписи «двусторонняя синхронизация»: сначала установите, какая система вправе его менять.
| Поле | Разрешённый маршрут | Что выбрать в Base | Где исправлять исходное значение |
|---|---|---|---|
| Остаток из магазина | Хорошоп → Inventory | Внутренний склад получателя | В магазине, если он назначен главным |
| Цена из магазина | Хорошоп → Inventory | Группу цен получателя | В магазине с учётом его валюты |
| Остаток из Base | Inventory → Хорошоп | Внутренний склад источника | На выбранном складе Base |
| Цена из Base | Inventory → Хорошоп | Группу цен источника | В выбранной группе цен Base |
Это четыре варианта настройки, а не предложение включить их все. Например, склад «Основной» и склад «Поставщик» могут содержать разные количества одного артикула. Даже успешный обмен даст неверный результат, если получателем или источником назначен другой склад.

Не принимайте условное количество за складской остаток
Base получает сведения о том, включён ли количественный учёт в Хорошопе. Если магазин работает только со статусами наличия, коннектору всё равно требуется число. Для этого в расширенных настройках есть количество по умолчанию. Указанные в документации 100 – техническое значение, которое при выгрузке назначается товарам, а не результат пересчёта склада.
Учебный пример: у позиции EX-01 магазин показывает «В наличии», а по внутреннему учёту продавца есть 6 штук. Если для выгрузки задано условное 100, появление 100 в Base не доказывает поступление ещё 94 единиц. До запуска нужно решить, допустима ли такая модель для дальнейших каналов продажи.
Отдельно задаётся перечень статусов магазина, которые коннектор считает положительным наличием. Для передачи товаров обратно предусмотрены два других значения: статус для доступного товара и статус при отсутствии. Не подменяйте ими физическое количество и не активируйте складской режим магазина только ради заполнения этих полей.

Проверьте валюту и связь языковых версий
Зафиксируйте не только число цены, но и валюту. При разных валютах товаров инструкция описывает пересчёт в валюту, выбранную для цен в интеграции, по курсам магазина. Условные 125 USD при согласованном курсе 40 дают 5000 UAH. Сравнение 125 и 5000 без валют ошибочно; эти числа не являются текущим курсом или ценой реального товара.
Для передачи нескольких языков инструкция требует отдельных интеграций Cartum. В сценарии с главным Inventory сначала импортируют товары на одном языке, затем подготавливают предусмотренную настройку SKU/EAN для родительских товаров с вариантами и связывают записи со всеми языковыми интеграциями. После этого импортируют остальные языки. Перевод названия сам по себе связь не создаёт.
В расширенных настройках коннектора документация Хорошопа указывает для украинского код ua. Это требование описанной интеграции, а не универсальный код для любых систем. Если исходные языки или валюты не совпадают с настройкой, остановите расширение обмена и разберите различие до массового обновления.
Принимайте маршрут по контрольным записям
Подготовьте небольшую согласованную выборку: вариант товара, валютную цену, позицию с нулевым количеством и товар без количественного учёта. Для каждого примера сохраните исходник, разрешённое изменение и ожидаемое значение на другой стороне. Отсчёт ожидания ведите от фактического запуска обмена, а не от открытия карточки.
- Укажите идентификаторы связанных записей, внутренний склад и группу цен.
- Сравните исходную цену с итоговой суммой в нужной валюте.
- Разделите реальное количество, статус наличия и условное значение коннектора.
- Проверьте, что соседний вариант и запрещённое к изменению поле сохранены.
При расхождении сначала проверьте маршрут, связь товара и назначенный источник. Повторная авторизация не исправляет неверную группу цен. Для устранения ошибки сохраните пример и измените согласованную настройку, затем повторите ограниченную проверку. Расширяйте обмен только после совпадения ожидаемых и фактических значений.
Такой контроль подтверждает передачу выбранных полей, но не гарантирует отсутствие одновременной продажи последней единицы в разных каналах. Резервирование и обработка заказов проверяются отдельно. Если нужно согласовать маршрут и ответственность систем, начните с разбора интеграции в рамках поддержки магазина на Хорошопе.
Нужна помощь с вашим проектом?
Оставьте имя и телефон. Свяжусь с вами, чтобы обсудить задачу, объём работ и следующий шаг.