MOD-CONTRACT-TM — Подряд Time & Materials
Лицензия: Платный
Модуль ведёт подрядную работу, которая оплачивается по факту: задача создаётся вручную или из заявки контрагента, получает оценку в часах и ставку, а затем накапливает записи фактических трудозатрат. Ставка фиксируется в момент записи по цепочке приоритетов «задача → исполнитель → заказчик → инсталляция», поэтому позднее изменение прайса не переписывает уже принятое время задним числом.
Жизненный цикл детерминирован: новая → в работе → выполнена → выставлена, с проверкой условий входа в каждый переход и возвратом на доработку. В биллинг попадают только принятые записи; расчёт идемпотентен по набору строк остатка, а сторно не удаляет первичку — оно лишь возвращает работу в статус непробиллингованной. Акт выполненных работ формируется в модуле документов, здесь хранится только ссылка на документ. Если оценка превысила порог, модуль мягко предлагает передать работу в проектный контур вместо тихого разрастания подряда.
Возможности
- Подрядные задачи из ручного ввода или из заявки контрагента
- Оценка трудозатрат в часах и ставка в копейках, мягкое предупреждение при превышении порога
- Записи фактического времени с фиксацией ставки на момент записи
- Импорт времени из модуля задач с дедупликацией по исходной записи
- Приём и отклонение времени по отдельному праву; в биллинг идут только принятые строки
- Детерминированный жизненный цикл с проверкой условий перехода и возвратом на доработку
- Предрасчёт суммы без выставления, с построчной разбивкой и перепроверкой
- Идемпотентный биллинг по невыставленному остатку и сторно с обязательной причиной
- Акт выполненных работ через модуль документов, фиксация оплаты счёта
- Ставки по инсталляции, заказчику и исполнителю; изменение не пересчитывает принятое
- Метрики: по статусам, перерасход факта над оценкой, непробиллингованная сумма, выручка, время цикла
- Append-only таймлайн задачи: переходы, оценка, время, биллинг, акт, оплата, сторно
Основные MCP-инструменты
| Инструмент | Назначение |
|---|---|
contract-tm__work_item.create | Создать подрядную задачу с опциональной стартовой оценкой |
contract-tm__work_item.create_from_request | Создать задачу из заявки контрагента с перечнем нераспознанных полей |
contract-tm__work_item.update | Изменить поля задачи по белому списку |
contract-tm__work_item.move_stage | Перевести задачу по жизненному циклу с проверкой условий |
contract-tm__work_item.list | Список задач: статус, исполнитель, заказчик, просроченные, непробиллингованные |
contract-tm__work_item.get | Задача с агрегатами: оценка, факт, расчёты биллинга |
contract-tm__work_item.delete | Мягкое удаление задачи с окном восстановления (с подтверждением) |
contract-tm__work_item.promote_to_project | Передать переросшую работу в проектный контур (с подтверждением) |
contract-tm__estimate.set | Задать оценку: часы × ставка, предупреждение при превышении порога |
contract-tm__timelog.add | Добавить запись фактического времени с фиксацией ставки |
contract-tm__timelog.import_from_task | Импортировать время из модуля задач с дедупликацией |
contract-tm__timelog.approve | Принять или отклонить записи времени |
contract-tm__timelog.update | Изменить непринятую запись времени |
contract-tm__timelog.delete | Удалить запись; принятая — только сторно с подтверждением |
contract-tm__billing.preview | Предрасчёт суммы без выставления, с построчной разбивкой |
contract-tm__billing.run | Биллинг по невыставленному остатку, идемпотентный по набору строк |
contract-tm__billing.void | Сторнировать выставленный биллинг с причиной (с подтверждением) |
contract-tm__act.generate | Инициировать акт выполненных работ в модуле документов |
contract-tm__payment.register | Зафиксировать оплату по счёту |
contract-tm__rate.upsert | Ставка за час по инсталляции, заказчику или исполнителю |
contract-tm__rate.list | Действующие ставки |
contract-tm__metrics | Метрики: статусы, перерасход, непробиллингованное, выручка, время цикла |
contract-tm__timeline.get | Append-only таймлайн подрядной задачи |
Блоки холста
workitem-card— карточка задачи подрядаworkitem-field— отдельное поле задачи подрядаestimate-card— карточка оценки работestimate-field— отдельное поле оценкиtimelog-card— карточка записи времениtimelog-field— отдельное поле записи времениbillingrun-card— карточка биллингаbillingrun-field— отдельное поле биллинга
Связанные модули
- MOD-TASK — источник импортируемых записей рабочего времени
- MOD-DOCS — акт выполненных работ и его согласование
- MOD-CRM — счёт заказчику по результатам биллинга
- MOD-FINANCE — выручка подряда в управленческом учёте
- MOD-ORG — оргструктура, через которую выдаются права на ставки и биллинг