Пока товаров пятьдесят, менеджер обновляет остатки руками и всё работает. На пятистах это превращается в ежедневную рутину, а на трёх тысячах — в источник постоянных извинений перед клиентами.
Интеграция с учётной системой решает не техническую задачу, а бизнесовую: продавать то, что действительно есть, по актуальной цене.
Что именно синхронизируется
- Товары — наименования, артикулы, категории, характеристики, изображения. Обычно из 1С на сайт, в одну сторону.
- Цены — включая типы цен: розница, опт, дилерские, персональные для конкретного клиента.
- Остатки — по складам. Самый критичный поток, требующий наибольшей частоты обновления.
- Заказы — с сайта в 1С. Обратное направление: заказ создаётся в учётной системе автоматически, менеджеру остаётся его обработать.
- Статусы — из 1С на сайт, чтобы клиент видел, что происходит с заказом, а не звонил уточнять.
Варианты обмена
Штатный протокол CommerceML
Стандартный механизм 1С: система выгружает XML-пакеты, сайт их разбирает. Плюс — работает «из коробки» с типовыми конфигурациями и большинством CMS. Минус — обмен пакетный, а не мгновенный, и на больших каталогах может занимать десятки минут.
Подходит, когда товаров до нескольких тысяч и обновления раз в час-два достаточно.
Обмен через REST API
Сайт и 1С общаются напрямую по HTTP-сервисам. Плюсы: обмен близок к реальному времени, можно передавать только изменившееся, легко расширять. Минус — требует разработки на стороне 1С, то есть участия вашего программиста 1С.
Оптимальный вариант для магазинов, где остатки меняются в течение дня.
Через промежуточный сервис
Если между сайтом, складом и маркетплейсами нужно связать несколько систем, разумнее поставить посредника — например, МойСклад или собственный слой синхронизации. Каждая система интегрируется с ним один раз, а не с каждой другой.
Подводные камни
Что считать источником истины
Договоритесь на старте: где создаются товары, где меняются цены, где заводятся категории. Если редактировать можно и там, и там, при следующем обмене часть правок затрётся. Это классика, и обнаруживается всегда постфактум.
Резервирование при заказе
Между оформлением заказа и его попаданием в 1С проходит время. Если за эти минуты последний товар купит кто-то ещё, вы продадите то, чего нет. Решается резервированием на стороне сайта в момент оформления.
Изображения и описания
В 1С обычно хранятся сухие наименования вроде «Смеситель ХХ-123 хром». Продающие описания, фото и SEO-тексты живут на сайте — и обмен не должен их перезаписывать. Это отдельная настройка, которую легко упустить.
Нагрузка
Полная выгрузка большого каталога способна положить сайт в разгар дня. Планируйте: полный обмен — ночью, частичный по остаткам — часто и небольшими порциями.
Как проверить, что всё работает
- товар, выведенный из ассортимента в 1С, исчезает с сайта
- изменение цены доезжает за оговорённое время
- заказ с сайта появляется в 1С со всеми полями, включая комментарий клиента
- при нулевом остатке кнопка «Купить» меняется на «Под заказ», а не пропадает
- логи обмена доступны и понятны — вы должны видеть, что и когда сломалось
Последний пункт важнее остальных. Интеграция ломается не в момент запуска, а через полгода, когда кто-то поменяет структуру справочника. Хорошая интеграция сообщает об этом сама.