Розробка кастомних звітів CRM Бітрікс24

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Розробка кастомних звітів CRM Бітрікс24
Середня
~1-2 тижні
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Розробка кастомних звітів CRM Бітрікс24

Вбудований конструктор звітів Бітрікс24 не вміє: об'єднувати дані з CRM з даними із 1С-Бітрікс, будувати когортний аналіз клієнтів, рахувати LTV або RFM-сегменти. Для цього потрібна розробка — через BI-конектор, REST API або власні таблиці в PostgreSQL.

Підходи до розробки кастомних звітів

BI-конектор Бітрікс24 — офіційний спосіб підключити зовнішній BI-інструмент (Power BI, Tableau, Google Looker Studio) до даних Бітрікс24. Дані видаються через REST у вигляді плоских таблиць. Схема фіксована, розширити не можна.

REST API + власна БД — через методи crm.deal.list, crm.contact.list, crm.lead.list дані вивантажуються у зовнішню базу даних (PostgreSQL, ClickHouse). Там будуються довільні звіти. Повний контроль над структурою та оновленням даних.

Кастомний компонент всередині Бітрікс24 — для коробкових версій: PHP-компонент у /local/components/ рендерить звіт прямо в інтерфейсі Бітрікс24. Дані беруться безпосередньо з таблиць БД.

BI-конектор: можливості та обмеження

Підключення: Бітрікс24 → BI Аналітика → Підключити BI-інструмент. Генерується URL з токеном для підключення з Power BI або Looker Studio.

Доступні набори даних:

  • Угоди з полями (включаючи UF_CRM_*)
  • Ліди
  • Контакти та компанії
  • Активності (дзвінки, листи, зустрічі)
  • Користувачі

Обмеження: дані оновлюються із затримкою (не realtime), немає зв'язку із зовнішніми системами, не можна додати обчислювані поля на стороні Бітрікс24.

Розробка через REST API + зовнішня БД

Це найпотужніший підхід. Схема синхронізації:

Cron (кожні 15 хв) → REST API Бітрікс24 → Парсинг → PostgreSQL
                                                          ↓
                                              BI-інструмент або веб-застосунок

Приклад вивантаження угод з пагінацією:

$start = 0;
do {
    $result = $client->call('crm.deal.list', [
        'order'  => ['DATE_MODIFY' => 'DESC'],
        'filter' => ['>=DATE_MODIFY' => $lastSyncDate],
        'select' => ['ID', 'TITLE', 'STAGE_ID', 'OPPORTUNITY', 'ASSIGNED_BY_ID',
                     'SOURCE_ID', 'DATE_CREATE', 'CLOSEDATE',
                     'UF_CRM_CUSTOM_FIELD1', 'UTM_SOURCE', 'UTM_CAMPAIGN'],
        'start'  => $start,
    ]);

    foreach ($result['result'] as $deal) {
        upsert_deal($pdo, $deal); // INSERT ON CONFLICT UPDATE
    }

    $start = $result['next'] ?? null;
} while ($start !== null);

Ліміт REST API: 2 запити/сек на хмарних порталах. При великому обсязі даних використовують batch-метод: до 50 запитів в одному HTTP-виклику.

Когортний аналіз клієнтів

Завдання: розбити клієнтів на когорти (місяць першої покупки) і відстежити їхні повторні покупки. У Бітрікс24 «з коробки» це неможливо.

Рішення через зовнішню БД:

-- Когортний аналіз повторних покупок
WITH first_deal AS (
    SELECT
        contact_id,
        DATE_TRUNC('month', MIN(closedate)) AS cohort_month
    FROM deals
    WHERE stage_id = 'WON'
    GROUP BY contact_id
),
deals_with_cohort AS (
    SELECT
        d.contact_id,
        f.cohort_month,
        DATE_TRUNC('month', d.closedate) AS deal_month,
        d.opportunity
    FROM deals d
    JOIN first_deal f ON d.contact_id = f.contact_id
    WHERE d.stage_id = 'WON'
)
SELECT
    cohort_month,
    deal_month,
    COUNT(DISTINCT contact_id) AS customers,
    SUM(opportunity)           AS revenue
FROM deals_with_cohort
GROUP BY cohort_month, deal_month
ORDER BY cohort_month, deal_month;

Результат підключається до Looker Studio або візуалізується у власному веб-застосунку.

Реальний кейс: аналітика B2B-продажів

Завдання: дистриб'ютор, 500+ активних клієнтів. Потрібен звіт: топ-клієнти за виручкою за квартал з динамікою до попереднього кварталу, сегментація за ABC-аналізом, прогноз pipeline на наступний квартал на основі поточних відкритих угод.

Проблема: дані про виручку частково в Бітрікс24 (угоди), частково в 1С-Бітрікс (оплати). Невідповідність: в угоді сума КП, в 1С — фактично відвантажена сума.

Рішення:

  1. Синхронізація угод з Бітрікс24 в PostgreSQL через REST API (кожні 30 хв)
  2. Синхронізація реалізацій з 1С-Бітрікс через COM-об'єкт (раз на годину)
  3. Зв'язка по полю UF_CRM_1C_CONTRACT_ID — кастомне поле в угоді з посиланням на договір 1С-Бітрікс
  4. Матеріалізовані представлення PostgreSQL для попередньої агрегації по періодах
  5. Looker Studio підключений до PostgreSQL через конектор

Результат: звіти оновлюються кожні 30 хвилин, керівництво бачить актуальну картину без ручного вивантаження з двох систем.

Технічне зауваження: поля UF_CRM_* не повертаються в crm.deal.list автоматично — їх потрібно явно вказувати в select. Список усіх UF-полів отримують через crm.deal.fields.

Терміни розробки

Завдання Час
Налаштування BI-конектора + дашборди в Looker Studio 3–5 днів
REST API синхронізація + зовнішня БД 5–7 днів
Розробка SQL-аналітики (когорти, LTV, ABC) 3–5 днів
Кастомний PHP-компонент всередині Бітрікс24 5–10 днів

Повний проект кастомної аналітики — 1–2 тижні залежно від джерел даних та складності метрик.