Reports
Reports are the bridge between what's on site and what the office, the client, and the auditor want to see. The catalogue holds fifteen reports across five categories — work lists, quality and progress, defect detail, cost, and raw data exports — each producing PDF, Excel, or CSV output that's role-filtered and, for the formatted PDFs, generated in the background.
Search the catalogue by name, filter it by category, and the four you ran most recently sit at the top of it. On a phone the whole thing works the same way, filter sheets and all.
The report catalogue
Your reports page shows the catalogue enabled for your organisation. Some reports are on for everyone; others are switched on per organisation, usually because they match a format a particular client already reports in. If a report named below isn't on your reports page, it hasn't been enabled for your org.
Available to every organisation
- →Executive Summary — high-level project health overview with statistics. Use it for steering committees and client updates. PDF and Excel.
- →Summary — one row per defect, with optional photos. The general-purpose list to send on. PDF.
- →Internal Detailed — full notes, photos, and drawings for every defect. The version you keep rather than send. PDF.
- →Defects Export — every defect on the project, full detail, for spreadsheets and downstream systems. CSV and Excel.
- →Register Export — the current document and drawing registers, with revision metadata. CSV.
Switched on per organisation
- →Summary with Cost Impact — only the defects carrying a cost, with the cost attribute and a total.
- →Summary with Notes — a compact list with notes and small photo thumbnails per defect.
- →Post PC Issues — issues raised after Practical Completion, grouped by category.
- →Purchaser Report — one page per defect with photos, written for the purchaser rather than the trade.
- →Quality Control — defects grouped by location, then by status. PDF and Excel.
- →Issued To — defects grouped by who they're issued to. Use it for trade reviews and per-contractor burn-down. PDF and Excel.
- →Defect Type — a breakdown by type with counts, percentages, and per-apartment averages. PDF and Excel.
- →Defect Line Graph — a monthly trend of open, new, and closed defects across a chosen year.
- →Door Sheet — one page per location. Useful for walk-throughs and per-room handover sign-off.
- →Wall Chart — a location × status grid overview. Print A3, stick it on the site office wall.
Generated from elsewhere in the app
Four reports aren't run from the reports page at all — they come off the record they describe:
- →Defect Notification — a per-contractor PDF raised from a defect, worded for its cost attribute, carrying the raised-by details and your project coordinator's name and signature. Where more than one contractor is involved, you get a photo ZIP instead of a single file.
- →Client Defect Summary — a client-scoped, client-friendly pack. Respects client-visibility filters end-to-end.
- →QR Sheet — an Avery-template PDF for printing location QR codes.
- →Tenant QR Cards — printable cards for handing to tenants at handover.
Five reports export as a native Excel workbook as well as a PDF or CSV: Defects Export, Executive Summary, Quality Control, Issued To, and Defect Type. Everything else is single-format.
Filter first, and see the count before you generate
Every report is composed the same way: pick the card, pick the scope, then narrow it.
There are fourteen filter dimensions — location (with a scope modifier for whether child locations come too), status, defect type, priority, who it's issued to, cost attribute, raised by, and three separate date ranges. As you narrow, a match count updates to tell you how many defects the report will actually cover. That count runs the same query the report itself runs, so it can't disagree with what comes out.
Filters a report doesn't read are folded away rather than silently ignored. A report that only looks at one dimension says so, instead of letting you set five filters and quietly honouring one.
Saved reports
A report configuration you'll run again can be saved with a name — its scope, its filters, its format, and its options.
- →Saved reports are visible to you, or shared with the rest of your organisation.
- →Run now dispatches one straight from its card, without reopening the compose screen.
- →Duplicate, rename, share, make private, or delete from the card's menu. Only the owner or a company
admin can change one.
- →Loading a saved report and editing it marks it Edited, so you choose between updating it and
saving a new one rather than overwriting by accident.
Scheduled reports
A saved report can be put on a schedule: daily, weekly on a chosen day, or monthly on a chosen date. It then generates and emails on its own, with nobody logged in.
Scheduling requires PDF format and at least one recipient. Each run re-checks the owner's access before it does anything — if the person who scheduled it loses access to the projects involved, the schedule pauses rather than quietly sending something they shouldn't be able to see. A scheduled run is tagged as such in the history.
Cancel a schedule from the report's card without touching the report itself.
Watching a job run
Report jobs are visible from anywhere in the app through a tray that follows you between screens. Each running job shows live progress and its current stage, an estimated finish based on how long similar reports have actually taken over the last 30 days, and its position in the queue if it's waiting.
From the tray you can:
- →Cancel a job — queued ones are dequeued, running ones stop at the next clean stage boundary and
land as cancelled rather than failed.
- →Retry a failed one, with the reason shown inline rather than swallowed.
- →Download a finished one.
- →Re-run with today's data, or re-generate one whose download link has expired.
Report history
/reports/history holds every run your role can see across the organisation — not just your own, and not just one project at a time.
Each row carries the report name, the projects it covered, who generated it, when, how long it took, the file size, the page count, how many recipients it emailed, and whether it was run by hand or by a schedule. Search it, or filter by person, report type, or project scope. Every filter and page position is carried in the URL, so a filtered view can be sent to someone else.
Where History genuinely doesn't hold a value — an older run from before a column existed — the row shows an em dash rather than a guess.
Email delivery
Any report can be emailed on completion. Turn on Email on completion, add recipients, and there's a one-checkbox shortcut to include the contractor a report is issued to, where one is on file.
Anything over 10 MB goes out as a signed download link rather than an attachment.
Reports across several projects
Scope is set in three modes: one project, several projects, or by manager — every project a named manager runs. Projects are picked from an inline, manager-grouped, searchable list that includes completed projects, so an old job is still findable.
A combined PDF can span multiple projects at once — a cover page, then one section per project. Pick the projects, apply the same date range and status filters you'd apply to a single-project run, and it generates as one document.
Project access is applied server-side, so a multi-project request only ever covers the projects you're already entitled to. Asking for more doesn't widen it.
This is the report to run for a board pack or a portfolio review, where the alternative is running eleven reports and stapling them together.
Role-filtered output
Every report request runs through the same tenant + role scoping as the rest of the API. Two consequences worth being explicit about:
- →A client running the Client Defect Summary sees only the defects they're permitted to see — controlled by an explicit client-visibility filter inside the report endpoint. Cross-tenant or hidden defects return 404, not "no results."
- →Other roles see results bounded by their own scope (their tenant, their projects, their assignments). The same report button is safe to put in front of any role.
This is what lets you give a Client Defect Summary button to a client portal without worrying about data from other projects bleeding in.
How generation actually works
PDF reports generate asynchronously on a job queue, which is why the tray exists — request one and carry on working. Download links are signed and valid for an hour; when one expires, re-generate from the history row rather than starting over.
CSV and Excel exports are synchronous — request one and the file streams straight back.
What to read next
- →Defects — the source data behind the Quality Control and Issued To reports.
- →Construction defect management software — an example page from an exported defect report, with the audit trail printed under the entry.
- →Work orders — line-item detail you'll typically export to CSV.
- →Documents & drawings — what the register exports cover.