> For the complete documentation index, see [llms.txt](https://templates.keycrm.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://templates.keycrm.app/ru/zakaz.md).

# Для заказов

#### Инструкции:

* [Как использовать шаблоны из библиотеки и создавать свои шаблоны документов](https://help.keycrm.app/ru/order-management/kak-sozdat-novyi-shablon-dokumienta-dlia-piechati-dlia-administratorov);
* [Справочник доступных тегов, функций и фильтров Twig](https://help.keycrm.app/ru/keycrm-api/spravochnik-dostupnykh-tieghov-funktsii-i-fil-trov-twig);
* [Примеры решений и ответы на частые вопросы](https://help.keycrm.app/ru/order-management/ch-avo-po-sozdaniiu-dokumientov-2).

### 1. Товарный чек

{% tabs %}
{% tab title="Внешний вид" %}
![](/files/oWwAe8qCbe8WRbpTOeQB)
{% endtab %}

{% tab title="Код шаблона" %}
**Тип шаблона:** Заказы.

```
<!doctype html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Товарный чек</title>
</head>
<body>

<div class="container">

  {# ======================================================= #}
  {# БЛОК: ШАПКА — логотип и контакты магазина               #}
  {# Замените выделенный желтым текст на свои реальные данные #}
  {# ======================================================= #}
  <table class="width100">
    <tbody>
    <tr>
      {# Логотип: замените src на прямую ссылку на свое изображение #}
      <td class="logo-wrapper" valign="top">
        <img src="https://blog.keycrm.app/wp-content/uploads/2025/12/cropped-keycrm-logo-blue-on-transparent-160x53.png" style="width: 200px;" alt="">
      </td>
      {# Адрес и email магазина #}
      <td valign="top">
        <span style="background-color: yellow">г. Киев, ул. Крещатик, 1</span><br />
        <span style="background-color: yellow">demo@ukr.net</span><br />
      </td>
      {# Телефоны магазина #}
      <td valign="top">
        <span style="background-color: yellow">тел.: (011)777-77-77</span><br />
        <span style="background-color: yellow">тел.: (011)777-77-77</span><br />
        <span style="background-color: yellow">тел.: (011)777-77-77</span><br />
      </td>
    </tr>
    </tbody>
  </table>

  <br /><br /><br />

  {# ======================================================= #}
  {# БЛОК: РЕКВИЗИТЫ — поставщик и получатель                #}
  {# Левый столбец: ваши данные (заменить желтое)            #}
  {# Правый столбец: данные клиента из CRM (авто)            #}
  {# ======================================================= #}
  <table class="width100">
    <tbody>
    <tr>
      <td valign="top" class="label" style="width:50%">
        <span style="background-color: yellow">Поставщик: Test test</span><br />
        <span style="background-color: yellow">ФЛП Тест Т.Т.</span><br />
        <span style="background-color: yellow">г. Киев, ул. Крещатик, 1</span><br />
        <span style="background-color: yellow">тел.: (011)777-77-77</span><br />
      </td>
      <td valign="top" class="label">
        {# Данные клиента подтягиваются из CRM автоматически #}
        Получатель: {{ model.client_name }}<br />
        тел.: {{ model.client_phone | default('не указано') }}<br />
        {# Email выводится только если он заполнен в заказе #}
        {% if model.client_email %}
          email: {{ model.client_email }}
        {% endif %}
      </td>
    </tr>
    </tbody>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: НАЗВАНИЕ ДОКУМЕНТА — номер и дата заказа          #}
  {# Массив месяцев для вывода даты словами ("15 мая")       #}
  {# ======================================================= #}
  {% set mnths = ['','января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'] %}

  <p class="big-text text-center" style="margin-bottom: 10px">
    Товарный чек №{{ model.id }} от {{ model.created_at|date("j") }} {{ mnths[model.created_at|date("n")] }} {{ model.created_at|date("Y") }} г.
  </p>

  {# ======================================================= #}
  {# БЛОК: ТАБЛИЦА ТОВАРОВ                                   #}
  {# thead автоматически повторяется на каждой странице      #}
  {# (CSS: display:table-header-group)                       #}
  {# Строки товаров не разрываются между страницами          #}
  {# (CSS: page-break-inside:avoid на tbody tr)              #}
  {# ======================================================= #}
  <table class="width100 border">
    <thead>
      <tr>
        <th class="text-center">№</th>
        <th>Артикул</th>
        <th class="name-col">Наименование товара</th>
        <th>Ед.</th>
        <th>Количество</th>
        <th>Цена</th>
        <th>Сумма</th>
      </tr>
    </thead>
    <tbody>
      {# Строки товаров — перебираем все позиции заказа #}
      {% for key, product in model.products %}
      <tr>
        <td class="text-center">{{ key + 1 }}</td>
        <td class="text-center">{{ product.product_sku }}</td>
        <td style="width:50%">{{ product.product_name }}</td>
        <td class="text-center">{{ product.product_unit_type }}</td>
        <td class="text-center">{{ product.product_quantity }}</td>
        <td class="text-center">{{ product.price_sold|format_currency('UAH', locale='uk') }}</td>
        <td class="text-right">{{ (product.product_quantity * product.price_sold)|format_currency('UAH', locale='uk') }}</td>
      </tr>
      {% endfor %}

      {# ======================================================= #}
      {# ИТОГИ — выводятся после всех строк товаров            #}
      {# ======================================================= #}

      {# "Всего за товары" — только если есть скидка или доставка #}
      {% if model.discount_amount or model.shipping_price %}
      <tr>
        <td colspan="6" class="text-right">Всего за товары:</td>
        <td class="text-right">{{ model.total_price|format_currency('UAH', locale='uk') }}</td>
      </tr>
      {% endif %}

      {# Скидка на заказ — только если есть #}
      {% if model.discount_amount %}
      <tr>
        <td colspan="6" class="text-right">Скидка:</td>
        <td class="text-right">{{ model.discount_amount|format_currency('UAH', locale='uk') }}</td>
      </tr>
      {% endif %}

      {# Доставка — только если есть #}
      {% if model.shipping_price %}
      <tr>
        <td colspan="6" class="text-right">Доставка:</td>
        <td class="text-right">{{ model.shipping_price|format_currency('UAH', locale='uk') }}</td>
      </tr>
      {% endif %}

      {# Итоговая сумма — отображается всегда #}
      <tr>
        <td colspan="6" class="text-right"><strong>Итого:</strong></td>
        <td class="text-right"><strong>{{ model.grand_total|format_currency('UAH', locale='uk') }}</strong></td>
      </tr>
    </tbody>
  </table>

  {# ======================================================= #}
  {# БЛОК: ПОДВАЛ — общее количество, сумма и подпись        #}
  {# ======================================================= #}
  <br /><br />
  <table class="table-sum width100">
    <tr>
      <td colspan="2">
        Всего наименований {{ model.products|length }}, на сумму {{ model.grand_total|format_currency('UAH', locale='uk') }}
      </td>
      <td></td>
    </tr>
    <tr>
      <td>Дата: <span class="label underline">{{ model.created_at|date("j") }} {{ mnths[model.created_at|date("n")] }} {{ model.created_at|date("Y") }} г.</span></td>
      <td>Подпись поставщика: &nbsp;&nbsp;&nbsp; ____________________</td>
      <td></td>
    </tr>
  </table>

</div>

</body>
<style>
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  html, body {
    height: 100%;
  }

  body {
    font-size: 16px;
    line-height: 1.3;
    min-width: 320px;
    font-family: sans-serif;
    overflow-x: hidden;
  }

  .container {
    margin-right: auto;
    margin-left: auto;
  }

  .text-center {
    text-align: center;
  }

  .text-right {
    text-align: right;
  }

  .label {
    font-weight: bold;
  }

  .underline {
    text-decoration: underline;
    font-style: italic;
  }

  .big-text {
    font-size: 18px;
  }

  .width100 {
    width: calc(100% - 2px);
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
    height: auto;
  }

  table td {
    padding: 5px;
  }

  table th {
    background: #d4d4d4;
  }

  /* Границы для таблицы товаров */
  table.border thead th,
  table.border thead td,
  table.border tbody td {
    border: 1px solid black;
  }

  table.border th {
    padding: 20px 5px;
  }

  table.border td {
    padding: 5px;
  }

  table.table-sum {
    margin-top: 7px;
  }

  table.table-sum td {
    padding: 3px 5px 3px 15px;
  }

  /* =============================================
     РАЗБИЕНИЕ НА СТРАНИЦЫ
     ============================================= */

  /* Заголовок таблицы повторяется на каждой странице */
  table.border thead {
    display: table-header-group;
  }

  /* Строки tbody не разрываются между страницами */
  table.border tbody tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Подвал держим вместе, не отрывать от итогов */
  table.table-sum {
    page-break-inside: avoid;
    break-inside: avoid;
  }
</style>
</html>
```

{% endtab %}
{% endtabs %}

### 2. Товарный чек 2

{% tabs %}
{% tab title="Внешний вид" %}
![](/files/PJarsRBmeVORmdk9lp3c)
{% endtab %}

{% tab title="Код шаблона" %}
**Тип шаблона:** Заказы.\
QR-коды можно сгенерировать, например, здесь: <https://www.qrcode-monkey.com/>.

После создания нужно сохранить картинки на вашем сервере (сайте) и вставить в шаблон ссылки на них.

```
<!doctype html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Накладная</title>
</head>
<body>

<div class="container">

  {# ======================================================= #}
  {# БЛОК: ШАПКА — логотип и контакты магазина       #}
  {# Замените src логотипа и контактные данные на свои       #}
  {# ======================================================= #}
  <table>
    <tbody>
    <tr>
      <td>
        {# Логотип: замените src на прямую ссылку на свое изображение #}
        <img src="https://blog.keycrm.app/wp-content/uploads/2025/12/cropped-keycrm-logo-blue-on-transparent-160x53.png" style="width: 180px;" alt="">
      </td>
    </tr>
    <tr>
      <td style="padding: 5px;">
        г. Киев, ул. Крещатик, 1
      </td>
    </tr>
    <tr>
      <td style="padding: 5px;">
        моб/viber (011) 777-77-77
      </td>
    </tr>
    <tr>
      <td style="padding: 5px;">
        <span>demo.com.ua</span>
      </td>
    </tr>
    </tbody>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: ДАННЫЕ ПОКУПАТЕЛЯ И АДРЕС ДОСТАВКИ                #}
  {# Подтягиваются из CRM автоматически                      #}
  {# ======================================================= #}
  <table style="padding-bottom: 10px; margin-bottom: 10px;">
    <tbody>
    <tr>
      <td style="padding: 10px 5px;">
        <strong>Покупатель:</strong> {{ model.client_name }}
        {# Телефон выводится только если он есть в заказе #}
        {% if model.client_phone %}
        {{ model.client_phone }},
        {% endif %}
      </td>
    </tr>
    <tr>
      <td style="padding: 5px 5px 10px;">
        <strong>Адрес доставки:</strong>
        {# Служба доставки выводится только если она есть #}
        {% if model.shipping_type %}
        {{ model.shipping_type }},
        {% endif %}
        {# Адрес выводится только если он есть #}
        {% if model.shipping_address %}
        {{ model.shipping_address }},<br />
        {% endif %}
      </td>
    </tr>
    </tbody>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: НАЗВАНИЕ ДОКУМЕНТА — номер и дата заказа          #}
  {# Массив месяцев для вывода даты словом ("15 мая")       #}
  {# ======================================================= #}
  {% set mnths = ['','января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'] %}

  <p class="text-center" style="font-size: 16px; font-weight: bold; margin-bottom: 10px">
    Накладная №{{ model.id }} от {{ model.created_at|date("j") }} {{ mnths[model.created_at|date("n")] }} {{ model.created_at|date("Y") }} г.
  </p>

  {# ======================================================= #}
  {# БЛОК: ТАБЛИЦА ТОВАРОВ                                   #}
  {# thead повторяется автоматически на каждой странице      #}
  {# (CSS: display:table-header-group)                       #}
  {# Строки товаров не разрываются между страницами          #}
  {# (CSS: page-break-inside:avoid на tbody tr)              #}
  {# ======================================================= #}
  <table class="width100 products-table">
    <thead>
      <tr>
        <th class="text-center">№</th>
        <th>Артикул</th>
        <th class="name-col">Наименование товара</th>
        <th>Ед.</th>
        <th>Количество</th>
        <th>Цена</th>
        <th>Сумма</th>
      </tr>
    </thead>
    <tbody>
      {# Строки товаров — перебираем все позиции заказа #}
      {% for key, product in model.products %}
      <tr class="product-row">
        <td class="text-center">{{ key + 1 }}</td>
        <td class="text-center">{{ product.product_sku }}</td>
        <td style="width:50%">{{ product.product_name }}</td>
        <td class="text-center">{{ product.product_unit_type }}</td>
        <td class="text-center">{{ product.product_quantity }}</td>
        <td class="text-center">{{ product.price_sold|format_currency('UAH', locale='ru') }}</td>
        <td class="text-right">{{ (product.product_quantity * product.price_sold)|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endfor %}

      {# ======================================================= #}
      {# ИТОГИ — выводятся после всех строк товаров              #}
      {# ======================================================= #}

      {# "Всего за товары" — только если есть скидка или доставка #}
      {% if model.discount_amount or model.shipping_price %}
      <tr>
        <td colspan="6" class="text-right">Всего за товары:</td>
        <td class="text-right">{{ model.total_price|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endif %}

      {# Скидка — только если есть #}
      {% if model.discount_amount %}
      <tr>
        <td colspan="6" class="text-right">Скидка:</td>
        <td class="text-right">{{ model.discount_amount|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endif %}

      {# Доставка — только если есть #}
      {% if model.shipping_price %}
      <tr>
        <td colspan="6" class="text-right">Доставка:</td>
        <td class="text-right">{{ model.shipping_price|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endif %}

      {# Финальная сумма — отображается всегда #}
      <tr>
        <td colspan="6" class="text-right"><strong>Сумма:</strong></td>
        <td class="text-right"><strong>{{ model.grand_total|format_currency('UAH', locale='ru') }}</strong></td>
      </tr>
    </tbody>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: ИТОГ — количество позиций и сумма прописью        #}
  {# ======================================================= #}
  <table style="padding-bottom: 10px; margin-bottom: 10px;">
    <tr>
      <td style="padding: 5px;">
        Всего наименований {{ model.products|length }}, на сумму {{ model.grand_total|format_currency('UAH', locale='ru') }}
      </td>
    </tr>
    <tr>
      <td style="padding: 5px;">
        {# Сумма прописью: целая часть (гривны) #}
        {% set gtc = model.grand_total|round(0, 'floor') %}
        {# Дробная часть (копейки) #}
        {% set gtr = ((model.grand_total - gtc) * 100)|round(0, 'floor') %}
        <strong>{{ (gtc|format_number(style="spellout", locale="ru"))|capitalize }}
        {# Склонение слова "гривна" #}
        {% set currencySuffix = (gtc % 100 >= 11 and gtc % 100 <= 14) ? 'гривен' : (gtc % 10 == 1) ?
        'гривна' : (gtc % 10 >= 2 and gtc % 10 <= 4) ? 'гривны' : 'гривен' %}
        {{ currencySuffix }}
        {{ (gtr < 10 ? '0' ~ gtr : gtr) }}
        {# Склонение слова "копейка" #}
        {% set centsSuffix = (gtr >= 11 and gtr <= 14) ? 'копеек' : (gtr % 10 == 1) ?
        'копейка' : (gtr % 10 >= 2 and gtr % 10 <= 4) ? 'копейки' : 'копеек' %}
        {{ centsSuffix }}
        </strong>
      </td>
    </tr>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: ПОДПИСЬ ПРОДАВЦА                                  #}
  {# Замените "Иванов Иван" на имя ответственного лица       #}
  {# ======================================================= #}
  <table class="width100" style="padding-bottom: 30px; margin-bottom: 30px;">
    <tbody>
    <tr>
      <td style="font-size: 12px;">Продавец</td>
      <td style="border-bottom: 1px solid black;"></td>
      {# Замените на имя ответственного лица #}
      <td style="font-size: 12px;">Иванов Иван</td>
    </tr>
    <tr>
      <td style="padding: 5px;"></td>
      <td class="text-center" style="padding: 5px;">Подпись</td>
      <td style="padding: 5px;"></td>
    </tr>
    </tbody>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: БЛАГОДАРНОСТЬ И КОНТАКТЫ (QR-коды)                #}
  {# Замените ссылки на QR-коды своих Telegram/Viber         #}
  {# QR-коды можно сгенерировать, например, здесь: https://www.qrcode-monkey.com/ #}
  {# После генерации нужно сохранить картинки на вашем сервере (сайте) и вставить в шаблон ссылки на них. #}
  {# ======================================================= #}
  <table class="width100" style="padding-bottom: 10px; margin-bottom: 10px;">
    <tr>
      <td class="text-center" style="font-size: 12px;">
        Спасибо за заказ!
      </td>
    </tr>
    <tr>
      <td class="text-center" style="font-size: 12px;">
        Нам очень важно, чтобы вы были довольны нашими изделиями и сервисом
      </td>
    </tr>
    <tr>
      <td class="text-center" style="padding: 5px; font-size: 12px;">
        По любому вопросу вы можете написать нам в вайбер или телеграм:
      </td>
    </tr>
  </table>

  <table class="width100">
    <tbody>
    <tr>
      <td class="text-center" style="width: 50%; font-size: 12px;">Telegram</td>
      <td class="text-center" style="width: 50%; font-size: 12px;">Viber</td>
    </tr>
    <tr>
      {# QR-код Telegram: замените src на ссылку своего QR #}
      <td class="text-center" style="width: 50%;">
        <img src="https://blog.keycrm.app/keycrm/qr/keycrm-telegram-qr.png" style="width: 150px;" alt="">
      </td>
      {# QR-код Viber: замените src на ссылку своего QR #}
      <td class="text-center" style="width: 50%; padding: 5px;">
        <img src="https://blog.keycrm.app/keycrm/qr/keycrm-viber-qr.png" style="width: 150px;" alt="">
      </td>
    </tr>
    </tbody>
  </table>

</div>

</body>
<style>
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  html, body {
    height: 100%;
  }

  body {
    font-size: 12px;
    line-height: 1.3;
    min-width: 320px;
    font-family: sans-serif;
    overflow-x: hidden;
  }

  .container {
    margin-right: auto;
    margin-left: auto;
  }

  .text-center {
    text-align: center;
  }

  .text-right {
    text-align: right;
  }

  .label {
    font-weight: bold;
  }

  .underline {
    text-decoration: underline;
    font-style: italic;
  }

  .big-text {
    font-size: 14px;
  }

  .width100 {
    width: calc(100% - 2px);
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
    height: auto;
  }

  table thead td,
  table thead th {
    padding: 5px;
    border-bottom: 1px solid black;
  }

  table.table-sum {
    margin-top: 7px;
  }

  table.table-sum td {
    padding: 3px 5px 3px 15px;
  }

  /* =============================================
     РАЗБИВКА НА СТРАНИЦЫ
     ============================================= */

  /* Заголовок таблицы повторяется на каждой странице */
  table.products-table thead {
    display: table-header-group;
  }

  /* Линия под каждой строкой товара */
  table.products-table tbody tr.product-row td {
    border-bottom: 1px solid black;
  }

  /* Строки tbody не разрываются между страницами */
  table.products-table tbody tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Блоки после таблицы держим вместе */
  table.width100:not(.products-table) {
    page-break-inside: avoid;
    break-inside: avoid;
  }
</style>
</html>
```

{% endtab %}
{% endtabs %}

### 3. Расходная накладная

{% tabs %}
{% tab title="Внешний вид" %}
![](/files/o9jPcyyssqUCUrbsyeFz)
{% endtab %}

{% tab title="Код шаблона" %}
**Тип шаблона:** Заказы

```
<!doctype html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Расходная накладная</title>
</head>
<body>

<div class="container">

  {# ======================================================= #}
  {# БЛОК: ШАПКА — логотип и название документа              #}
  {# Замените src логотипа на свое изображение               #}
  {# ======================================================= #}
  {% set mnths = ['','января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'] %}

  <table style="padding-bottom: 10px; border-bottom: solid 3px black; margin-bottom: 10px;">
    <tbody>
    <tr>
      <td>
        {# Логотип: замените src на прямую ссылку на свое изображение #}
        <img src="https://blog.keycrm.app/wp-content/uploads/2025/12/cropped-keycrm-logo-blue-on-transparent-160x53.png" style="height: 40px" alt="">
      </td>
      <td style="font-size: 20px; font-weight: bold; width: 90%">
        Расходная накладная № {{ model.id }} от {{ model.created_at|date("j") }} {{ mnths[model.created_at|date("n")] }} {{ model.created_at|date("Y") }} г.
      </td>
    </tr>
    </tbody>
  </table>

  {# ======================================================= #}
  {# БЛОК: РЕКВИЗИТЫ — поставщик и покупатель                #}
  {# Замените выделенный желтым текст на свои реальные данные    #}
  {# Данные покупателя подтягиваются из CRM автоматически              #}
  {# ======================================================= #}
  <table>
    <tbody>
    <tr>
      <td valign="top">
        <span style="text-decoration: underline">Поставщик:</span>
      </td>
      <td valign="top" style="padding-bottom: 7px;">
        {# Название организации и реквизиты — заменить на свои #}
        <strong><span style="background-color: yellow">ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "НАЗВАНИЕ ВАШЕЙ КОМПАНИИ"</span></strong>
        <div style="padding-left: 15px; font-size: 90%;">
          <span style="background-color: yellow">Р/с 000000000000, в банке НАЗВАНИЕ БАНКА, г. Город МФО 000000,</span><br />
          <span style="background-color: yellow">ул. Название улицы, д. № 0, г. Город 00000, тел.: (000) 000-00-00,</span><br />
          <span style="background-color: yellow">код по ЕГРПОУ 00000000, ИНН 00000000000, № свид. 00000000,</span><br />
          <span style="background-color: yellow">Является плательщиком налога на прибыль на общих основаниях.</span>
        </div>
      </td>
    </tr>
    <tr>
      <td valign="top">
        <span style="text-decoration: underline">Покупатель:</span>
      </td>
      <td valign="top" style="padding-bottom: 7px;">
        {# Имя клиента подтягивается из CRM автоматически #}
        <strong>{{ model.client_name }}</strong>
        <div style="padding-left: 15px; font-size: 90%;">
          {% if model.shipping_address %}
            {{ model.shipping_address }},<br />
          {% endif %}
          {% if model.client_phone %}
            {{ model.client_phone }},
          {% endif %}
          {% if model.client_email %}
            {{ model.client_email }}
          {% endif %}
        </div>
      </td>
    </tr>
    <tr>
      <td valign="top">
        <span style="text-decoration: underline">Договор:</span>
      </td>
      <td valign="top" style="padding-bottom: 7px;">
        {# Измените название договора если нужно #}
        <span>Основной договор</span>
      </td>
    </tr>
    <tr>
      <td valign="top">
        <span style="text-decoration: underline">Условия поставки:</span>
      </td>
      <td valign="top" style="padding-bottom: 7px;">
        {# Тип доставки подтягивается из CRM автоматически #}
        {{ model.shipping_type }}
      </td>
    </tr>
    </tbody>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: ТАБЛИЦА ТОВАРОВ                                   #}
  {# thead повторяется автоматически на каждой странице       #}
  {# (CSS: display:table-header-group)                       #}
  {# Строки товаров не разрываются между страницами            #}
  {# (CSS: page-break-inside:avoid на tbody tr)              #}
  {# ======================================================= #}
  <table class="width100 border products-table">
    <thead>
      <tr>
        <th class="text-center">№</th>
        <th>Код товара</th>
        <th class="name-col">Наименование товара</th>
        <th>Ед.</th>
        <th>Количество</th>
        <th>Цена</th>
        <th>Сумма</th>
      </tr>
    </thead>
    <tbody>
      {# Строки товаров — перебираем все позиции заказа #}
      {% for key, product in model.products %}
      <tr>
        <td class="text-center">{{ key + 1 }}</td>
        <td class="text-center">{{ product.product_sku }}</td>
        <td style="width:50%">{{ product.product_name }}</td>
        <td class="text-center">{{ product.product_unit_type }}</td>
        <td class="text-center">{{ product.product_quantity }}</td>
        <td class="text-center">{{ product.price_sold|format_currency('UAH', locale='ru') }}</td>
        <td class="text-right">{{ (product.product_quantity * product.price_sold)|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endfor %}

      {# ======================================================= #}
      {# ИТОГИ — выводятся после всех строк товаров              #}
      {# ======================================================= #}

      {# "Всего за товары" — только если есть скидка или доставка #}
      {% if model.discount_amount or model.shipping_price %}
      <tr>
        <td colspan="6" class="text-right">Всего за товары:</td>
        <td class="text-right">{{ model.total_price|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endif %}

      {# Скидка — только если есть #}
      {% if model.discount_amount %}
      <tr>
        <td colspan="6" class="text-right">Скидка:</td>
        <td class="text-right">{{ model.discount_amount|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endif %}

      {# Доставка — только если есть #}
      {% if model.shipping_price %}
      <tr>
        <td colspan="6" class="text-right">Доставка:</td>
        <td class="text-right">{{ model.shipping_price|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endif %}

      {# Финальная сумма — отображается всегда #}
      <tr>
        <td colspan="6" class="text-right"><strong>Сумма:</strong></td>
        <td class="text-right"><strong>{{ model.grand_total|format_currency('UAH', locale='ru') }}</strong></td>
      </tr>
    </tbody>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: ИТОГ — общее количество и сумма                  #}
  {# ======================================================= #}
  <table>
    <tr>
      <td>
        <strong>Всего наименований {{ model.products|length }}, на сумму {{ model.grand_total|format_currency('UAH', locale='ru') }}</strong>
      </td>
    </tr>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: МЕСТО СОСТАВЛЕНИЯ                                 #}
  {# Замените адрес на свой                                  #}
  {# ======================================================= #}
  <table>
    <tr>
      <td>
        Место составления:
      </td>
      <td>
        {# Замените на адрес своего склада или офиса #}
        <span style="background-color: yellow">г. Киев, ул. Крещатик, 1</span>
      </td>
    </tr>
  </table>

  <br />

  {# ======================================================= #}
  {# БЛОК: ПОДПИСИ — поставщик и получатель                  #}
  {# ======================================================= #}
  <table class="width100" style="border-top: solid 3px black;">
    <tr>
      <td valign="top" style="padding-top: 15px; padding-right: 30px;" width="50%">
        <div style="padding-bottom: 35px; margin-bottom: 15px; border-bottom: solid 2px black;">
          <strong>От поставщика*</strong>
        </div>
        <span style="font-size: 90%;">* Ответственный за осуществление хозяйственной операции и правильность ее оформления</span>
      </td>
      <td valign="top" style="padding-top: 15px; padding-right: 30px;">
        <div style="padding-bottom: 35px; margin-bottom: 15px; border-bottom: solid 2px black;">
          <strong>Получил(а)</strong>
        </div>
        <span style="font-size: 90%;">По доверенности &nbsp;&nbsp;&nbsp;&nbsp; № &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; от </span>
      </td>
    </tr>
  </table>

</div>

</body>
<style>
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  html, body {
    height: 100%;
  }

  body {
    font-size: 16px;
    line-height: 1.3;
    min-width: 320px;
    font-family: sans-serif;
    overflow-x: hidden;
  }

  .container {
    margin-right: auto;
    margin-left: auto;
  }

  .text-center {
    text-align: center;
  }

  .text-right {
    text-align: right;
  }

  .label {
    font-weight: bold;
  }

  .underline {
    text-decoration: underline;
    font-style: italic;
  }

  .big-text {
    font-size: 18px;
  }

  .width100 {
    width: calc(100% - 2px);
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
    height: auto;
  }

  table td {
    padding: 5px;
  }

  table th {
    background: #d4d4d4;
  }

  /* Рамки для таблицы товаров */
  table.border thead th,
  table.border thead td,
  table.border tbody td {
    border: 1px solid black;
  }

  table.border th {
    padding: 15px 5px;
  }

  table.border td {
    padding: 5px;
  }

  table.table-sum {
    margin-top: 7px;
  }

  table.table-sum td {
    padding: 3px 5px 3px 15px;
  }

  /* =============================================
     РАЗБИВКА НА СТРАНИЦЫ
     ============================================= */

  /* Заголовок таблицы повторяется на каждой странице */
  table.products-table thead {
    display: table-header-group;
  }

  /* Строки tbody не разрываются между страницами */
  table.products-table tbody tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Блоки после таблицы держим вместе */
  table:not(.products-table):not(.border) {
    page-break-inside: avoid;
    break-inside: avoid;
  }
</style>
</html>
```

{% endtab %}
{% endtabs %}

### 4. Счет на оплату

{% tabs %}
{% tab title="Внешний вид" %}
![](/files/FfQVnD834GuSAo6BrMqS)
{% endtab %}

{% tab title="Код шаблона" %}
**Тип шаблона:** Заказы.

```
<!doctype html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Счет на оплату</title>
</head>
<body>

<div class="container">

  {# ======================================================= #}
  {# БЛОК: ШАПКА — название документа с номером и датой      #}
  {# Массив месяцев для вывода даты словом ("15 мая")        #}
  {# ======================================================= #}
  {% set mnths = ['','января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'] %}

  <table style="padding-bottom: 10px; border-bottom: solid 3px black; margin-bottom: 10px;">
    <tbody>
    <tr>
      <td style="font-size: 20px; font-weight: bold; width: 90%">
        Счет на оплату № {{ model.id }} от {{ model.created_at|date("j") }} {{ mnths[model.created_at|date("n")] }} {{ model.created_at|date("Y") }} г.
      </td>
    </tr>
    </tbody>
  </table>

  {# ======================================================= #}
  {# БЛОК: РЕКВИЗИТЫ — поставщик и покупатель                #}
  {# Замените выделенный желтым текст на свои реальные данные    #}
  {# Данные покупателя подтягиваются из CRM автоматически              #}
  {# ======================================================= #}
  <table>
    <tbody>
    <tr>
      <td valign="top">
        <span style="text-decoration: underline">Поставщик: </span>
      </td>
      <td valign="top" style="padding-bottom: 7px;">
        {# Название организации — заменить на свою #}
        <strong><span style="background-color: yellow">ООО "Название вашей компании"</span></strong>
        <div style="padding-left: 15px; font-size: 90%;">
          {# Реквизиты — заменить на свои #}
          <span style="background-color: yellow">адрес г. Город ул. Название улицы, 0, АО КБ "НАЗВАНИЕ БАНКА" № счета: UA000000000000, код ЕГРПОУ 0000000. Директор Фамилия И.О.</span><br/>
        </div>
      </td>
    </tr>
    <tr>
      <td valign="top">
        <span style="text-decoration: underline">Покупатель:</span>
      </td>
      <td valign="top" style="padding-bottom: 7px;">
        {# Имя клиента подтягивается из CRM автоматически #}
        <strong>{{ model.client_name }}</strong>
        <div style="padding-left: 15px; font-size: 90%;">
          {% if model.client_phone %}
            {{ model.client_phone }},
          {% endif %}
          {% if model.client_email %}
            {{ model.client_email }}
          {% endif %}
        </div>
      </td>
    </tr>
    <tr>
      <td valign="top">
        <span style="text-decoration: underline">Предмет:</span>
      </td>
      <td valign="top" style="padding-bottom: 7px;">
        <div style="padding-left: 15px; font-size: 90%;">
          <span>Поставщик обязуется поставить и передать в собственность Покупателя товар, указанный в настоящем Счете, вместе с товаросопроводительной документацией, а Покупатель обязуется принять и оплатить его с учетом цен, указанных в настоящем Счете.</span><br/>
        </div>
      </td>
    </tr>
    <tr>
      <td valign="top">
        <span style="text-decoration: underline">Срок:</span>
      </td>
      <td valign="top" style="padding-bottom: 7px;">
        {# Измените срок если нужно #}
        <span>Не позднее 40 дней от даты осуществления предварительной оплаты за товар.</span>
      </td>
    </tr>
    <tr>
      <td valign="top">
        <span style="text-decoration: underline">Договор:</span>
      </td>
      <td valign="top" style="padding-bottom: 7px;">
        {# Номер и дата договора подтягиваются из данных заказа #}
        <span>Договора Поставки № {{ model.id }} от {{ model.created_at|date("j") }} {{ mnths[model.created_at|date("n")] }} {{ model.created_at|date("Y") }} г.</span>
      </td>
    </tr>
    </tbody>
  </table>

  <br/>

  {# ======================================================= #}
  {# БЛОК: ТАБЛИЦА ТОВАРОВ                                   #}
  {# thead повторяется автоматически на каждой странице       #}
  {# (CSS: display:table-header-group)                       #}
  {# Строки товаров не разрываются между страницами            #}
  {# (CSS: page-break-inside:avoid на tbody tr)              #}
  {# ======================================================= #}
  <table class="width100 border products-table">
    <thead>
      <tr>
        <th class="text-center">№</th>
        <th class="text-center">Изображение</th>
        <th>Артикул</th>
        <th class="name-col">Наименование товара</th>
        <th>Количество</th>
        <th>Цена</th>
        <th>Скидка</th>
        <th>Сумма</th>
      </tr>
    </thead>
    <tbody>
      {# Строки товаров — перебираем все позиции заказа #}
      {% for key, product in model.products %}
      <tr>
        <td class="text-center">{{ key + 1 }}</td>
        {# Изображение товара — подтягивается из CRM #}
        <td class="text-center"><img src="{{ product.product_image }}" style="width: 60px;"></td>
        <td class="text-center">{{ product.product_sku }}</td>
        <td style="width:30%">{{ product.product_name }} {{ product.product_properties }}</td>
        <td class="text-center">{{ product.product_quantity }} {{ product.product_unit_type }}</td>
        <td class="text-right">{{ product.product_price|format_currency('UAH', locale='ru') }}</td>
        {# Скидка по товара: если есть — считаем сумму, если нет — выводим 0 #}
        <td class="text-right">{{ product.product_discount != '-' ? (product.product_quantity * product.product_discount)|format_currency('UAH', locale='ru') : '0' }}</td>
        <td class="text-right">{{ (product.product_quantity * product.price_sold)|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endfor %}

      {# ======================================================= #}
      {# ИТОГИ — выводятся после всех строк товаров              #}
      {# ======================================================= #}

      {# "Всего за товары" — всегда #}
      <tr>
        <td colspan="7" class="text-right">Всего за товары:</td>
        <td class="text-right">{{ model.total_price|format_currency('UAH', locale='ru') }}</td>
      </tr>

      {# Скидка к заказу — только если есть #}
      {% if model.discount_amount %}
      <tr>
        <td colspan="7" class="text-right">Скидка к заказу:</td>
        <td class="text-right">{{ model.discount_amount|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endif %}

      {# Доставка — только если есть #}
      {% if model.shipping_price %}
      <tr>
        <td colspan="7" class="text-right">Доставка:</td>
        <td class="text-right">{{ model.shipping_price|format_currency('UAH', locale='ru') }}</td>
      </tr>
      {% endif %}

      {# Финальная сумма — отображается всегда #}
      <tr>
        <td colspan="7" class="text-right"><strong>Общая стоимость:</strong></td>
        <td class="text-right"><strong>{{ model.grand_total|format_currency('UAH', locale='ru') }}</strong></td>
      </tr>
    </tbody>
  </table>

  <br/>

  {# ======================================================= #}
  {# БЛОК: ИТОГ — количество позиций и общая сумма           #}
  {# ======================================================= #}
  <table>
    <tr>
      <td>
        <strong>Всего наименований {{ model.products|length }}, общая стоимость {{ model.grand_total|format_currency('UAH', locale='ru') }}</strong>
      </td>
    </tr>
  </table>

  <br/>

  {# ======================================================= #}
  {# БЛОК: СУММА ПРОПИСЬЮ                                     #}
  {# Логика склонения гривен/копеек встроенная               #}
  {# ======================================================= #}
  <table>
    <tr>
      <td>
        <p>
          {# Целая часть суммы (гривны) #}
          {% set gtc = model.grand_total|round(0, 'floor') %}
          {# Дробная часть (копейки) #}
          {% set gtr = ((model.grand_total - gtc) * 100)|round(0, 'floor') %}
          <strong>{{ (gtc|format_number(style="spellout", locale="ru"))|capitalize }}
          {# Склонение слова "гривна" #}
          {% set currencySuffix = (gtc % 100 >= 11 and gtc % 100 <= 14) ? 'гривен' : (gtc % 10 == 1) ? 'гривна' : (gtc % 10 >= 2 and gtc % 10 <= 4) ? 'гривны' : 'гривен' %}
          {{ currencySuffix }}
          {{ (gtr < 10 ? '0' ~ gtr : gtr) }}
          {# Склонение слова "копейка" #}
          {% set centsSuffix = (gtr >= 11 and gtr <= 14) ? 'копеек' : (gtr % 10 == 1) ? 'копейка' : (gtr % 10 >= 2 and gtr % 10 <= 4) ? 'копейки' : 'копеек' %}
          {{ centsSuffix }}
          </strong>
        </p>
      </td>
    </tr>
  </table>

  <br/>

  {# ======================================================= #}
  {# БЛОК: ПОДПИСЬ — срок действия счета и ответственное лицо #}
  {# Замените ФИО ответственного лица (выделено желтым)      #}
  {# ======================================================= #}
  <table class="width100" style="border-top: solid 3px black;">
    <tr>
      <td valign="top" style="padding-top: 15px; padding-right: 30px;" width="50%">
        {# Измените срок действия счета если нужно #}
        <span style="font-size: 90%;"><strong>Срок действия Счета в течение 3 суток с момента предоставления Покупателю.</strong></span>
      </td>
      <td valign="top" style="padding-top: 15px; padding-right: 30px; display: flex; justify-content: space-between; border-bottom: solid 1px black;">
        <strong>Выписал(а)</strong>
        {# ФИО ответственного лица — заменить на свое #}
        <strong><span style="background-color: yellow">Фамилия И.О.</span></strong>
      </td>
    </tr>
  </table>

</div>

</body>
<style>
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  html, body {
    height: 100%;
  }

  body {
    font-size: 16px;
    line-height: 1.3;
    min-width: 320px;
    font-family: sans-serif;
    overflow-x: hidden;
  }

  .container {
    margin-right: auto;
    margin-left: auto;
  }

  .text-center {
    text-align: center;
  }

  .text-right {
    text-align: right;
  }

  .label {
    font-weight: bold;
  }

  .underline {
    text-decoration: underline;
    font-style: italic;
  }

  .big-text {
    font-size: 18px;
  }

  .width100 {
    width: calc(100% - 2px);
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
    height: auto;
  }

  table th {
    background: #d4d4d4;
  }

  /* Рамки для таблицы товаров */
  table.border thead th,
  table.border thead td,
  table.border tbody td {
    border: 1px solid black;
    padding: 5px;
  }

  table.border th {
    padding: 15px 5px;
  }

  table.table-sum {
    margin-top: 7px;
  }

  table.table-sum td {
    padding: 3px 5px 3px 15px;
  }

  /* =============================================
     РАЗБИВКА НА СТРАНИЦЫ
     ============================================= */

  /* Заголовок таблицы повторяется на каждой странице */
  table.products-table thead {
    display: table-header-group;
  }

  /* Строки tbody не разрываются между страницами */
  table.products-table tbody tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Блоки после таблицы держим вместе */
  table:not(.products-table):not(.border) {
    page-break-inside: avoid;
    break-inside: avoid;
  }
</style>
</html>
   
```

{% endtab %}
{% endtabs %}

### 5. "Письмо на таможню" (при отправке за границу)

{% tabs %}
{% tab title="Внешний вид" %}
![](/files/3nKuAQFnrgaCROVeral3)
{% endtab %}

{% tab title="Код шаблона" %}
**Тип шаблона:** Доставка

```
<!doctype html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="author" content="KeyCRM">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Таможенная декларация</title>
</head>
<body>

{# ======================================================= #}
{# БЛОК: ШАПКА — адресат и данные декларанта               #}
{# Замените выделенный желтым текст на свои реальные данные    #}
{# ======================================================= #}
<table class="head-table">
  <tr>
    <td valign="bottom"><p class="big bold italic">"______"_________________20__года</p></td>
    <td valign="bottom" class="border-bottom">
      <p class="big italic bold">И.о. начальника Киевской ГТС Украины</p>
    </td>
  </tr>
  <tr>
    <td valign="top" class="small text-center bold">(заполняется таможней)</td>
    <td valign="top" class="small bold">(наименование таможенного органа)</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td valign="bottom" class="border-bottom">
      {# ФИО руководителя таможенного органа — заменить на свое #}
      <span class="big"><span style="background-color: yellow">Фамилия Имя Отчество</span></span>
    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td valign="top" class="small">(фамилия, имя и отчество)</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td valign="bottom" class="border-bottom">
      {# Адрес проживания физического лица — заменить на свой #}
      <span class="big"><span style="background-color: yellow">г. Город, ул. Название улицы 00/000</span></span>
    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td valign="top" class="small">(место проживания физического лица)</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td valign="bottom" colspan="2" class="big text-center border-bottom">
      {# ФИО и passportные данные декларанта — заменить на свои #}
      <span style="background-color: yellow">Фамилия Имя Отчество</span>
      <span style="padding: 0 30px"></span>
      <span style="background-color: yellow">ИХ: 000000</span>
    </td>
  </tr>
  <tr>
    <td colspan="2" valign="top">
      <p class="text-center">(фамилия, имя и отчество физического лица, паспортные данные)</p>
    </td>
  </tr>
  <tr>
    <td colspan="2" valign="top">
      <p class="big">
        заявляет сведения о товарах и другую информацию, необходимую для осуществления таможенных формальностей.
      </p>
    </td>
  </tr>
</table>

{# ======================================================= #}
{# БЛОК: ТРАНСПОРТНЫЙ ДОКУМЕНТ И СЧЕТ                     #}
{# Трекинг-код подтягивается из отправления автоматически     #}
{# ======================================================= #}
<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p class="big">Номер транспортного документа</p></td>
    <td valign="bottom" class="border-bottom full-width">
      <p class="space-text">
        {# Трекинг-код подтягивается из CRM автоматически #}
        <span class="big">{{ model.tracking_code }}</span>
        <span class="big bold italic">От.</span>
        <span class="big">{{ "now"|date("d.m.Y") }}г.</span>
      </p>
    </td>
  </tr>
</table>

<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p>Счет</p></td>
    <td valign="bottom" class="border-bottom full-width">
      <p class="space-text">
        <span class="bold">б/н</span>
        <span class="bold italic">от.</span>
        <span>{{ "now"|date("d.m.Y") }}г.</span>
      </p>
    </td>
  </tr>
</table>

<table class="second-table">
  <tr style="height: 11px;">
    <td valign="top">&nbsp;</td>
    <td valign="top" class="small text-center">(номер, дата)</td>
  </tr>
</table>

{# ======================================================= #}
{# БЛОК: СВЕДЕНИЯ ОБ ОТПРАВЛЕНИИ                         #}
{# Данные подтягиваются из отправления (shipment) автоматически #}
{# ======================================================= #}
<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p>Страна отправления (назначения)</p></td>
    <td valign="bottom" class="border-bottom full-width">
      {# Страна подтягивается из адреса доставки заказа #}
      <p>{{ model.shipping_address_country }}</p>
    </td>
  </tr>
</table>

<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p>Отправитель (получатель)</p></td>
    <td valign="bottom" class="border-bottom full-width">
      {# Название отправителя подтягивается из отправления #}
      <p>{{ shipment.name }}</p>
    </td>
  </tr>
</table>

<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p>Количество мест</p></td>
    <td valign="bottom" class="border-bottom full-width"><p>1</p></td>
  </tr>
</table>

<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p>Общий вес (килограммов)</p></td>
    <td valign="bottom" class="border-bottom full-width">
      {# Вес подтягивается из отправления #}
      <p>{{ shipment.weight }} кг</p>
    </td>
  </tr>
</table>

<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p>Общая таможенная стоимость</p></td>
    <td valign="bottom" class="border-bottom full-width">
      <p>
        {# Сумма всех товаров отправления: цена × количество #}
        {{ shipment.items|reduce((carry, item) => carry + (item.price * item.quantity), 0)|round(2) }}
        {{ shipment.currency }}
      </p>
    </td>
  </tr>
</table>

<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p>Таможенный режим</p></td>
    <td valign="bottom" class="border-bottom full-width"><p class="bold italic">экспорт</p></td>
  </tr>
</table>

<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p>Условия поставки</p></td>
    <td valign="bottom" class="border-bottom full-width">
      {# Условия поставки — заменить на свои если нужно #}
      <span style="background-color: yellow">CPT</span>
    </td>
  </tr>
</table>

<table class="second-table">
  <tr>
    <td valign="bottom" class="nowrap"><p>Характер сделки</p></td>
    <td valign="bottom" class="border-bottom full-width"><p></p></td>
  </tr>
</table>

<table class="second-table">
  <tr>
    <td valign="bottom" colspan="2"><p>Разрешения уполномоченных органов (название, номер, дата)</p></td>
  </tr>
</table>

<br />

{# ======================================================= #}
{# БЛОК: ТАБЛИЦА ТОВАРОВ ОТПРАВЛЕНИЯ                       #}
{# Перебираем shipment.items — товары из отправления,      #}
{# не из заказа (model.products)                           #}
{# thead повторяется автоматически на каждой странице       #}
{# (CSS: display:table-header-group)                       #}
{# Строки не разрываются между страницами                    #}
{# (CSS: page-break-inside:avoid на tbody tr)               #}
{# ======================================================= #}
<table class="goods-table">
  <thead>
    <tr>
      <th><p>Номер товара</p></th>
      <th><p>Наименование товара, его обычное торговое описание</p></th>
      <th><p>Код товара согласно УКТВЭД</p></th>
      <th><p>Стоимость товара в валюте Украины или иностранной валюте</p></th>
    </tr>
  </thead>
  <tbody>
    {% for item in shipment.items %}
    <tr>
      <td><p class="text-center">{{ loop.index }}</p></td>
      {# Описание товара обрезаем до 35 символов #}
      <td><p>{{ item.description_local|slice(0, 35) }}</p></td>
      <td><p class="text-center">{{ item.hs_code }}</p></td>
      <td><p class="text-center">{{ item.price }} {{ shipment.currency }}</p></td>
    </tr>
    {% endfor %}
  </tbody>
</table>

{# ======================================================= #}
{# БЛОК: ПОДПИСИ — декларант и таможенный орган            #}
{# Замените ФИО декларанта (выделено желтым)                #}
{# ======================================================= #}
<table class="signature-table">
  <tr>
    <td valign="bottom">Декларант или уполномоченное им лицо</td>
    <td class="border-bottom"></td>
    <td valign="bottom" class="text-center border-bottom">
      {# ФИО декларанта — заменить на свое #}
      <span style="background-color: yellow">Фамилия Имя Отчество</span>
    </td>
  </tr>
  <tr>
    <td></td>
    <td valign="top" class="text-center">(подпись)</td>
    <td valign="top" class="text-center">(инициалы, фамилия)</td>
  </tr>
  <tr>
    <td class="border-bottom"></td>
    <td class="border-bottom"></td>
    <td valign="bottom" class="border-bottom"></td>
  </tr>
  <tr>
    <td valign="top" class="text-center">(наименование должности должностного лица таможенного органа)</td>
    <td valign="top" class="text-center">(подпись)</td>
    <td valign="top" class="text-center">(инициалы, фамилия)</td>
  </tr>
</table>

{# ======================================================= #}
{# БЛОК: МЕСТО ДЛЯ ПЕЧАТИ                                   #}
{# ======================================================= #}
<table class="stamp-table">
  <tr>
    <td>Место для оттиска личной номерной печати</td>
  </tr>
</table>

</body>
<style>
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  html, body {
    height: 100%;
  }

  body {
    color: #333;
    font-size: 12px;
    line-height: 1.3;
    min-width: 320px;
    font-family: 'Times New Roman', sans-serif;
  }

  img {
    border-style: none;
  }

  @page {
    size: auto;
    margin: 5mm 10mm;
  }

  .italic { font-style: italic; }
  .bold   { font-weight: bold; }
  .big    { font-size: 14px; }

  .small {
    font-size: 11px;
    line-height: 11px;
  }

  .text-center { text-align: center; }

  .space-text span {
    margin-right: 10px;
  }

  .nowrap    { white-space: nowrap; }

  .full-width {
    width: 90%;
    padding-left: 20px;
  }

  .border-bottom {
    border-bottom: 1px solid black;
  }

  /* =============================================
     ШАПКА ДОКУМЕНТА
     ============================================= */
  .head-table {
    width: 100%;
  }

  .head-table td {
    height: 22px;
    padding-right: 5px;
    padding-left: 5px;
  }

  .head-table td:first-child { width: 40%; }
  .head-table td:last-child  { width: 60%; }

  /* =============================================
     СТРОКИ С ДАННЫМИ ОТПРАВЛЕНИЯ
     ============================================= */
  .second-table {
    width: 100%;
  }

  .second-table td {
    height: 25px;
    padding-right: 5px;
    padding-left: 5px;
  }

  .second-table td.nowrap    { padding-right: 20px; }
  .second-table td.full-width { padding-left: 20px; }

  /* =============================================
     ТАБЛИЦЯ ТОВАРОВ
     ============================================= */
  .goods-table {
    width: calc(100% - 2px);
    border-collapse: collapse;
    border: 1px solid black;
    margin-bottom: 20px;
  }

  .goods-table th,
  .goods-table td {
    border: 1px solid black;
    padding: 5px;
  }

  .goods-table th:nth-child(1),
  .goods-table td:nth-child(1) { width: 6%; }

  .goods-table th:nth-child(2),
  .goods-table td:nth-child(2) { width: 47%; }

  .goods-table th:nth-child(3),
  .goods-table td:nth-child(3) { width: 20%; }

  .goods-table th:nth-child(4),
  .goods-table td:nth-child(4) { width: 16%; }

  .goods-table th { font-weight: bold; }

  /* =============================================
     РАЗБИВКА НА СТРАНИЦЫ
     Заголовок таблицы товаров повторяется
     автоматически на каждой странице.
     Строки товаров не разрываются между страницами.
     ============================================= */
  .goods-table thead {
    display: table-header-group;
  }

  .goods-table tbody tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* =============================================
     ПОДПИСИ
     ============================================= */
  .signature-table {
    width: 100%;
    border-spacing: 10px 0;
    border-collapse: separate;
    margin-bottom: 20px;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .signature-table td {
    height: 25px;
    padding-right: 5px;
    padding-left: 5px;
  }

  .signature-table td:nth-child(1) { width: 45%; }
  .signature-table td:nth-child(2) { width: 15%; }
  .signature-table td:nth-child(3) { width: 40%; }

  /* =============================================
     МЕСТО ДЛЯ ПЕЧАТИ
     ============================================= */
  .stamp-table {
    width: 30%;
    border: solid 1px black;
    text-align: center;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .stamp-table td {
    padding: 30px;
  }
</style>
</html>
```

{% endtab %}
{% endtabs %}

### 6. Proforma Invoice для отправки зарубеж (таможенный инвойс)

{% tabs %}
{% tab title="Внешний вид" %}
![](/files/sQkoFWOTzJVP6Lf72ERN)
{% endtab %}

{% tab title="Код шаблона" %}
**Тип шаблона:** Доставка

```
<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="author" content="KeyCRM">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
</head>
<body>
<div class="bold text-center">PROFORMA INVOICE</div>
<div>
    <div class="margin"></div>
    <table class="head-table mt-10 mb-10">
        <tbody>
        <tr>
            <td>DATE (дата)</td>
            <td class="text-center">{{ "now"|date("m/d/Y") }} / {{ "now"|date("d/m/Y") }}</td>
        </tr>
        <tr>
            <td>TRK.NO. (номер накладной UPS)</td>
            <td class="text-center">{{ model.tracking_code }}</td>
        </tr>
        </tbody>
    </table>
</div>
<div class="clean-float"><span class="bold">SHIPPER</span> (грузоотправитель)</div>
<table class="second-table">
    <tbody>
    <tr>
        <td>Company name (название компании)</td>
        <td>
            Individual entrepreneur <span style="background-color: yellow">FIRST_NAME LAST_NAME</span>/
            ИП <span style="background-color: yellow">ФАМИЛИЯ ИМЯ ОТЧЕСТВО</span>
        </td>
    </tr>
    <tr>
        <td>TAX ID (ИНН)</td>
        <td><span style="background-color: yellow">< ИНН ></span></td>
    </tr>
    <tr>
        <td>Contact person (контактное лицо)</td>
        <td>
            <span style="background-color: yellow">FIRST_NAME LAST_NAME</span>/
            <span style="background-color: yellow">ФАМИЛИЯ ИМЯ ОТЧЕСТВО</span>
        </td>
    </tr>
    <tr>
        <td>Address (адрес)</td>
        <td>
            <span style="background-color: yellow">Kiev st. Khreshchatyk, 1/г.Киев ул. Хрещатик, 1</span>
        </td>
    </tr>
    <tr>
        <td>City (город)</td>
        <td><span style="background-color: yellow">Kyiv/Киев</span></td>
    </tr>
    <tr>
        <td>Postal code (почтовый индекс)</td>
        <td>{{ shipment.address.postal_code }}</td>
    </tr>
    <tr>
        <td>Country (страна)</td>
        <td style="background-color: yellow">Ukraine/Украина</td>
    </tr>
    <tr>
        <td>Phone/fax nr. (телефон/факс)</td>
        <td>{{ shipment.address.phone }}</td>
    </tr>
    </tbody>
</table>
<div class="mt-10"><span class="bold">SHIP TO</span> (грузополучатель)</div>
<table class="second-table">
    <tbody>
    <tr>
        <td>Company name (название компании)</td>
        <td>{{ shipment.name }}</td>
    </tr>
    <tr>
        <td>Contact person (контактное лицо)</td>
        <td>{{ shipment.name }}</td>
    </tr>
    <tr>
        <td>Address (адрес)</td>
        <td>{{ model.shipping_receive_point }}</td>
    </tr>
    <tr>
        <td>City (город)</td>
        <td>{{ model.shipping_address_city }}</td>
    </tr>
    <tr>
        <td>Postal code (почтовый индекс)</td>
        <td>{{ model.shipping_address_zip }}</td>
    </tr>
    <tr>
        <td>Country (страна)</td>
        <td>{{ model.shipping_address_country }}</td>
    </tr>
    <tr>
        <td>Phone/fax nr. (телефон/факс)</td>
        <td>{{ shipment.phone }}</td>
    </tr>
    </tbody>
</table>

<table class="goods-table mt-10">
    <tbody>
    <tr class="text-center">
        <td>
            <div class="bold">No. Units</div>
            <div>Кол-во</div>
        </td>
        <td>
            <div class="bold">Complete description of goods</div>
            <div>Наименование груза</div>
        </td>
        <td>
            <div class="bold">Harmonized tariff code</div>
            <div>Код по ТНВЭД</div>
        </td>
        <td>
            <div class="bold">Country of origin</div>
            <div>Страна происхождения</div>
        </td>
        <td>
            <div class="bold">Unit Value</div>
            <div>Цена за единицу</div>
        </td>
        <td>
            <div class="bold">Total Value</div>
            <div>Общая стоимость</div>
        </td>
    </tr>
    {% for item in shipment.items %}
    <tr>
        <td class="text-center">{{ item.quantity }}</td>
        <td>{{ item.description_eng|slice(0, 35) }} / {{ item.description_local|slice(0, 35) }}</td>
        <td>{{ item.hs_code }}</td>
        <td>Ukraine/Украина</td>
        <td class="text-center">{{ item.price }} {{ shipment.currency }}</td>
        <td class="text-center">{{ item.price * item.quantity }} {{ shipment.currency }}</td>
    </tr>
    {% endfor %}
    <tr>
        <td colspan="5">TOTAL VALUE</td>
        <td class="text-center">
            {{ shipment.items|reduce((carry, item) => carry + (item.price * item.quantity), 0)|round(2) }}
            {{ shipment.currency }}
        </td>
    </tr>
    </tbody>
</table>

<div style="padding: 0 40px;">
    <table class="second-table no-border">
        <tbody>
        <tr>
            <td class="nowrap">
                <span class="bold mr-10">Total weight, kg</span>
                <span>(Общий вес)</span>
            </td>
            <td class="full-width border-bottom">
                {{ shipment.weight }}
            </td>
        </tr>
    </table>
    <table class="second-table no-border">
        <tr>
            <td class="nowrap">
                <span class="bold mr-10">Number of packages</span>
                <span>(Количество  пакетов)</span>
            </td>
            <td class="full-width border-bottom">
                1
            </td>
        </tr>
    </table>
    <table class="second-table no-border">
        <tr>
            <td class="nowrap">
                <span class="bold mr-10">Reason for export</span>
                <span>(Цель экспорта)</span>
            </td>
            <td class="full-width border-bottom">
                <span style="background-color: yellow">SALE / ПРОДАЖА</span>
            </td>
        </tr>
        </tbody>
    </table>
    
    <p class="mt-10">I declare that the above information is true and correct to the best of my knowledge.</p>
</div>

<div class="middle">
    <div>SIGNATURE</div>
    <div>COMPANY STAMP</div>
</div>
</body>
<style>
    * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }

    body {
        font-family: 'Times New Roman', Verdana, Arial, sans-serif;
        font-size: 14px;
        padding: 0;
        margin: 0;
    }
    
    img {
        border-style: none;
    }

    .italic {
        font-style: italic;
    }

    .bold {
        font-weight: 600;
    }

    .text-center {
        text-align: center;
    }

    .space-text span{
        margin-right: 10px;
    }

    .border-bottom {
        border-bottom: 1px solid black !important;
    }

    .clean-float {
        clear: right;
    }

    .mt-10 {
        margin-top: 10px;
    }

    .mb-10 {
        margin-bottom: 10px;
    }

    .mr-10 {
        margin-right: 10px;
    }

    .middle {
        margin-top: 50px;
        margin-left: 50%;
    }
    
    .nowrap {
        white-space: nowrap;
    }

    .second-table.no-border td{
        border: none;
    }

    .margin {
        display: inline-block;
        width: 28%;
    }

    /*head-table*/
    .head-table {
        display: inline-table;
        width: 70%;
        border-collapse: collapse;
    }

    .head-table td {
        height: 18px;
        padding: 0 5px;
        border: solid 1px black;
        line-height: 1;
    }

    .head-table td:first-child {
        width: 60%;
    }

    .head-table td:last-child {
        width: 40%;
    }

    /*second-table*/
    .second-table {
        width: 100%;
        border-collapse: collapse;
    }

    .second-table .slim-row td {
        height: 10px;
    }

    .second-table td, .goods-table td {
        height: 18px;
        padding-right: 5px;
        border: solid 1px black;
        padding-left: 5px;
    }
    
    .second-table td:first-child {
        width: 40%;
    }

    .second-table td:last-child {
        width: 60%;
    }

    .second-table td.nowrap {
        padding-right: 20px;
        width: auto;
    }

    .second-table td.full-width {
        padding-left: 20px;
        width: 90%;
    }

    /*goods-table*/
    .goods-table {
        width: 100%;
        border: solid 1px black;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .goods-table td:nth-child(1) {
        width: 6%;
    }

    .goods-table td:nth-child(2) {
        width: 42%;
    }

    .goods-table td:nth-child(3) {
        width: 13%;
    }

    .goods-table td:nth-child(4) {
        width: 13%;
    }

    .goods-table td:nth-child(5) {
        width: 13%;
    }

    .goods-table td:nth-child(6) {
        width: 13%;
    }

    .goods-table td {
        padding: 5px;
    }
</style>
</html>
```

{% endtab %}
{% endtabs %}
