#60 — Time tracking & timesheets
New module + contract: timers, billable/non-billable entries per client/engagement, custom rates, budgets vs actuals, invoice-from-time, timesheet reports, expense tracking, timesheet approvals. A near-universal competitor table-stake Firmary lacks; feeds billing now and realization/utilization/capacity analytics in Phase 3. Size: L. Source: product-roadmap.md §4 (scope widened by the 2026-07-09 comparison fold-in: + expenses, approvals).
2 Comments
·about 2 months agoShipped 2026-07-09 on master (merge e445931, migration 0057). Full module: live timers, manual entries, billable/non-billable, per-client/engagement/task, rate tiers with snapshots, budgets + budget-vs-actual with 50/80/100 threshold events, timesheet reports, portal read-only billed-time view, invoice-from-time into billing. Gated OFF by default (module registry) — enable per tenant after the E2E pass. Reconciled with the billing lane: both invoice-from-time paths share the invoice_time_links + invoicedAt never-bill-twice guards.
Closed during the 2026-08-23 GitHub migration: shipped 2026-07-09 (merge e445931, migration 0057) — full time-tracking module. Roadmap record: docs/roadmap/product-roadmap.md + quackback-roadmap.json (#60 complete). Remainder items (expenses/approvals depth, tenant enablement, E2E) are named in the register's Phase-1 backlog.