feat(reports): finish PMS-93 story (dashboard, tickets, time, billing, CSV) #33

Closed
David wants to merge 0 commits from feat/reports-story-pms-93 into main
Owner

Closes #PMS-93

Closes #PMS-93
feat(reports): scaffold + dashboard, tickets, time, billing, CSV export
All checks were successful
Create release / Create release from merged PR (pull_request) Has been skipped
25ea790204
Batches PMS-94..99:
- PMS-94 scaffold + router wire
- PMS-95 `GET /reports/dashboard`: open tickets by priority, SLA warnings (<2h to due), SLA breached counts, 30-day ticket-open trend
- PMS-96 `GET /reports/tickets?from&to`: opened-by-status / closed-total / opened-by-assignee buckets
- PMS-97 `GET /reports/time?from&to`: minutes-by-user and minutes-by-work_type
- PMS-98 `GET /reports/billing?company_id`: invoiced / paid / outstanding totals + aging buckets (current / 1-30 / 31-60 / 61-90 / 90+)
- PMS-99 CSV export: `GET /reports/:report/export?format=csv` renders any of the above as text/csv. `format=pdf` returns 400 with a "not yet implemented" message; PDF support depends on bringing in `printpdf` (deferred to follow-up to avoid pulling a heavy dep before it's needed).

#PMS-94 State Done
#PMS-95 State Done
#PMS-96 State Done
#PMS-97 State Done
#PMS-98 State Done
#PMS-99 State Done
vas2000-work closed this pull request 2026-05-21 02:42:58 +02:00
Some checks are pending
Create release / Create release from merged PR (pull_request) Has been skipped
Check / * (pull_request)
Required
E2E / * (pull_request)
Required

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-server!33
No description provided.