CRMcy Docs

Contracts

Time-bounded agreements with renewal reminders.

Last updated 2026-05-05

Contracts represent legal agreements with a start and end date, an associated value, and an optional auto-renewal policy. CRMcy schedules reminder jobs (60 / 30 / 7 days before expiry) that notify the contract owner via email and the in-app inbox. Attached PDFs are stored encrypted at rest in S3; access is logged for audit. Contracts can be linked to a Customer and optionally a Project so renewal context follows the relationship.

A contract template library lets you stamp out new agreements from a Markdown template with merge fields (see Custom fields).

Related endpoints

  • GET /api/tenant/contracts — list with renewal-window filter.
  • POST /api/tenant/contracts — create.
  • POST /api/tenant/contracts/:id/renew — bump end date + emit audit event.
  • POST /api/tenant/contracts/:id/files — attach a PDF (ClamAV-scanned).
  • GET /api/tenant/contracts/expiring — used by the dashboard widget.

See the source at apps/web/src/app/(tenant)/contracts and apps/api/src/contracts.