Перейти к содержимому
Рабочее место веб-разработчика: клавиатура, мышь и часы

Интеграция интернет-магазина с 1С: как это устроено

Интеграция интернет-магазина с 1С: как это устроено

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

Зачем магазину обмен с 1С

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

0ручных правок цен на сайте
5–15 минтипичная задержка обновления остатков
2–4 чрабочего времени менеджера в день экономит автоматическая загрузка заказов

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

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

Какие данные передаются и в какую сторону

Обмен двусторонний. Из 1С на сайт идут данные о товарах, из сайта в 1С — данные о заказах. Важно заранее определить, какая система является главной для каждого типа данных, иначе изменения будут затирать друг друга.

ДанныеНаправлениеКомментарий
Номенклатура: название, артикул, группа1С → сайтОснова каталога; изменения в 1С обновляют карточки
Характеристики и свойства1С → сайтИспользуются для фильтров; требуют аккуратного заполнения в учёте
Торговые предложения (размеры, цвета)1С → сайтХарактеристики номенклатуры превращаются в варианты товара
Цены по типам1С → сайтРозничная, оптовая, дилерская — каждая для своей группы покупателей
Остатки по складам1С → сайтОбщий остаток или по каждому складу и магазину
Описания и фотоЧаще на сайтеМаркетинговый контент обычно удобнее вести в админке сайта
ЗаказыСайт → 1ССостав, покупатель, доставка, оплата
Статусы заказов1С → сайтСобран, отгружен, доставлен — для уведомлений покупателя

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

Схема обмена данными между 1С и интернет-магазином
Схема обмена данными между 1С и интернет-магазином

Как технически устроен обмен

Самый распространённый способ — стандартный протокол обмена с сайтом, встроенный в типовые конфигурации 1С: Управление торговлей, Розница, Комплексная автоматизация, УНФ. 1С по расписанию формирует файлы в формате CommerceML (это XML со строгой структурой) и отправляет их на сайт по HTTP. Сайт принимает файлы, разбирает и обновляет каталог, а в ответ отдаёт файл с новыми заказами.

У 1С-Битрикс приём таких файлов встроен в модуль интернет-магазина. Для WordPress/WooCommerce, OpenCart и других платформ есть модули, которые реализуют тот же протокол. Для проектов на фреймворке мы пишем обработчик сами — так получается быстрее и точнее под задачу. Подробнее о том, как платформа влияет на интеграции, мы писали в материале о выборе платформы для магазина.

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

Полная и частичная выгрузка

Полная выгрузка передаёт весь каталог целиком. Она нужна при первом запуске и иногда для сверки, но на каталоге в 30 000 товаров с фото может занимать часы. Поэтому в ежедневной работе используется частичная выгрузка — только изменённые с прошлого обмена данные. Остатки и цены часто выносят в отдельный лёгкий обмен, который запускается каждые 5–15 минут, а номенклатуру обновляют раз в несколько часов или ночью.

Фотографии и тяжёлые файлы

Отдельная головная боль — изображения. Если фото товаров хранятся в 1С и передаются в каждом пакете обмена, объём выгрузки вырастает в десятки раз. Правильнее передавать фото только при их изменении или вовсе загружать их на сайт отдельно, а из 1С передавать лишь ссылку или имя файла. Это сокращает время обмена с часов до минут и снижает нагрузку на сервер в рабочее время.

Если вместо 1С — МойСклад

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

Типичные проблемы и как их избежать

Большинство проблем с интеграцией связано не с программированием, а с данными в учётной системе. 1С ведут годами, разные люди, по разным правилам, и при выгрузке на сайт всё это становится видно.

Хаос в номенклатуре

Один и тот же товар заведён дважды, в названиях служебные пометки «НЕ ИСП», «старый», характеристики записаны в названии, а не в свойствах. На сайте это превращается в дубли и мусор.

Затирание данных

Менеджер поправил название на сайте, а ночная выгрузка вернула старое. Решается чётким разделением полей: какие ведутся в 1С, какие — на сайте.

Медленный обмен

Полная выгрузка вместо частичной, тяжёлые фото в каждом пакете, отсутствие индексов в базе сайта. Обмен идёт часами и мешает работе магазина.

Контрагенты-дубли

Каждый заказ с сайта создаёт в 1С нового контрагента, даже если покупатель уже есть в базе. Нужна настройка поиска по телефону, а для юрлиц — по реквизитам организации.

Именно поэтому любой проект интеграции мы начинаем с аудита данных в 1С. Иногда оказывается, что перед подключением сайта нужно две-три недели наводить порядок в справочниках: объединять дубли, выносить характеристики в свойства, создавать недостающие виды цен. Эта работа выполняется на стороне заказчика или его программиста 1С, и её стоит закладывать в план заранее.

Пример из практики: у производителя сантехнической арматуры размеры и материал были записаны прямо в названии номенклатуры — «Кран шаровой 1/2 ВР-НР латунь». Чтобы сделать фильтры на сайте, пришлось вынести эти параметры в отдельные свойства для 3 400 позиций. Программист 1С сделал это обработкой за два дня, но без этого шага фильтрация была бы невозможна.

Заказы, оплаты и статусы

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

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

Для B2B-магазинов добавляются персональные цены и договоры: каждому контрагенту в 1С назначен свой тип цен или скидка, и сайт должен показывать авторизованному покупателю именно его условия. Это стандартная задача, но её обязательно нужно предусмотреть в техническом задании.

Порядок работ и сроки

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

  1. Аудит учётной базы

    Изучаем конфигурацию и версию 1С, структуру номенклатуры, свойства, виды цен и склады. Составляем список того, что нужно привести в порядок.

  2. Карта обмена

    Фиксируем, какие данные, в каком направлении и как часто передаются, какая система главная для каждого поля, как сопоставляются группы 1С и категории сайта.

  3. Настройка и разработка

    Настраиваем стандартный обмен или пишем собственный обработчик, дорабатываем модуль под особенности базы.

  4. Тестовый обмен

    Выгружаем данные на тестовую копию сайта, проверяем товары, варианты, цены, остатки, создаём тестовые заказы и смотрим, как они приходят в 1С.

  5. Запуск и наблюдение

    Включаем обмен на рабочем сайте, первые две недели отслеживаем журнал обмена и исправляем расхождения.

Простая интеграция типовой конфигурации с Битриксом занимает от одной до трёх недель. Сложная — с несколькими складами, персональными ценами, нестандартной 1С и CRM — от месяца. Ориентир по стоимости — от 40 000 ₽ для отдельной интеграции, а интернет-магазин с интеграцией 1С «под ключ» мы делаем от 290 000 ₽ за 8–14 недель. Подробности — на странице интеграции с 1С и CRM.

Что важно унести с собой

Интеграция с 1С превращает учётную систему в единый источник данных о товарах, а сайт — в витрину, которая сама передаёт заказы в учёт. Это экономит часы ручной работы, снижает количество ошибок и даёт честную картину продаж по всем каналам.

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

Нужен сайт или интернет-магазин?

Обсудим задачу, подскажем подходящую платформу и оценим сроки и бюджет — бесплатно и без обязательств.

Обсудить проект

Читайте также

Фотографии товаров: стандарты съёмки и обработкиИнтернет-магазиныФотографии товаров: стандарты съёмки и обработкиПереезд магазина на новую платформу без потери позицийИнтернет-магазиныПереезд магазина на новую платформу без потери позицийКарточка товара, которая продаёт: разбор по элементамИнтернет-магазиныКарточка товара, которая продаёт: разбор по элементамB2B-магазин: особенности оптовых продаж через сайтИнтернет-магазиныB2B-магазин: особенности оптовых продаж через сайт