В одной оптовой компании менеджеры каждое утро проверяли оплаты так: открывали 1С:УТ 11, искали счёт по номеру, возвращались в amoCRM и переносили сделку в «Оплачено». На 40 сделок уходило около часа у каждого из шести менеджеров. Обмен между системами при этом был настроен, но передавал только контрагентов.

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

Что синхронизировать

Список объектов почти всегда один и тот же, разница в деталях.

ОбъектНаправлениеЧастотаКто ведёт
Контрагенты и договорыCRM → 1С, реквизиты обратнопри создании и измененииКарточку заводит менеджер, реквизиты проверяет бухгалтерия
Номенклатура1С → CRMраз в час или по изменению1С
Цены и виды цен1С → CRMраз в час, при смене прайса сразу1С
Остатки и резервы1С → CRMкаждые 5–15 минут1С
Заказ покупателяCRM → 1Ссразу после подтвержденияCRM до передачи, дальше 1С
Счёт на оплату1С → CRM, номер и PDFсразу1С
Оплаты1С → CRMпосле разноски выписки1С
Отгрузки и УПД1С → CRMпри проведении документа1С

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

Когда заказ уходит в 1С

Самый спорный вопрос в проекте. Варианта три:

  • При создании сделки. В 1С копятся черновики, которые потом никто не удаляет. Мы так не делаем.
  • При выставлении счёта. Удобно, если счёт печатают из 1С. Менеджер нажимает кнопку в CRM, через 10–20 секунд в сделке появляются номер счёта и PDF.
  • После оплаты. Подходит, если склад работает по предоплате и заказ без денег ему не нужен.

После передачи состав заказа в CRM блокируется. Если клиент меняет количество, менеджер создаёт корректировку, и она тоже уходит в 1С. Иначе в CRM будет 100 штук, в 1С 80, а отгрузят 90.

Частота: что нужно в реальном времени

Мгновенно нужны две вещи: подтверждение, что заказ создан в 1С, и номер счёта. Менеджер ждёт их, пока клиент на телефоне. Остатки достаточно обновлять раз в 5–15 минут, если в момент резерва CRM ещё раз запрашивает 1С. Номенклатуру и цены раз в час. Оплаты появляются, когда бухгалтер загрузил выписку и разнёс её, обычно 2–3 раза в день, и ускорять это обменом бессмысленно.

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

Подводные камни

Дубли контрагентов

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

Номенклатура с характеристиками

В 1С:УТ 11 у товара бывают характеристики и упаковки: «краска белая, 10 л, ведро». Если CRM знает только наименование, заказ уйдёт без характеристики и встанет при проведении. Передавать нужно идентификатор характеристики и единицу измерения.

Частичная отгрузка

Заказ на 10 позиций отгружают в два захода. В CRM нужен статус «Отгружен частично» и список того, что осталось. Иначе менеджер закроет сделку после первой УПД.

Обновления типовой конфигурации

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

Ошибки без адресата

Заказ не создался в 1С, потому что у контрагента не заполнен договор. Если об этом знает только лог на сервере, менеджер узнает через три дня от клиента. Каждая ошибка обмена должна приходить конкретному человеку с понятным текстом: «не заполнен договор, заказ № 1452 не передан».

Две базы 1С

Часто управленческий учёт ведётся в 1С:УТ 11, а бухгалтерия в 1С:Бухгалтерии 3.0 с типовой синхронизацией между ними. Тогда CRM обменивается только с УТ, дальше работает штатный обмен. Если писать в обе базы напрямую из CRM, документы задвоятся.

Пометка на удаление

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

Готовый коннектор или своя интеграция

Для amoCRM и Битрикс24 есть готовые модули обмена с 1С. С типовым набором они справляются: контрагенты, номенклатура, заказ, оплата. Если у вас один склад, нет характеристик и частичных отгрузок, начните с готового модуля.

Своя интеграция нужна, когда есть нестандартные документы, несколько организаций в одной базе, сильно доработанная 1С или когда сама CRM написана под ваш процесс. По срокам это обычно 3–6 недель вместе с тестированием на копии рабочей базы.

Перед стартом

  1. Возьмите 20 последних заказов и проследите путь каждого: где создан, где выставлен счёт, где отмечены оплата и отгрузка.
  2. Составьте таблицу полей и назначьте владельца каждому.
  3. Уточните у главбуха, какие документы он хочет формировать только в 1С.
  4. Сделайте копию рабочей базы 1С для тестов. Проверять обмен на рабочей нельзя.

Если обмен у вас уже есть, но работает наполовину, можно написать нам в Telegram @automationdev24: опишите процесс, и мы скажем, хватит ли доработки текущей системы или нужна своя.

Узнали свою ситуацию?

Опишите в Telegram, как у вас сейчас идут заявки и учёт. Скажем, хватит ли доработки вашей CRM или лучше собрать свою систему. Первая консультация бесплатная.

Написать в Telegram