Шаблони документів
Блок дозволяє завантажити власні шаблони у форматі .docx — рахунки, акти, комерційні пропозиції, договори — і потім формувати з них готові документи в один клік прямо з картки транзакції, ліда чи пропозиції. Дані підставляються автоматично, а готовий файл одразу зберігається у відповідній сутності.
Список шаблонів
Усі завантажені шаблони виводяться таблицею з колонками:
- Назва — назва шаблону, під якою він зʼявиться у списку під час генерації.
- Тип — сутність, для якої призначено шаблон: Транзакція, Лід або Пропозиція.
- Мова — мова документа: Українська чи Англійська.
- Користувач — хто додав шаблон.
Праворуч у кожному рядку — три дії: «» завантажити файл шаблону, «» редагувати, «» видалити.

Редагування відбувається прямо в таблиці: після натискання «» рядок стає редагованим — можна змінити назву, тип і мову, після чого підтвердити «✓» або скасувати «✕».

Зверніть увагу
У режимі редагування змінюються лише назва, тип і мова — замінити сам файл шаблону не можна. Щоб оновити вміст документа, завантажте шаблон заново та видаліть застарілий.
Додавання шаблону
Натисніть «+» (тултип «Додати») у правому верхньому куті блока. Відкриється вікно «Додати шаблон»:
- Назва шаблону (обовʼязково) — під цією назвою шаблон зʼявиться у списку вибору під час генерації документа.
- Тип — Транзакція, Лід або Пропозиція. Визначає, з якої сутності генерується документ і які дані підставляються.
- Мова — мова готового документа.

Блок-підказка «Підготовка шаблону документа» нагадує, що файл має бути у форматі .docx і містити поля для автоматичного заповнення. Звідси ж завантажуються два допоміжні файли — вони змінюються залежно від вибраного типу:
- приклад шаблону: для транзакції — «Рахунок.docx», для ліда та пропозиції — «Комерційна пропозиція.docx»;
- «Інструкція з шаблону.docx» — довідник доступних полів і синтаксису.



Зверніть увагу
Обидва файли — і приклад, і інструкція — різні для кожного типу. Перемкніть «Тип» перед тим, як їх завантажувати: для ліда та пропозиції приклад називається однаково («Комерційна пропозиція.docx»), але містить різні поля.
Нижче — зона завантаження: перетягніть файл або виберіть його вручну. Обмеження — формат .docx, розмір до 10 МБ. Завантажений файл відображається чипом, хрестик на ньому прибирає файл. Кнопка «Додати» активується лише після того, як заповнено назву й завантажено файл.

Зверніть увагу
Найшвидший шлях — завантажити приклад для потрібного типу, відкрити у Word або Google Docs і замінити текст на свій, лишивши поля-плейсхолдери на місцях.
Як влаштований шаблон
Замість реальних значень у документі стоять плейсхолдери у фігурних дужках — під час генерації система підставляє в них дані з системи.
Набір доступних полів залежить від типу шаблону. Шаблон транзакції, ліда й пропозиції звертається до різних сутностей, тож поля з одного типу не працюють в іншому. Актуальний перелік завжди є у файлі «Інструкція з шаблону.docx» — він відрізняється для кожного типу.
Спільні правила
Модифікатор capitalize повертає значення з великої літери: {capitalize(date.monthWord)} замість «серпень» дасть «Серпень».
Модифікатори до сум. Поля з цінами приймають уточнення формату:
- .number — числове значення
- .integer — тільки ціла частина
- .integerWords — ціла частина прописом
- .fractional — копійки числом
- .fractionalWords — копійки прописом
Наприклад, {$quote.amount.integerWords}. Модифікатор не обовʼязковий — без нього поле поверне значення у стандартному форматі, — але вказувати його варто завжди: так ви точно знаєте, що потрапить у документ. У таблицях нижче такі поля позначені зірочкою (*).
Цикли розмножують фрагмент документа на кожен елемент списку. Відкривальний і закривальний теги обовʼязково парні, усередині циклу до елемента звертаються через префікс $:
{FOR item IN items}
{$item.name} — {$item.quantity}
{END-FOR item}
Цикли працюють і в таблицях Word: помістіть {FOR ...} та {END-FOR ...} в окремі рядки таблиці, а між ними — рядок із полями позиції.
Нумерація рядків: {$idx + 1} усередині циклу за позиціями (сам $idx рахує з нуля).
Зображення позиції: {IMAGE getImage($item.image, ширина, висота)} — замість ширини й висоти вкажіть цілі числа.
Кастомні поля підставляються за назвою в квадратних дужках і доступні на кількох рівнях:
- Лід — {customFields['Назва поля']}
- Клієнт (у ліді) — {client.customFields['Назва поля']}
- Контрагент (у транзакції) — {counterparty.customFields['Назва поля']}
- Позиція пропозиції — {$item.customFields['Назва поля']}
- Клієнт пропозиції — {$client.customFields['Назва поля']}
Назва має точно збігатися з назвою поля в системі — з урахуванням регістру та пробілів. Використовуйте прямі апострофи ', а не друкарські лапки: Word підставляє їх автоматично, тож вимкніть автозаміну чи вставляйте символ вручну.
Шаблон типу «Транзакція»
- Сума — {amount}*
- Курси — {amountByRate}* — сума у валюті компанії, {recipientAmountByRate}* — у валюті рахунку
- Дата — {date.day}, {date.month}, {date.monthWord}, {date.year}
- Інше — {comment} — коментар до транзакції
- Рахунок компанії — {account.name}, {account.bank}, {account.iban}, {account.legalAddress}, {account.registrationNumber}
- Контрагент — {counterparty.name}, {counterparty.email}, {counterparty.phone}. Лише для клієнтів: {counterparty.iban}, {counterparty.bank}, {counterparty.address}, {counterparty.registrationNumber}
Якщо до транзакції додано пропозицію, вона доступна через {quote}: {quote.name}, {quote.description}, {quote.amount}*, {quote.amountByDiscount}*, {quote.currency.code}, {quote.currency.symbol}.
Шаблон типу «Лід»
- Лід — {name} — назва, {description} — опис
- Сума — {amount}*
- Валюта — {currency.code} (напр. USD), {currency.symbol} (напр. $), {exchangeRate} — курс до валюти компанії
- Дата — {date.day}, {date.month}, {date.monthWord}, {date.year}
- Контакт — {contactName} — контактна особа, {phone}, {email} — телефон і пошта, привʼязані до ліда
- UTM-мітки — {utmSource}, {utmMedium}, {utmCampaign}, {utmContent}, {utmTerm}
- Клієнт — {client.name}, {client.email}, {client.phone}, {client.iban}, {client.bank}, {client.address}, {client.registrationNumber}
До ліда може бути привʼязано кілька пропозицій, тому вони перебираються зовнішнім циклом:
{FOR quote IN quotes}
{$quote.name} — {$quote.amountByDiscount.number} {$quote.currency.symbol}
{FOR category IN $quote.categories}
{$category.name}
{FOR item IN $category.items}
{$item.name} | {$item.quantity} | {$item.finalAmount.number}
{END-FOR item}
{END-FOR category}
{END-FOR quote}
Усередині доступні {$quote.name}, {$quote.description}, {$quote.amount}*, {$quote.amountByDiscount}*, {$quote.currency.code}, {$quote.currency.symbol}.
Шаблон типу «Пропозиція»
Тут сама пропозиція є контекстом документа, тому її поля використовуються без префікса.
- Пропозиція — {name} — назва, {description} — опис
- Дата створення — {createdAt} (формат 31.12.2026), а також {createdAt.day}, {createdAt.month}, {createdAt.year}, {createdAt.monthWord}
- Сума — {amount}*, {amountByDiscount}* — з урахуванням знижки
- Валюта — {currency.code}, {currency.symbol}
Позиції перебираються без префікса quote:
{FOR category IN categories}
{$category.name}
{FOR item IN $category.items}
{$item.name} | {$item.quantity} | {$item.finalAmount.number} {currency.symbol}
{END-FOR item}
{END-FOR category}
Якщо групування за категоріями не потрібне, використовуйте плаский цикл {FOR item IN items} … {END-FOR item}.
{$item.name} — назва, {$item.quantity} — кількість, {$item.unit} — одиниця виміру повністю («штуки»), {$item.unitShort} — скорочено («шт»), {$item.amount}* — початкова ціна, {$item.amountByRate}* — ціна у валюті компанії, {$item.totalAmount}* — кількість × ціна, {$item.discountPercent} — відсоток знижки, {$item.finalAmount}* — кінцева ціна зі знижкою.
Назва категорії підставляється двома способами — залежно від того, чи згруповані позиції:
- якщо ви використовуєте цикл за категоріями, назва береться з категорії: {$category.name};
- якщо позиції виводяться плоским списком, назву категорії дає сама позиція: {$item.category} — без .name.
До пропозиції може бути привʼязано кілька клієнтів. Вони перебираються окремим циклом:
{FOR client IN clients}
{$client.name} | {$client.email} | {$client.iban}
{END-FOR client}
Доступні поля: {$client.name}, {$client.email}, {$client.phone}, {$client.iban}, {$client.bank}, {$client.address}, {$client.registrationNumber}.
У шаблоні типу «Лід» цей цикл вкладається в цикл пропозицій, і корінь має префікс: {FOR client IN $quote.clients}.
Зверніть увагу
У ліда може бути кілька пропозицій, тому для нього потрібен додатковий, зовнішній цикл — {FOR quote IN quotes} … {END-FOR quote}. У транзакції пропозиція одна — до неї звертаються напряму через {quote}. У шаблоні типу «Пропозиція» звертатися до неї не потрібно взагалі: цикл починається відразу з items або categories.
- Лід: пропозицій у сутності — кілька; зовнішній цикл — {FOR quote IN quotes}; перебір позицій — {FOR category IN $quote.categories} → {FOR item IN $category.items}
- Транзакція: пропозицій у сутності — одна; зовнішній цикл — не потрібен; перебір позицій — {FOR category IN quote.categories} або {FOR item IN quote.items}
- Пропозиція: пропозицій у сутності — сама пропозиція; зовнішній цикл — не потрібен; перебір позицій — {FOR category IN categories} або {FOR item IN items}
Генерація документа
Спосіб виклику залежить від сутності.
Транзакція та лід
Відкрийте картку, натисніть меню «...» у верхньому правому куті та виберіть «Згенерувати документ».


Пропозиція
У вікні «Редагувати пропозицію» (розділ «Пропозиції») генерація винесена окремою кнопкою «» праворуч від поля «Назва пропозиції» — тултип «Згенерувати документ».

Далі логіка однакова. Зʼявиться список шаблонів, який фільтрується за типом: у транзакції показуються лише шаблони типу «Транзакція», у ліді — «Лід», у пропозиції — «Пропозиція». Виберіть шаблон і вкажіть формат — .docx або .pdf.

Документ формується за кілька секунд: система показує повідомлення «Файл скоро зʼявиться…», а після завершення — «Файл … додано до…».


Готовий документ зберігається:
- у ліді — у блоці «Файли»;

- у транзакції — у блоці «Коментар і файл» (біля заголовка блока зʼявляється позначка «Інформацію додано»).


Звідти файл можна завантажити (), відкрити для перегляду чи видалити («✕»).

Зверніть увагу
Якщо в сутності немає даних для якогось поля (не заповнений контакт, не додана пропозиція), відповідне місце в документі просто лишиться порожнім — помилки генерації не буде. Перевіряйте готовий файл перед відправкою клієнту.
Пункт «Редагувати список » у меню вибору шаблону веде безпосередньо в панель адміністратора, у блок «Шаблони документів». Якщо шаблонів потрібного типу ще немає, у меню буде лише цей пункт — скористайтеся ним, щоб додати перший шаблон.

Права доступу до шаблонів
Доступ до шаблонів налаштовується в панелі адміністратора: «Команда» → «Ролі», група прав «Документи та контент». Група містить два рядки:
- «Шаблони документів» — створення, редагування та керування шаблонами документів;
- «Документи & файли» — завантаження, перегляд і керування файлами та документами проєктів.
Для кожного рядка права задаються окремо за чотирма діями: Створювати, Переглядати, Редагувати, Видаляти.
Для шаблонів документів кожна дія має два значення — «Немає прав» або «Повний доступ».

Для документів і файлів набір ширший: дія «Створювати» так само має два значення, а «Переглядати», «Редагувати» та «Видаляти» — чотири: «Немає прав», «За списком доступу», «Повний доступ» і «Власні» (лише файли, які завантажив сам користувач).

Праворуч у заголовку групи відображається зведений стан — «Немає доступу», «Частковий доступ» або повний. Після змін натисніть «Зберегти».
Зверніть увагу
Право на шаблони дає змогу змінювати документи, які потім ідуть клієнтам від імені компанії. Видавайте «Повний доступ» на редагування та видалення обмеженому колу — решті достатньо перегляду, щоб генерувати документи з готових шаблонів.
Ще є питання?
Можливо, ми ще не додали цю інформацію. Але ви завжди можете звернутися: