При виставленні комерційної пропозиції або рахунку в Бітрікс24 менеджер обирає товари з каталогу CRM. Цей каталог — окрема сутність, ніяк не пов'язана з 1С за замовчуванням. Без налаштування синхронізації ціни застарівають, залишки не збігаються, нові позиції доводиться створювати вручну. Ми розробляємо та впроваджуємо автоматичний обмін товарними позиціями між 1С та Бітрікс24 під ключ — від аналізу існуючої номенклатури до запуску агента синхронізації. Наш досвід 5+ років та 50+ проєктів гарантує, що інтеграція працюватиме стабільно та без втрати даних.
Каталог товарів у CRM Бітрікс24
CRM-каталог зберігається в таблицях b_crm_product (позиції) та b_crm_product_section (розділи). Це не той самий каталог, що використовується в модулі інтернет-магазину sale — це окрема структура, специфічна для CRM. Доступ через REST: crm.product.list, crm.product.get, crm.product.add, crm.product.update.
Кожен товар має поля: NAME, PRICE, CURRENCY_ID, DESCRIPTION, XML_ID. Поле XML_ID — ключове для синхронізації: саме через нього встановлюється відповідність між позицією в CRM та номенклатурою в 1С.
Як відбувається обмін: напрямки та обсяг даних
Зазвичай обмін іде в один бік: 1С → Бітрікс24. 1С є мастер-системою для номенклатури та цін, CRM отримує оновлення. Зворотний обмін (менеджер додав товар у CRM — з'явився в 1С) зустрічається рідко та потребує додаткової бізнес-логіки.
З 1С до Бітрікс24 передаються такі дані:
| Дані | Коментар |
|---|---|
| Найменування товару | Як відображається в КП та рахунку |
| Артикул / XML_ID | Ідентифікатор для зіставлення |
| Ціна (одна або кілька типів цін) | Роздріб, опт, дилер |
| Одиниця виміру | шт, кг, м тощо |
| Розділ/група | Структура каталогу |
| Ознака активності | Зняті з продажу товари |
Залишки в CRM-каталог зазвичай не передаються — вони потрібні в каталозі інтернет-магазину, а не в CRM.
Як обрати механізм синхронізації: REST API чи CommerceML?
Варіант 1: REST API. Скрипт або сервіс на стороні 1С (через зовнішній компонент обміну) викликає методи Бітрікс24:
-
crm.product.listз фільтром поXML_ID— перевірити, чи існує товар. -
crm.product.update— оновити ціну та дані існуючого. -
crm.product.add— додати новий товар.
Пакетні операції виконуються через batch-запити REST API (до 50 методів в одному запиті), що прискорює синхронізацію великих каталогів. REST API швидший за CommerceML на 30% при синхронізації 1000+ товарів завдяки пакетній обробці.
Варіант 2: Штатний модуль 1С-Бітрікс24. Використовується CommerceML-вивантаження з 1С. У цьому випадку синхронізується каталог інтернет-магазину (якщо він є), а CRM-каталог може наповнюватися з нього через додатковий скрипт — компонент обміну створює/оновлює записи в b_crm_product на основі даних з b_iblock_element.
Порівняння підходів:
| Параметр | REST API | CommerceML |
|---|---|---|
| Швидкість | Висока, batch-запити | Середня, повне вивантаження |
| Гнучкість | Повний контроль полів | Обмежений стандартом |
| Складність реалізації | Скрипти на 1С або PHP | Готове вивантаження з 1С |
| Коли використовувати | Нестандартна логіка, великий каталог | Типова інтеграція |
Як обробляти кілька типів цін?
Якщо в 1С кілька типів цін (роздріб, опт), у Бітрікс24 CRM також можна зберігати кілька цін через властивості товару або через прайс-листи модуля каталогу. Для CRM-угод використовується лише базова ціна товару — менеджер змінює її вручну в позиції. Якщо потрібні автоматичні типи цін у CRM, знадобиться доробка. На практиці ми частіше рекомендуємо використовувати REST API з передачею двох цін та вибором потрібної на рівні угоди.
Періодичність обміну та автоматизація
- Каталог і ціни — раз на день достатньо для більшості бізнесів. Якщо ціни змінюються кілька разів на день — кожні 1-2 години.
- Запуск — через агенти Бітрікс (
\CAgent::AddAgent) або cron.
Докладніше про налаштування агентів
Агенти Бітрікс виконуються при кожному хіті. Для синхронізації великих каталогів краще використовувати cron, щоб не навантажувати користувацький запит. Приклад команди:
php -f /path/to/bitrix/modules/main/tools/cron_events.php Що входить у налаштування обміну
У рамках проєкту ми надаємо:
- Аналіз структури номенклатури в 1С та CRM.
- Розробку або адаптацію скрипта обміну (REST або CommerceML).
- Налаштування агентів або cron-завдань для періодичної синхронізації.
- Документацію щодо схеми обміну та полів.
- Навчання менеджерів роботі з каталогом CRM.
- Гарантійну підтримку після запуску.
Покрокова інструкція налаштування обміну
- Перевірте, що в 1С для кожної номенклатури заповнений артикул (XML_ID) і він унікальний.
- У Бітрікс24 створіть або перевірте структуру розділів CRM-каталогу.
- Оберіть механізм синхронізації: REST API або CommerceML.
- Реалізуйте скрипт обміну (на стороні 1С або PHP-агент).
- Протестуйте синхронізацію на тестових даних.
- Налаштуйте періодичний запуск (агенти або cron).
- Навчіть менеджерів роботі з оновленим каталогом.
Чому варто довірити інтеграцію інженерам з досвідом?
Некоректна синхронізація призводить до помилок у документах, задвоєнню товарів та втрати часу. Сертифіковані спеціалісти з 5+ роками досвіду використовують перевірені підходи. Понад 50 успішних проєктів — наша гарантія якості.
Як довго та скільки коштує?
Орієнтовний термін налаштування — від 4 до 8 годин при чистому каталозі з коректними XML_ID в 1С. Якщо потрібна доробка 1С або міграція даних — терміни збільшуються. Вартість розраховується індивідуально після аудиту вашої інфраструктури.
Зв'яжіться з нами для безкоштовної консультації щодо вашого проєкту. Замовте аудит поточної інтеграції та отримайте пропозицію з точними термінами.







