Денис Дмитриев
Все проекты
Инструмент/В работе/2026/Для EvoSoft

Генератор договоров из Telegram

Менеджер присылает коммерческое предложение и реквизиты в чат — получает готовый договор и отчёт о том, что именно в нём изменилось.

  • Договор собирается из чата за минуты вместо ручного копирования полей
  • Эталон договора физически не может быть изменён — только копия
  • Каждое подставленное значение подсвечено, а изменения выписаны отдельным отчётом

Задача

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

Как устроено

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

Что было трудно

Ключевое решение — сверка отпечатка эталона перед каждой генерацией. Без неё система работает ровно до дня, когда кто-то поправит образец «на минутку»: дальше она начинает уверенно печатать неправильные договоры, и заметят это не сразу. Проверка превращает тихий сбой в громкий отказ.

Чем подтверждено

  • Эталон недоступен на запись по построению: правится только копия
  • Отчёт об изменениях создаётся на каждую генерацию — постфактум видно, что подставлено
  • Исходные КП и реквизиты из чата сохраняются, генерация воспроизводима

Стек

PythonGoogle Apps ScriptGoogle Drive APIaiogram