Projects
Group work, track time, and bill against fixed-fee or hourly contracts.
Last updated 2026-05-05
Projects are containers for tasks, milestones, files, and time entries. Each project is owned by a Customer and optionally references a Contract; billing mode (fixed-fee, hourly, or non-billable) determines whether time entries roll up into draft invoices automatically. The Gantt + Kanban hybrid view at Operations → Projects → :id → Board lets you flip between schedule-aware and status-grouped lenses without losing your filters. Project members get an in-app inbox for at-mentions and assignment changes.
A weekly digest job (cron-scheduler) emails the project owner a status summary every Monday at 09:00 in the tenant's timezone, configurable per project.
Related endpoints
GET /api/tenant/projects— list with status, owner, customer filters.POST /api/tenant/projects— create.GET /api/tenant/projects/:id/timeline— milestones + tasks merged.POST /api/tenant/projects/:id/members— assign staff.GET /api/tenant/projects/:id/time-entries— billable + non-billable.
See the source at apps/web/src/app/(tenant)/projects and apps/api/src/projects.