﻿---
title: Контроль продления договоров с поставщиками
description: "Реестр договоров на Laravel + Filament: сроки продления, окна отказа от автопролонгации, ответственные и передача между операциями, юристами и финансами."
---

## Что это за сервис

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

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

## Что он делает

- **Собирает договоры в одном реестре.** У каждого договора есть контрагент, предмет, сумма, дата окончания, ответственный и статус; поиск и фильтры заменяют папку со сканами.
- **Предупреждает заранее.** Договоры попадают в окна «90, 60 и 30 дней до окончания», и ответственный получает уведомление, пока ещё есть время на переговоры.
- **Отдельно следит за автопролонгацией.** Для договоров с автоматическим продлением считается крайний срок уведомления об отказе, и предупреждение приходит раньше даты продления.
- **Закрепляет одного ответственного.** Передача договора от операционного отдела юристам и финансам видна в истории: кто, когда и с каким решением передал.
- **Даёт актуальный отчёт по портфелю.** Сумма обязательств, договоры на пересмотре и просроченные продления видны без ручной сборки таблиц.

## Нюансы и особенности

- **Ответственный — обязательное поле.** Договор без владельца продления не сохраняется. Если человек уходит, его договоры попадают в очередь переназначения, а не остаются бесхозными.
- **Первое предупреждение — за 90 дней.** За месяц до окончания крупный договор уже не пересогласовать. Окна предупреждений выносят в настройки и при необходимости задают по типу договора.
- **Срок отказа важнее даты окончания.** Для автопролонгации в договоре обычно указан срок письменного уведомления. Его считают и хранят отдельно, иначе предупреждение о дате продления придёт слишком поздно.
- **Истёкший договор не исчезает.** Если к дате окончания решения нет, статус меняется на «Истёк» или «Под угрозой», а руководитель получает эскалацию. Работа продолжается по такому договору, а не по пустому месту в таблице.
- **Устаревшие записи видны.** У договора хранится дата последней проверки; записи, которые не открывали полгода, попадают в еженедельную сводку.
- **Юристы — не узкое горлышко.** К юристам направляют только договоры выше порога суммы или с нестандартными условиями; типовые продления операционный отдел закрывает сам. Разные роли видят разные поля: юрист — условия и согласование, операционный отдел — стоимость и контакты поставщика.
- **Систему договорной работы это не заменяет.** Если договоры уже ведутся в 1С:Документооборот, СЭД или CLM-системе, приложение подключают к ним через API или read-only доступ к базе и строят поверх рабочий экран продлений. Если штатные напоминания системы уже закрывают задачу, отдельное приложение не нужно.

## Как сгенерировать через ИИ-агентов

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным **Filament 4.x**. Отправляйте их по одному: каждый шаг даёт результат, который можно проверить до перехода к следующему.

### 1. Данные и модели

```text
Создай модели и миграции для реестра договоров с поставщиками:
Vendor (название, ИНН, контакты), Contract (поставщик, предмет, сумма,
дата начала, дата окончания, автопролонгация да/нет, срок уведомления
об отказе в днях, вычисляемый крайний срок отказа, ответственный,
статус, дата последней проверки), ContractHandoff (договор, от кого,
кому, отдел, комментарий, время). Ответственный обязателен. Добавь
фабрики с демо-данными, включая договоры с автопролонгацией.
```

Проверьте, что крайний срок отказа пересчитывается при изменении даты окончания.

### 2. Карточка договора

```text
Сгенерируй Filament-ресурс для Contract. В карточке покажи условия,
сроки, крайний срок отказа и историю передач через relation manager.
Добавь действие «Передать» с выбором отдела, исполнителя и обязательным
комментарием. Поля с условиями договора показывай только роли «юрист»
и руководителю.
```

### 3. Окна продления и фильтры

```text
Добавь в таблицу договоров вкладки «90 дней», «60 дней», «30 дней»,
«Автопролонгация: срок отказа близко», «Истёк» и «Не проверялся
полгода». Окна задай в конфиге. Добавь фильтры по поставщику, отделу,
ответственному и сумме, сортировку по ближайшему сроку.
```

### 4. Уведомления и эскалации

```text
Сделай ежедневную фоновую задачу: при входе договора в очередное окно
отправляй ответственному уведомление в панели и письмо, для
автопролонгации — отдельное предупреждение по сроку отказа. Если дата
окончания прошла без решения, меняй статус на «Истёк» и уведомляй
руководителя. Одно окно не должно давать повторных писем.
```

### 5. Импорт, доступ и отчёт

```text
Добавь импорт договоров из CSV с сопоставлением колонок и отчётом
об ошибках. Настрой доступ: сотрудник отдела видит договоры своего
отдела, руководитель — все. Добавь виджеты суммы обязательств
по месяцам окончания и экспорт портфеля для квартального пересмотра.
```

Войдите под сотрудником отдела и убедитесь, что чужие договоры не видны ни в таблице, ни в экспорте.

## Похожие сценарии

- [Портал поставщиков](https://wpcraft.ru/kb/stacks/filament/use-cases/operations/vendor-portal.md) — анкеты, документы и показатели поставщика, из которых складывается решение о продлении.
- [Чем отличается от контроля продлений клиентов](https://wpcraft.ru/kb/stacks/filament/use-cases/sales/renewal-pipeline-tracker.md): там продления договоров с клиентами как выручка отдела продаж, здесь — договоры с поставщиками как расходы и обязательства компании.
- [Отслеживание заказов на закупку](https://wpcraft.ru/kb/stacks/filament/use-cases/finance/purchase-order-tracker.md) — исполнение закупок по действующим договорам.

## Материалы и источники

- [Refine: Contract Renewal Tracker](https://refine.dev/use-cases/operations/contract-renewal-tracker/)
- [Filament 4.x: ресурсы](https://filamentphp.com/docs/4.x/resources/overview)
- [Filament 4.x: фильтры таблиц](https://filamentphp.com/docs/4.x/tables/filters/overview)
- [Filament 4.x: уведомления](https://filamentphp.com/docs/4.x/notifications/overview)
- [Filament 4.x: импорт](https://filamentphp.com/docs/4.x/actions/import)