Розробка системи шаблонів договорів Бітрікс24

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

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

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

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

  • 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

Розробка системи шаблонів договорів Бітрікс24

Підготовка договору вручну — це 30–60 хвилин копіювання даних із CRM у Word, правки реквізитів, перезбереження і пересилання. Помножено на 50 договорів на місяць — це повна ставка співробітника. Система шаблонів договорів у Бітрікс24 скорочує генерацію договору до 2 хвилин.

Вбудована функціональність: генератор документів CRM

Бітрікс24 має вбудований модуль CRM → Документи з генерацією документів із шаблонів. Шаблони створюються у форматі DOCX із мітками-змінними, які замінюються даними з картки CRM.

Вбудовані змінні для угоди:

{=Document.TITLE}           - Назва угоди
{=Document.OPPORTUNITY}     - Сума угоди
{=Document.CONTACT.NAME}    - Ім'я контакту
{=Document.COMPANY.TITLE}   - Назва компанії
{=Document.UF_CRM_XXXXX}    - Користувацьке поле

Обмеження вбудованого модуля: немає умовного форматування (різний текст залежно від типу договору), немає циклів за товарними позиціями, немає складних обчислень.

Розширена система через зовнішній генератор

Для серйозних вимог до договорів (кілька типів, умовні блоки, специфікації) потрібен зовнішній генератор — PHP-скрипт або сервіс, який формує DOCX/PDF за шаблоном із розширеною логікою.

Стек для генерації DOCX: PhpWord (відкрита бібліотека) + кастомний препроцесор шаблонів.

use PhpOffice\PhpWord\TemplateProcessor;

function generateContract($dealId, $templatePath) {
    // Отримуємо дані угоди з Бітрікс24
    $deal = CRest::call('crm.deal.get', ['id' => $dealId])['result'];
    $contact = CRest::call('crm.contact.get',
        ['id' => $deal['CONTACT_ID']])['result'];
    $company = CRest::call('crm.company.get',
        ['id' => $deal['COMPANY_ID']])['result'];

    $template = new TemplateProcessor($templatePath);

    // Підстановка даних
    $template->setValue('CONTRACT_NUMBER', generateContractNumber($dealId));
    $template->setValue('CONTRACT_DATE', date('d.m.Y'));
    $template->setValue('CLIENT_NAME', $company['TITLE']);
    $template->setValue('CLIENT_INN', $company['UF_CRM_INN']);
    $template->setValue('AMOUNT', number_format($deal['OPPORTUNITY'], 2, '.', ' '));
    $template->setValue('AMOUNT_WORDS', amountToWords($deal['OPPORTUNITY']));

    // Умовний блок: ПДВ або без ПДВ
    if ($deal['UF_CRM_VAT'] === 'Y') {
        $template->setValue('VAT_BLOCK', 'у тому числі ПДВ 20%: ' .
            number_format($deal['OPPORTUNITY'] * 0.2, 2));
    } else {
        $template->setValue('VAT_BLOCK', 'ПДВ не оподатковується');
    }

    $outputPath = '/tmp/contract_' . $dealId . '.docx';
    $template->saveAs($outputPath);

    return $outputPath;
}

Інтеграція з карткою CRM

Кнопка «Сформувати договір» у картці угоди — через placement-застосунок:

// JS SDK Бітрікс24 у placement CRM_DEAL_TOOLBAR
BX24.callMethod('crm.deal.get', {id: currentDealId}, function(result) {
    const deal = result.data();
    // Виклик вашого endpoint генерації
    fetch('/api/generate-contract', {
        method: 'POST',
        body: JSON.stringify({dealId: deal.ID, templateId: selectedTemplate})
    })
    .then(r => r.blob())
    .then(blob => {
        // Зберігаємо готовий документ назад у угоду
        uploadFileToDeal(blob, deal.ID);
    });
});

Після генерації файл прикріплюється до угоди через crm.deal.update з полем UF_CRM_FILES і одночасно створюється активність «Договір сформовано» в таймлайні.

Електронний підпис і погодження

Наступний крок після генерації — процес погодження і підписання. Два варіанти:

Внутрішнє погодження через бізнес-процес: юрист → фінансовий директор → генеральний директор. Запускається автоматично при зміні статусу договору в CRM.

Електронний підпис через інтеграцію з СБІС, Контур.Підпис або DocuSign. Договір надсилається клієнту на підпис, статус (підписано/відхилено) синхронізується назад у CRM.

Система шаблонів окупається за 2–3 місяці лише на економії часу. Плюс зникають помилки ручного копіювання реквізитів — а це репутаційні ризики при підписанні договорів із некоректними даними.