📄 Контракты

Контракты позволяют составлять соглашения с клиентами, отправлять их на подпись и отслеживать, когда они начинаются, заканчиваются и требуют продления. Раздел находится в боковом меню — Контракты (/admin/contracts).

Доступ управляется правами: сотрудник может видеть все или только свои, и отдельно создавать / редактировать / удалять. У кого «видит свои», тот видит только созданные им контракты.

Обзор

Список контрактов открывается с карточек-итоговАктивные, Истёкшие, Скоро истекают (в течение 7 дней), Недавно добавленные и Корзина — и двумя графиками: Контракты по типу и Стоимость контрактов по типу (в базовой валюте). Если у части валютных контрактов ещё нет курса, появляется примечание «курсы неполные», чтобы итоги никогда не были подделаны.

Таблица показывает тему, клиента, тип контракта, стоимость, даты начала и окончания, проект и статус подписи. Фильтр помогает сузить список — Подписанные, Отмеченные как подписанные, Не истёкшие, Истёкшие, Без даты окончания, Корзина, по году, по месяцу или по каждому типу контракта — и можно сохранять свои расширенные фильтры. Новый контракт — сверху слева.

Создание контракта

Нажмите Новый контракт. Вкладка Информация о контракте содержит:

  • Клиент (обязательно) и, если есть, необязательный Проект.
  • Тема (обязательно).
  • Стоимость контракта и Валюта. Если валюта не базовая, блок FX фиксирует официальный курс (и, если разрешено, ручной применённый курс с примечанием).
  • Тип контракта — выберите один или нажмите +, чтобы добавить новый тип прямо здесь.
  • Дата начала (обязательно) и Дата окончания.
  • Описание — короткая внутренняя заметка.
  • Две галочки: Не виден клиенту (скрывает из портала клиента) и Корзина контракта (мягкая метка «архив», которая скрывает из обычных списков, не удаляя).
  • Любые кастомные поля, заданные для контрактов.

Сам текст контракта находится на вкладке Содержимое контракта — редактор с форматированием. Вы можете:

  • нажать на merge-поле, чтобы вставить живые данные (имя клиента, адрес, подпись email, …), которые подставляются автоматически при просмотре контракта или создании PDF,
  • или Применить шаблон, чтобы вставить готовое содержимое контракта.

Сохранение текста. Редактор сохраняет и сам (когда вы уходите из текста или по Ctrl+S), но есть и видимая кнопка Сохранить: одна в строке вкладок, справа после Шаблоны, и одна под текстом контракта — чтобы сохранять с любого конца длинного контракта, не прокручивая назад. Кнопки показываются только пока текст можно редактировать (не на подписанном контракте).

Шаблоны и типы. Типы контрактов настраиваются в Setup → Контракты → Типы контрактов. При новой установке для вас создаётся набор типов по умолчанию — Закупка (Achiziție), Аренда (Locațiune), Продажа (Vânzare), Подряд / Работы (Antrepriză), Услуги (Servicii), HR / Труд (HR/Muncă) и Поставка (Furnizare) — чтобы можно было сразу начать составлять контракты. Переиспользуемые шаблоны контрактов (содержимое + язык) позволяют начать новый контракт из стандартного текста одним кликом, и каждый шаблон привязан к типу контракта (селектор Тип контракта в редакторе шаблонов), так что выпуск контракта из шаблона автоматически проставляет этот тип на контракт.

Переменные шаблона — окно заполнения перед выпуском

Шаблон контракта может объявить свои переменные — то, что меняется от контракта к контракту (срок оплаты, срок установки, аванс…). Когда вы применяете шаблон с переменными, открывается небольшое окно и запрашивает именно эти значения; после подтверждения шаблон вставляется, а значения подставляются.

  • Определите их один раз в шаблоне (Setup → Contract Templates → изменить → Variables): выберите, какие из ваших пользовательских полей контракта являются переменными шаблона, и задайте каждой подпись.
  • Вычисляемые переменные считаются сами по простой формуле от других и суммы контракта — например баланс = {contract_value} - {avans}. Они заполняются автоматически и не редактируются вручную.
  • В тексте переменная выводится как {slug} (значение) или {slug}_in_words (сумма прописью).

Блокировка текста. Кто может свободно редактировать текст контракта, задаётся для каждого типа контракта, а не глобально. В Setup → Контракты → Типы контрактов у каждого типа есть свой список «Роли, которые могут редактировать текст контракта» — так, например, HR-менеджер может свободно редактировать контракты типа HR / Труд, а менеджер по закупкам — контракты типа Закупка, и каждая роль редактирует только те типы контрактов, которые ей разрешены. Сотрудники, которым не разрешено редактировать текст данного типа, всё равно могут заполнять переменные шаблона, но пункты договора остаются для них только для чтения — так менеджер задаёт суммы и сроки, не меняя юридический текст. Оставьте список типа пустым, чтобы все могли редактировать контракты этого типа (по умолчанию).

Данные бенефициара заполняются сами

Шаблон договора обычно содержит блок Бенефициар, собранный из полей слияния — {partner_legal_name}, {partner_fiscal_code}, {partner_address}, {partner_requisites}, {partner_representative}, {client_email} и других.

Они заполняются из клиента, к которому привязан договор, независимо от того, как договор был создан — в том числе если вы сделали его прямо из модуля Договоры или из карточки клиента, а не через Быстрый договор.

Откуда берётся каждое значение, по порядку:

  1. Экономический партнёр, связанный с этим клиентом, если модуль Экономические партнёры активен — юридическое название, фискальный код, адрес юридического лица, банковские реквизиты и контактное лицо.
  2. Клиент, поле за полем, для того, чего у партнёра нет. Партнёр без банковского счёта, например, всё равно даст название компании и фискальный код клиента.

То, у чего нет источника, остаётся пустым — но никогда не печатается как {token}.

Личный код (IDNP/CNP) никогда не попадает в {partner_fiscal_code}. Он хранится в зашифрованном виде, и читаемы только последние цифры; замаскированный код на подписанном договоре был бы ложной информацией. Для физических лиц используйте отдельное поле {client_IDNP}, которое заполняется из карточки клиента.

Где PDF разорвёт страницу

Договор подписывают на бумаге, поэтому важно, где заканчивается страница: блок подписей, оставшийся один на последнем листе, — настоящая проблема, а узнавали вы об этом только после генерации PDF.

Над редактором есть кнопка «Пересчитать разбивку на страницы». Нажмите её — и TSync проведёт в тексте линию на каждой границе страницы, с подписью «{n} страниц, измерено движком, который печатает PDF.»

Измеряет тот самый движок, который печатает, а не браузер. В этом вся суть: прежний ориентир рисовал линию через каждые столько-то миллиметров экранного содержимого, с каждой страницей расходился всё сильнее и был убран именно потому, что уверенно врал.

Каждое измерение — это настоящая отрисовка, поэтому оно не повторяется на каждое нажатие клавиши; вы запрашиваете его сами:

  • нажимаете кнопку или сохраняете договор;
  • как только вы меняете текст, линии бледнеют, а подпись говорит: «Текст изменился — показанная разбивка больше не соответствует. Пересчитайте.» Они намеренно остаются на экране: правка, которая, может, ничего и не сдвинула, не должна лишать вас ориентира;
  • если измерить не удалось, вы увидите «Разбивку не удалось измерить. Устаревшие позиции не показываются.» Старая позиция никогда не выдаётся за текущую.

Изменение параметров страницы (поля, формат) сдвигает каждую границу, не тронув ни одного символа, — это тоже изменение, пересчитайте после него.

PDF, отправка и онлайн-подпись

PDF соответствует тому, что вы видите в редакторе. Рамка, которую вы убрали из текста, больше не появляется в PDF, а рамка таблицы сохраняет заданный вами цвет (светло-серый остаётся светло-серым). Если у вас есть старые договоры, печатавшиеся с лишними или неправильно окрашенными рамками, они исправятся сами — ничего переоформлять не нужно, исправление применяется при формировании PDF.

Из открытого контракта вы можете:

  • PDF — просмотреть, открыть в новом окне, скачать или распечатать.
  • Отправить клиенту (конверт) — выбрать контакт(ы), добавить CC, отметить Прикрепить PDF, отредактировать превью письма и включить существующие вложения, затем отправить.
  • Электронная подпись — клиент открывает защищённую ссылку, просматривает контракт, подтверждает своё имя, email и подписывает на экране. TSync сохраняет изображение подписи и записывает кто подписал, email, дату и IP как доказательство.

Также можно Отметить как подписанный вручную (для контракта, подписанного на бумаге). После подписания (онлайн или отметкой) клиент, стоимость, валюта и даты блокируются для защиты соглашения; баннер показывает, кто и когда подписал. У админов остаётся аудируемый способ исправить валюту/FX даже на подписанном контракте, а подпись можно очистить при наличии права на удаление.

Печать через Ctrl+P

Не все нажимают кнопку PDF — многие просто жмут Ctrl+P. Теперь оттуда печатается только договор: текст и блок подписи, ровно как в PDF. Без бокового меню, без кнопок, без панели приложений и без даты и адреса страницы, которые обычно добавляет браузер.

Работает одинаково с экрана редактирования и по ссылке, которую открывает клиент.

Если есть несохранённые правки, Ctrl+P сначала сохранит их и только потом напечатает — чтобы бумага никогда не расходилась с договором в системе. Если печатать из меню браузера, а не через Ctrl+P, на копии появится заметная полоса «Черновик — есть несохранённые изменения», чтобы её нельзя было принять за окончательный документ.

Продления и напоминания об истечении

  • На вкладке Продления кнопка Продлить контракт открывает короткую форму — новые даты начала и окончания (предлагаются из исходной длительности), новую стоимость и опцию сохранить подпись. Прошлые продления показаны как история.
  • TSync следит за контрактами, приближающимися к Дате окончания, и за заданное число дней до неё отправляет напоминание — уведомление сотрудникам плюс письмо (и опционально SMS) и вашей команде, и клиенту. Неподписанные контракты также получают периодическое напоминание о подписи клиенту.
  • Эти сроки настраиваются в Setup → Настройки → Cron → Контракты (за сколько дней напоминать, как часто повторно отправлять напоминание о подписи). Истекающие контракты также могут отображаться в календаре и в виджете дашборда.

Как отключить напоминания для определённого вида договоров

Не за каждым договором нужно следить. Покупка — это разовая сделка, а договор, написанный под конкретный проект, заканчивается вместе с проектом: ни тому, ни другому не нужно предложение о продлении.

Откройте Настройки → Типы договоров, нажмите на тип и снимите галочку «Отправлять напоминания об истечении для договоров этого типа». С этого момента такие договоры не поднимают ни письма-напоминания, ни карточки соответствия на панели. У типов с отключёнными напоминаниями в списке появляется значок с перечёркнутым колокольчиком — состояние видно, ничего не открывая.

Это касается и договоров, которые уже есть под этим типом, а не только новых, — обычно именно поэтому галочку и снимают. Изначально всё включено, так что ничего не меняется, пока вы сами не решите.

Работа над контрактом

Помимо содержимого, у каждого контракта есть вкладки:

  • Вложения — файлы перетаскиванием (или из Google Drive / Dropbox),
  • Комментарии — обсуждение, видимое команде и, если разрешите, клиенту,
  • Задачи — дела, привязанные к контракту,
  • Заметки — внутренние заметки продаж,
  • Шаблоны и отслеживание писем.

Можно Скопировать контракт (из меню Ещё), чтобы продублировать его, переместить в Корзину (мягкое скрытие) или Удалить навсегда (нужно право на удаление).

Что видит клиент

В портале клиента у вашего клиента есть раздел Контракты с небольшим графиком и таблицей его контрактов (всё, что вы отметили Не виден клиенту, остаётся скрытым). Он может открыть контракт, скачать PDF, добавить комментарии и подписать онлайн. Можно требовать, чтобы клиенты были авторизованы перед просмотром контракта.