reports
Reports module · 6 operations
Budget versus actual
GET/reports/budget-vs-actual
Revised budget (working budget plus approved change orders) against actual spend, grouped by one dimension. Unpriced lines stay out of each sum and are counted in `unpriced_count`. A rule that refuses the request returns 422 with `refusal` and `reason`.
Labor
GET/reports/labor-cost
Worked hours, timesheets and timesheets with an open entry, per readable project, from submitted time (app.timesheet_hours). Pay is Restricted and never reported here. A rule that refuses the request returns 422 with `refusal` and `reason`.
PO exposure
GET/reports/po-exposure
Committed purchase order value (lines plus approved changes) against value received, by vendor. An order with an unpriced line stays out of each sum and is counted in `unpriced_count`. A rule that refuses the request returns 422 with `refusal` and `reason`.
Incident rates
GET/reports/incident-rates
Incidents and open incidents per canon severity, optionally for one project and a window of occurrence. A rule that refuses the request returns 422 with `refusal` and `reason`.
Final cost report
GET/reports/final-cost-report
Final cost of one project by GL account: the gate 3 baseline plus approved change orders against posted actuals from the Universal Posting Line. A project without a baseline answers 422 NO_ANSWER, never zero. A rule that refuses the request returns 422 with `refusal` and `reason`.
Gate readiness
GET/reports/gate-readiness
Criteria with evidence against the next gate of each readable project: blocking and other criteria met and in total, and whether the gate is ready. A rule that refuses the request returns 422 with `refusal` and `reason`.