Срок договора заканчивается: напоминания и согласование продления в n8n
У договора может быть две даты, которые легко перепутать: когда заканчивается срок и когда ещё можно сообщить о своём решении. Напоминание за день до окончания выглядит заботливо, но иногда приходит уже после того, как компания должна была действовать.
Поэтому автоматизацию договоров начинают не с календаря, а с реестра обязательных действий. n8n будет следить за проверенными датами, собирать решение ответственных и напоминать о незавершённых шагах. Смысл условий определяет человек, который работает с договором; программа помогает не потерять результат этой работы.
Содержание
Сроки договоров под постоянным наблюдением
Разместите n8n на VPS MAATRIX и подключите проверенный реестр договоров. Процесс напомнит о решении и сохранит историю согласования.
Выбрать VPS с n8nКарточка, которую можно поручить машине
Для каждого договора заведите устойчивый внутренний ID. Номер, указанный в документе, может повторяться у разных контрагентов или меняться в дополнительном соглашении. В карточке сохраните ссылку на действующую редакцию, владельца договора, подразделение, статус и подтверждённые контрольные даты.
Разделите окончание срока, внутренний срок принятия решения и срок внешнего действия. Последнее может означать отправку уведомления, подписание документа или другое согласованное действие. Не выводите его автоматически из даты окончания, если правила договора различаются.
Добавьте источник каждого срока: документ, пункт, редакция и сотрудник, проверивший значение. Скан и извлечённый из него текст могут помочь подготовить карточку, но распознавание не должно самостоятельно назначать окончательный дедлайн. Ошибка в одной цифре выглядит незначительно только на экране OCR.
Для исправленной даты сохраняйте прежнее значение и причину изменения. Это помогает отличить новую договорённость от обычной ошибки ввода.
Если дата неизвестна или условие неоднозначно, используйте явное состояние «требует проверки». Не подставляйте конец года и не оставляйте пустое поле, которое программа случайно пропустит. Список договоров без проверенных сроков должен быть виден ответственному отдельно.
Три решения и один незавершённый вопрос
Для внутреннего согласования достаточно понятных вариантов: продлевать, завершать отношения, запросить уточнение. Но выбор варианта ещё не означает, что внешнее действие выполнено. Решение «не продлевать» и подтверждённая отправка нужного документа — разные события.
После решения создавайте задачу следующего шага с исполнителем и сроком. Завершение фиксируйте отдельным подтверждением и ссылкой на результат. Если компания использует систему электронного документооборота, берите статус оттуда по документированному интерфейсу или просите сотрудника указать проверенное основание.
Кнопка в Telegram может зафиксировать внутреннее согласование процесса. Не представляйте её как универсальную юридически значимую подпись или доказательство уведомления контрагента. Здесь мы строим контроль работы, а требования к документам и способу их передачи определяются отдельно.
Для решений, затрагивающих несколько отделов, заранее задайте последовательность. Например, владелец договора готовит предложение, финансовый ответственный проверяет бюджет, уполномоченный сотрудник принимает решение. Если требуется несколько согласований, первое нажатие не должно закрывать весь процесс.
Начинаем с реестра, а не с сотни таймеров
Небольшой реестр можно вести в таблице с контролем доступа. Для устойчивой автоматизации удобна PostgreSQL: проще хранить версии карточек, историю решений и уникальные события напоминаний. Выберите одно место, которое считается источником актуальных данных; несколько несогласованных копий создают больше вопросов, чем напоминаний.
Создайте в n8n Manual Trigger и подключите чтение реестра. В Edit Fields приведите поля к единой схеме: ID, версия, ответственный, дата решения, дата действия и состояние. Это ваши внутренние поля, а не готовые названия из любого договора.
Проверьте типы дат. Если значение означает календарный день без времени, не превращайте его незаметно в полночь чужого часового пояса. Для уведомлений задайте конкретное рабочее время команды. Сохраняйте исходную дату отдельно от технического момента отправки сообщения.
Узел Date & Time позволяет вычитать интервалы и приводить представление даты. Например, для внутреннего напоминания за определённое число календарных дней выберите Subtract From a Date, укажите подтверждённую дату решения, единицу Days и нужную длительность. Выход сохраните отдельным полем, не перезаписывая исходный срок.
Рабочие дни и праздничные исключения требуют отдельного календаря и правил. Вычитание семи дней не означает вычитание семи рабочих дней. Для первого запуска можно заранее подготовить контрольные даты в реестре и проверять их автоматически, не пытаясь сразу реализовать сложный календарный расчёт.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
АРЕНДОВАТЬ СЕРВЕРУтренний обход договоров
После ручной проверки добавьте Schedule Trigger на выбранное время и установите часовой пояс workflow. Опубликуйте процесс. Он выбирает открытые карточки с наступившим сроком напоминания и проверяет, не было ли такое событие отправлено ранее.
Ключ напоминания должен включать договор, версию карточки и этап. Это позволяет различать первое уведомление, повторное напоминание и эскалацию. Повтор ежедневного обхода не должен порождать одинаковые сообщения по всем договорам подряд.
Перед отправкой перечитайте актуальную карточку. Владелец мог обновить редакцию, перенести внутреннее совещание или уже подтвердить действие. Если версия изменилась, старое подготовленное сообщение лучше отменить и построить новое. Устаревшее напоминание с правильным номером договора всё равно вводит в заблуждение.
В тексте сообщения укажите, какое решение требуется, к какому сроку, кто отвечает и где открыть карточку. Не прикладывайте полный договор в общий чат. Ссылка на закрытый реестр оставляет контроль доступа там, где ему и положено быть.
Для руководителя полезен отдельный обзор: решения без ответа, действия без подтверждения и карточки с непроверенными сроками. Эти группы не стоит смешивать в один красный список. У них разные причины задержки и разные следующие шаги.
Согласование, которое переживёт паузу
Для небольшой последовательности можно использовать Wait с возобновлением по форме или вебхуку. Ожидающее выполнение сохраняет состояние в базе. Настройте аутентификацию и проверку того, что отвечающий сотрудник действительно назначен согласующим.
Само решение привяжите к ID договора и версии. Показанный человеку текст, сумма и редакция должны совпадать с тем, что будет использовано после подтверждения. Если договор изменился во время ожидания, верните его на согласование. Старое «согласен» не распространяется автоматически на новые условия.
Предусмотрите отказ, запрос уточнения, передачу другому ответственному и истечение срока ответа. Молчание не означает согласия. После тайм-аута процесс создаёт понятную задачу или уведомляет руководителя, сохраняя незавершённый статус.
Если согласований много и они регулярно меняются, храните их отдельными заданиями в базе, а n8n используйте для обхода и доставки. Такой подход удобнее длинной цепочки ожиданий, которую трудно пересобрать при увольнении сотрудника или изменении маршрута.
Продление не должно стирать историю
Когда договор продлён, создайте новую версию карточки с новой редакцией и проверенными датами. Старые решения и уведомления сохраняйте связанными с прежней версией. Иначе через полгода в журнале останется странная запись: сотрудник якобы согласовал срок, которого тогда ещё не существовало.
Отмените незавершённые напоминания старой версии и явно создайте новые. Если продление подтверждено частично, не закрывайте весь процесс. Например, решение принято, но документ ещё не подписан: это отдельное состояние с собственным ответственным.
Договоры, которые больше не действуют, исключайте из ежедневного обхода, но не удаляйте автоматически вместе с историей. Срок хранения документов и событий устанавливается правилами вашей организации. Автоматизация должна поддерживать эти правила, а не придумывать их по размеру свободного диска.
Периодически проверяйте список ответственных. Напоминание на адрес уволившегося сотрудника технически может отправляться успешно. Полезен отчёт по карточкам без действующего владельца и резервный получатель для таких случаев.
Шесть проверок перед настоящим календарём
Создайте тестовые карточки с датой сегодня, в прошлом и в будущем. Добавьте неизвестный срок, смену ответственного и новую редакцию во время ожидания. У каждой заранее определите ожидаемое уведомление и состояние после решения.
Повторите утренний обход дважды: одинаковые события не должны отправиться снова. Затем подтвердите решение старой ссылкой после обновления карточки. Система должна обнаружить несовпадение версии и попросить открыть актуальный запрос.
Остановите тестовый процесс на несколько дней и запустите снова. Он должен показать пропущенные сроки, а не считать, что всё, что было вчера, больше не важно. При этом не нужно рассылать пачку устаревших промежуточных напоминаний: сформируйте одно актуальное сообщение с объяснением задержки.
Для небольшого реестра и уведомлений достаточно начать с VPS MAATRIX Uab Start с 4 GB RAM на поддерживаемой Ubuntu или Debian. Это ориентир для пилота. Если рядом хранится архив документов или выполняется распознавание, отдельно рассчитайте диск и память. Размещение данных, права сотрудников и резервные копии определите до загрузки реальных договоров.
В MAATRIX можно заказать VPS с n8n и настроить собственный маршрут согласования. Такой календарь не читает договор вместо специалиста. Он делает другое полезное дело: сохраняет проверенные сроки и не позволяет важному решению раствориться между почтой, совещаниями и надеждой, что кто-нибудь обязательно вспомнит.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
АРЕНДОВАТЬ СЕРВЕРОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →