Every maintenance system eventually faces the same decision, and most make it the same way: the reporting the management layer wants gets designed first, and the technician's workflow is shaped to feed it.

The person at the machine is the user, not the data source

A technician is standing in front of a stopped line with a tool in one hand. Anything that requires two hands, a stable network or a decision about which of eleven fields is the right one is a task that gets skipped — and skipped data is worse than no data, because a system full of half-true records is trusted.

The design rule we hold to is blunt: the field workflow decides the shape of the product, and the reports are derived from it. Not the other way round.

Make the honest action the cheap one

Reporting a machine as running and writing the maintenance report are two different facts, and sharing one field between them forces a lie at three in the morning. When a line comes back up, the truthful action is "the machine is running" — the report is written when there is actually time to write it.

Keeping those separate is not a nicety. It is what makes the downtime figure real, the history readable and the technician willing to use the system at all.

Capture has to survive the building

Industrial sites have dead spots: the far end of a warehouse, a basement plant room, a steel-framed hall. If filing a defect requires a connection, the report is written later from memory or not at all. So the report is stored on the device first and pushed when the plant is reachable — and when the plant refuses it, the device says so plainly instead of retrying forever.

What this costs the management view

Nothing, ultimately. Data that arrives because the workflow was good is data you can build decisions on. Data that arrives because somebody was forced to type it into a form is a compliance artefact, and everyone involved knows it.