Блог о разработке ПО: веб и мобильных приложениях, сервисах, системах

Менеджер отдела продаж

Ксения

Связаться

Блог о разработке ПО: веб и мобильных приложениях, сервисах, системах

Интеграция 1С с внешними системами: маркетплейсы, банки, кассы и веб-сервисы

Мнение эксперта
Андрей Титов, CCO Аддамант

Андрей Титов

CCO «Аддамант»

Компания продает товары через интернет-магазин и маркетплейсы, принимает оплату через несколько банков и платежных сервисов, использует онлайн-кассу и ведет учет в 1С. Пока заказов немного, сотрудники переносят данные вручную. Затем объем растет, и бизнес сталкивается с расхождениями: на сайте заказывают товар, которого уже нет на складе, заказ с маркетплейса не попадает в учетную систему, а поступивший платеж не связывается с заказом.

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

Сначала разберем, какие данные участвуют в обмене и какие способы интеграции с 1С подходят для разных задач. Затем перейдем к маркетплейсам, банкам, кассам, сайтам и облачным решениям. В финале сравним готовый модуль с разработкой и дадим чек-лист подготовки проекта.

Как работает интеграция с 1С и внешними системами

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

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

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

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

Какие данные передают между 1С и другими системами

Состав обмена зависит от задачи. Для интернет-торговли обычно передают:

  • номенклатуру и характеристики товаров
  • цены для разных типов покупателей
  • остатки по складам
  • изображения и описания
  • заказы и их статусы
  • данные покупателей и контрагентов
  • способы оплаты и доставки
  • возвраты и отмены
  • документы реализации

Банковские интеграции работают с платежными поручениями, выписками и статусами документов. Кассовые решения получают позиции чека, ставки НДС, способы оплаты и сведения для фискализации.

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

Способы интеграции с 1С

Платформа «1С:Предприятие 8» поддерживает обмен файлами, XML и JSON, HTTP- и web-сервисы, OData и подключение внешнего оборудования. Это позволяет связывать 1С как с типовыми российскими продуктами, так и с кастомными веб-приложениями. Подробности приведены в официальной документации 1С.

Готовый модуль или своя разработка

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

Готовый модуль запускается быстрее собственной разработки. Но сначала проверяем его совместимость с конфигурацией 1С и внешней системой. Если у бизнеса несколько юридических лиц, складов, типов цен или нестандартные статусы, возможностей модуля может не хватить.

CommerceML

CommerceML используют для обмена коммерческой информацией между 1С и интернет-магазинами. Через него передают каталоги, предложения и заказы. Это классический способ обмена с 1С-Битрикс. Для кастомных сайтов и сценариев, где данные нужны почти в реальном времени, чаще выбирают API или HTTP-сервисы.

Сам формат не решает вопросы бизнес-логики. Разработчикам все равно нужно определить, как сопоставлять характеристики, склады, типы цен, статусы и идентификаторы товаров.

API и HTTP-сервисы

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

Платформа позволяет создавать собственные HTTP-сервисы. Разработчик определяет адреса методов, формат запросов, состав ответов и правила обработки ошибок. У 1С есть и штатный интерфейс OData — готовый REST API, который платформа создает автоматически. Через него внешние приложения могут читать данные, а при наличии прав — создавать и изменять объекты.

Открывать наружу весь состав объектов не всегда безопасно. Для бизнес-критичных процессов чаще создают ограниченный интерфейс с конкретными методами и проверками.

Web-сервисы и обмен файлами

SOAP применяют там, где обмен строится на формальном контракте и XML-схемах. Такой вариант встречается в интеграциях со строгими требованиями к структуре сообщений.

CSV, XML и JSON подходят для простого регламентного обмена. Одна система формирует файл, другая забирает его по расписанию. Метод легко проверить вручную, но он хуже подходит для оперативных сценариев.

Интеграционная шина

Интеграционная шина нужна, когда систем много и прямые связи между 1С и каждым сервисом превращаются в паутину. Шина принимает сообщения, преобразует форматы, направляет данные нужной системе и сохраняет журнал операций. Теперь разберем типовые бизнес-сценарии.

Интеграция 1С с маркетплейсами

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

Для Ozon, Wildberries и Яндекс Маркета обычно настраивают:

  • передачу цен и скидок
  • выгрузку остатков по складам
  • загрузку новых заказов
  • обновление статусов сборки и отгрузки
  • получение информации о возвратах
  • загрузку отчетов и данных о комиссиях
  • создание и обновление карточек — если это поддерживает модуль и сценарий площадки

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

  • товар хранится и отгружается со склада маркетплейса
  • товар хранится у продавца, а доставку организует площадка
  • продавец хранит товар и сам доставляет заказ покупателю

Wildberries предоставляет продавцам HTTP REST API для управления магазином и получения оперативной и статистической информации. Состав методов и ограничения опубликованы в официальной документации WB API. API маркетплейсов меняются, поэтому интеграцию нельзя считать законченной после запуска.

Если компания продает один товар на нескольких площадках, нужно учитывать резервирование, склады и приоритет источников. Иначе две площадки могут принять заказ на последнюю единицу.

Готовый модуль подойдет продавцу с одним юридическим лицом, стандартным учетом и небольшим каталогом. Разработка нужна при нескольких кабинетах, складах или организациях, а также при собственных правилах цен и сборки заказов.

Интеграция 1С с банком и эквайрингом

Клиент-банк (DirectBank)

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

Для такого обмена существует технология DirectBank. Она позволяет отправлять и получать документы непосредственно из программы 1С, без отдельного запуска клиент-банка и промежуточных файлов.

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

Эквайринг и онлайн-оплата

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

Интеграция кассы с 1С

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

В офлайн-магазине касса обычно работает рядом с 1С. Кассир оформляет продажу, система передает позиции и способ оплаты, после чего ККТ печатает чек. В интернет-магазине платеж проходит на сайте, информация поступает в облачную кассу, а данные о чеке возвращаются в учетный контур.

При проектировании проверяют:

  • соответствие товарных позиций и ставок НДС
  • разделение наличной и безналичной оплаты
  • частичные оплаты, возвраты и отмены
  • повторную отправку при сбое
  • связь чека с заказом
  • работу нескольких касс и юридических лиц

Если компания использует сертифицированное оборудование и стандартный процесс продажи, хватит штатного подключения. Разработка требуется для сложных схем оплаты, нескольких витрин, бонусных программ и нестандартных возвратов.

Интеграция 1С с сайтом и интернет-магазином

Интеграция 1С с сайтом и интернет-магазином строится вокруг двух потоков. Из 1С на сайт передаются товары, характеристики, цены и остатки. Обратно поступают заказы, данные покупателей, способы доставки и оплаты.

Сложность создают различия в моделях данных. В 1С товар может иметь несколько характеристик, единиц измерения и типов цен. На сайте ему нужны человекопонятный адрес, изображения, SEO-текст, фильтры и торговые предложения.

Нельзя синхронизировать все поля в обе стороны без правил. Лучше заранее определить, где сотрудники редактируют каждый тип информации. Например, остатки и учетные цены ведут в 1С, а SEO-описания и фотографии на сайте.

Кейс: связали несколько интернет-магазинов с единой базой 1С:УТ

Группа компаний федерального уровня продает профессиональные beauty-товары через 4–5 интернет-магазинов. В контур входят флагманский российский сайт, отдельные бренды и европейское направление. Все магазины работают на 1С-Битрикс, а товары и заказы учитываются в единой системе на базе 1С:Управление торговлей.

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

Мы настроили и сопровождаем двусторонний обмен:

  • из 1С на сайты передаются товары, цены и остатки
  • заказы из интернет-магазинов возвращаются в учетную систему
  • конфигурация 1С:УТ учитывает процессы группы
  • после обновлений команда проверяет обмен и устраняет несовместимости
  • изменения сайтов и учетной системы тестируются в одном контуре

Сотрудничество продолжается 8–10 лет. За 2023–2026 годы команда выполнила 47 отдельных заказов на развитие 1С, интернет-магазинов и механизмов обмена. Кейс показывает границу между настройкой и разработкой. Готовый модуль подходит для стандартной выгрузки каталога и загрузки заказов. Если у компании несколько сайтов, собственное ценообразование и доработанная 1С, интеграцию проектируют и сопровождают как отдельную систему.

Интеграция с облачной 1С

Интеграция с облачной 1С зависит от возможностей выбранного сервиса. В 1С:Фреш OData работает как штатный REST API: через него можно читать и записывать данные приложений. Для кастомизации используют разрешенные расширения конфигурации.

До начала работ нужно проверить, можно ли устанавливать расширения, доступен ли требуемый интерфейс, какие ограничения действуют для фоновых заданий и как организована авторизация.

В локальной 1С команда контролирует сервер и конфигурацию. В облаке часть инфраструктуры остается у провайдера, поэтому не все сценарии переносятся без изменений. Иногда хватает OData или расширения. Для более сложного обмена используют отдельный промежуточный сервис.

Как проектируют интеграцию с 1С

Настройка интеграции с 1С проходит по одному пути: обследование, карта обмена, тестовый контур, поэтапный запуск и мониторинг.

  • Описываем системы и процесс

    Фиксируем участников обмена, версии конфигураций, доработки и ответственных. Затем разбираем реальный процесс: от появления товара или заказа до закрывающего документа.

  • Определяем владельцев данных

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

  • Составляем карту обмена

    В карте указываем источник и получателя, сущности и поля, направление передачи, периодичность, правила преобразования и реакцию на ошибку.

  • Выбираем способ интеграции

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

  • Создаем тестовый контур

    Интеграцию нельзя впервые проверять на реальных заказах и платежах. Нужны тестовые данные, отдельные учетные записи и сценарии ошибок.

  • Запускаем поэтапно и настраиваем мониторинг

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

Типичные проблемы интеграции с 1С

  • Дубли данных

    Повторная отправка создает второй заказ или документ. Чтобы этого не происходило, используют внешние идентификаторы и проверяют, обрабатывалось ли сообщение раньше.

  • Расхождения в справочниках

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

  • Неверное направление обмена

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

  • Обновление одной из систем

    После обновления может измениться структура данных, формат ответа или доступность метода. Поэтому интеграции включают в регрессионное тестирование каждого релиза.

  • Нет обработки ошибок

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

  • Слишком широкий доступ

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

  • Нет единого технического владельца

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

Когда достаточно готового модуля

Готовое решение подходит, если используется типовая конфигурация 1С, внешняя система официально ее поддерживает, процесс соответствует стандартному сценарию, а бизнес готов работать в рамках возможностей модуля.

Даже в таком проекте нужны настройка, тестирование и контроль первого обмена. Установить модуль недостаточно.

Когда нужна разработка интеграции

Разработка интеграции нужна, если:

  • конфигурация 1С существенно доработана
  • одновременно работают несколько сайтов или кабинетов
  • данные проходят через несколько юридических лиц
  • нужны собственные правила цен, резервов и статусов
  • типовой модуль не передает часть сущностей
  • обмен должен работать близко к реальному времени
  • нужно связать 1С с внутренним веб-сервисом или личным кабинетом

Здесь начинается работа «Аддамант». Мы проектируем весь контур: разбираем процесс, определяем владельцев данных, разрабатываем интеграцию на стороне 1С и веб-системы, создаем тестовые сценарии и сопровождаем обмен после запуска.

От чего зависит стоимость интеграции с 1С

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

Два проекта с одинаковой формулировкой «интеграция сайта с 1С» могут отличаться по объему в несколько раз. В одном случае достаточно настроить CommerceML. В другом нужно синхронизировать несколько магазинов, склады, типы цен, бонусы, возвраты и разные юридические лица.

Условно можно выделить три масштаба проекта:

  • один сайт, типовой каталог и стандартная загрузка заказов
  • несколько витрин, собственные цены, склады и несколько организаций
  • единый контур с сайтами, маркетплейсами, банками и кассами

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

Когда интеграцию лучше отложить

Интеграция не исправит неописанный процесс. Проект лучше отложить, если компания не определила, где ведутся товары, цены и остатки, а сотрудники продолжают менять одни данные в нескольких системах.

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

Не стоит сразу строить интеграционную шину для одной простой связки. Архитектура должна соответствовать масштабу задачи. Иногда надежный регламентный обмен закрывает потребность лучше сложной системы в реальном времени.

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

  • Можно ли интегрировать 1С с любой внешней системой?

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

  • Что лучше: готовый модуль или API-интеграция с 1С?

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

  • Можно ли связать 1С одновременно с Ozon и Wildberries?

    Да. При этом нужно определить единый источник остатков, настроить резервирование и учитывать разные модели работы площадок.

  • Можно ли интегрировать облачную 1С?

    Да, но способы зависят от сервиса и тарифа. В 1С:Фреш можно использовать OData — штатный REST API — и разрешенные расширения. До проектирования нужно проверить права, фоновые задания и ограничения выбранного тарифа.

  • Кто должен поддерживать интеграцию после запуска?

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

  • Сколько занимает интеграция с 1С?

    Срок зависит от количества систем, сущностей и нестандартных правил. Точный план появляется после обследования и подготовки карты обмена. Перед первой встречей проверьте готовность по чек-листу ниже.

Чек-лист готовности к интеграции 1С

Перед стартом проверьте готовность проекта:

⚡ Интерактивно · 2 минуты

Оцените готовность к интеграции 1С

Шкала покажет, насколько проект готов к обследованию и разработке. Чем больше вопросов закрыто заранее, тем точнее оценка сроков и бюджета.

1Владельцы и системы

0 из 2
  • назначить бизнес-владельца процесса и технического владельца интеграции
  • составить список систем, конфигураций 1С и собственных доработок

2Данные и обмен

0 из 3
  • определить главную систему для товаров, цен, остатков, заказов и платежей
  • описать направления обмена, состав полей и допустимую задержку
  • проверить справочники, дубли и правила сопоставления идентификаторов

3Доступы и тестирование

0 из 2
  • получить документацию API, тестовые доступы и ограничения внешних сервисов
  • подготовить тестовый контур и обезличенные примеры данных

4Надежность и запуск

0 из 3
  • описать ошибки, повторные попытки и действия при частичной загрузке
  • определить журналирование, мониторинг и ответственных за инциденты
  • согласовать критерии запуска, сверку результатов и план отката

Обсудим интеграцию с 1С

Если типовой модуль не закрывает процесс, сначала разберем архитектуру и определим границы разработки. Проверим конфигурацию 1С, внешние API, состав данных и требования к отказоустойчивости.

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

Ищете подрядчика на проект?

Разрабатываем и сопровождаем продукты любой сложности

Рассчитать стоимость

Больше о новостях и жизни компании рассказываем в Телеграм

Илья Лебёдкин , СЕО

Перейти
Больше статей