One Report, Three Systems
I'm a superintendent on a 1.4 MW commercial rooftop solar project. The work on the roof is the job everybody sees. The job nobody sees starts when the crew goes home: the reporting.
Every day ends with the same chain. The Excel production report — crew, quantities installed, hours by cost code. The Procore daily log — the same manpower, rolled up by cost code for the office. WorkMax — the time records that payroll runs on. Three systems, three formats, one set of facts. None of them talk to each other, so for a long time the integration layer was me, retyping the same numbers three times at the end of a ten-hour day.
The workflow now
I enter the day's production once, in the Excel report — it comes first because it's the one with the detail: who was on what, what got installed, where the hours went. Then my AI assistant builds the other two from it. The Procore log gets its manpower by cost code. The WorkMax side gets checked against the time records. I review the whole package, correct what needs correcting, and send it up the chain — the daily to my PM, the weekly roll-up to the senior PM.
Nothing about this required new software. The systems were already bought and paid for. What was missing was something to carry the numbers across the gaps between them.
What I still check myself
This is the part that matters more than the automation:
Payroll is the source of truth. If the production report and the time records disagree about who worked, the time records win, every time. The AI knows this rule because I gave it the rule.
Cost codes get a human eye. Racking, modules, wire management, ballast — charge a crew's day to the wrong code and the job's cost picture is wrong for weeks before anybody notices. I read every line.
Quantities get checked against the roof. I walked it that day. If the report says we set more modules than the crew could physically set, that's mine to catch, not the software's.
Where it breaks
It only knows what I feed it. A last-minute crew change I forget to mention doesn't exist to it. A material delivery that arrived with no paperwork doesn't exist to it. Weather that shut us down at 2 p.m. exists only if I say so. That's not a flaw in the tool — it's the boundary of the job split. The AI carries numbers. I carry the day.
It also means the review is not a courtesy step. The day I stop reading the output is the day a wrong number goes to the office with my name on it.
The point
Most field leaders I know aren't short on software. They're short on hours, and the hours leak out at the seams between systems that were never built to agree. You don't need a platform migration to fix that. You need one source of truth, clear rules about which system wins, and something — these days, an AI assistant — to do the carrying.
The retyping is gone. The judgment stayed. That's the whole trade, and it's a good one.