Work order software that refuses to guess.
Zenith is work order software that runs the whole life of a job — reported, triaged, planned, approved, scheduled, worked, verified, closed. It records downtime, repair time and crew-hours as three different numbers, tells a planner what is missing before the job is booked, and never lets a work order close on a story that does not add up.
Bilingual EN / FR · Multi-site · WCAG 2.2 AANine work order stages. Zero gaps.
Most maintenance work dies in the handoffs — the request nobody triaged, the approval stuck in email, the closed job nobody checked. Zenith makes each handoff a stage on one work order, and each stage knows what it needs before it will let the job move on.
Reported
Anyone can report a fault through a plain-words portal — urgency, place, asset, QR scan and a photo, attached from the start.
Triaged
One queue where requests are reviewed, prioritized, merged or declined with a reason — and the requester's timeline records every step of it.
Raised
A five-step panel that can be minimized mid-thought and picked up later. The status is derived, not chosen — nobody picks their way around an approval.
Planned
Readiness before dates: parts at the right storeroom, certifications, permits, tool serviceability, a plan that can actually be issued.
Approved
Only what somebody might actually refuse. Each row says why it needs a signature and how long it has been waiting.
Scheduled
Booked against real crew capacity — a week grid of people and days, in hours or percent, with conflicts counted.
Worked
My Work on the desk, a scan-to-open shell in the field. A timer that writes the labour line itself, steps ticked off, photos and signatures captured.
Completed
Actuals recorded — labour per person per day, parts, tools, downtime, failure coding — and the gate lists anything still missing before the button works.
Verified & closed
A second pair of eyes, enforced: the person who did the work cannot be the person who signs it off.
Eight tabs that hold the whole work order
Everything about a work order lives on the work order — no side spreadsheet, no second system for the photos, no comment thread running beside the log. Each tab carries its own count, and the open tab lives in the URL, so a link to the labour is a link to the labour.
Overview
The three clocks, the warranty cover callout, and “what happens next” — the actions this job can legally take right now.
Tasks
Steps copied from the job plan version, with safety notes. Done, or “could not” with a reason — the confirm stays dead until one is typed.
Labor
Per person, per day, with an overtime flag. A live timer, the estimate for comparison, and unpriced hours stated rather than hidden.
Materials
What was used, from which storeroom — and parts bought in for this job kept structurally apart from parts taken out of stores.
Tools
Special tools reserved against the job before somebody drives to the plant without one — with the crib's refusal shown if it says no.
Media
Photos, video, documents, voice notes and signatures — attached to the work order, so the next person with this fault finds them.
Failure coding
What was found, why it happened, what was done — three cascading pickers, plus suggestions argued from this machine's own history.
Log
One trail, not a log beside a comment thread. Notes can be marked “show this to the person who reported it”.
One duration column answers one of the three questions people ask
Downtime, repair time and labour are not the same number. Sixty-three hours down and three and a half hours of repair is a parts problem, not a labour one — and a register with a single duration column lets everyone guess which. Zenith keeps all three, plus start-to-finish, on every job and in the list columns.
- Hold reasons govern the repair clock — each reason is flagged once, centrally, as counting toward repair time or not.
- The exclusions are itemized — “Taken out of repair time: 59.5 h — Waiting for parts”, or a plain statement that nothing was taken out.
- MTTR you can defend — waiting for a vendor stops being repair time without a technician deciding case by case.
Work order planning is not a date picker
The date is the last thing decided and the easiest. What makes a job schedulable is that the plan can actually be issued — and every one of those questions was already answered somewhere else in the system. The planning queue is where the answers are collected, in one sentence per job.
- Readiness, in the register's own words — parts short at a named storeroom, a certification nobody holds, a permit type undefined, a tool unfit to use, a plan not in force.
- Capacity that admits days off — a week grid of people × days in hours or percent, with utilization bands, absences, and this week's conflicts counted.
- Backlog measured in weeks of work — at the crew's own shift patterns, with unsized work excluded rather than quietly counted as zero.
Refusals arrive before the click, not after it
A system that lets you press the button and then explains why it did nothing has taught you to distrust it. Zenith lists what is blocking an action above the disabled button, in plain sentences, quoting the actual step or person involved — and the same sentences appear in the field shell and in bulk previews.
- Segregation of duties, enforced — “T. Marchand did the work, so somebody else has to check it.”
- Completion means complete — outstanding steps quoted by their instruction, skips without reasons, holds still open, equipment still recorded off.
- Attribution stays honest — completion is credited to the crew who did the job, not to whoever pressed the button.
Make the wrong answer unreachable
Validating afterwards tells somebody they were wrong. A picker that only offers what fits means they were never able to be. Cause is offered only for the problem chosen, remedy only for the cause — so the coded history that reliability analysis depends on is clean by construction, not by audit.
- Suggestions that show their evidence — a ranked triad with citations to the actual work orders counted, never auto-applied.
- Exempt work stays quiet — work types that do not need coding say so instead of nagging.
- Feeds the asset — every coded closure lands on the machine's failure knowledge and bad-actor analysis.
Three work order queues where work waits on one decision
A grid of eleven columns cannot tell a supervisor why a job needs their signature or what is missing before it closes. These are not filtered lists — each row carries the sentence that lets somebody act without opening the record.
Approved work, and what stands between it and somebody doing it
Ordered by the latest date the job can still start and meet its deadline. Every row is either “Ready” or a list of exactly what is missing — checked against the stores that serve its own site.
Must start by 3 Sep · 3 things missingWork waiting for somebody to say yes, longest wait first
Only what somebody might actually refuse. Each row explains itself — “It takes equipment out of service”, “$4,200 of labour, against a $2,500 line” — and flags what must go higher.
waiting 31 h · Goes higherWork that is done, and records that are not
Finishing the job and finishing the record are two events; without a queue, the second never happens. Each row names what is outstanding — coding, hours, an outage never closed, a second signature.
T. Marchand finished it yesterdayA shutdown is many jobs and one thing
Several work orders planned and reported as one — the shutdown, the commissioning, the campaign across forty air handlers. Members keep their own lives, their own crews and their own gates; the package folds their numbers so the figure at the top can never disagree with the rows beneath it.
- Built from the selection bar — tick the jobs, add to a package, name it if it is new.
- Folded progress — done of total, crew-hours recorded, how many are overdue.
- Raise across many assets at once — one campaign becomes a work order per machine, each with its own record.
Work orders on a phone get no privileges and no shortcuts
The field shell calls exactly the same commands as the desktop and relays exactly the same refusals: a job that cannot be completed at a desk cannot be completed on a phone. What it adds is a way of working that suits a person standing in a plant room — scan a code, see today's jobs worst-first, and press four buttons instead of filling a form.
- A timer that writes the labour line — press at the start, press at the end; actual time, not remembered time.
- Evidence, captured properly — rear-camera photos, voice notes, and a real signature pad that survives a thumb wandering off the edge.
- A field journal — everything the shell did this session, applied or refused, with the register's reason. Nothing is silently discarded.
Everything a work order touches
Bulk with receipts
Hold, resume, complete, approve or package many jobs at once — with a pre-flight that shows every blocker before anything is pressed.
Warranty cover, checked
When the machine is under cover the job says so — days or usage remaining, and a claim raised before labour is charged to the wrong budget.
Calendar & unscheduled rail
The same register laid on the week or month — every chip is the work order — beside a rail of open work with no date at all.
KPI cards that can't lie
Total, open, in progress, awaiting approval, overdue — each with a six-week sparkline computed from the records themselves, not decoration.
Job plans, version-locked
Steps are copied from the plan version named on the job. Revising the procedure next year must not rewrite what somebody did today.
Stopped-work strip
Every held job across the whole register, above every view — with what it is waiting on and whether that waiting counts against repair time.
Your words, everywhere
A terminology engine renders statuses and priorities in the customer's own vocabulary — including inside the blocker sentences.
Deep-linkable everything
The open tab lives in the URL, retired paths still resolve, and any view can be copied as a link — so an email points at exactly what you meant.
Site-scoped security
Fifteen distinct permissions across work, requests, safety and permits — technicians, planners, supervisors and requesters each see their own slice.
Work order software questions, before you book the demo
The questions that come up in almost every evaluation — answered plainly, including the ones where the honest answer is “not yet”.
How do we get centralized visibility of work orders across multiple sites?
Can we roll up work order KPIs across sites without exporting to a spreadsheet?
Can we use our own statuses, priorities and work types?
How do approvals work? Can we set cost thresholds?
Why does Zenith track three different durations?
Can technicians use it on a phone? Does it work offline?
How does work get created — do we have to type everything twice?
Can staff and tenants raise maintenance requests themselves?
Can we update many work orders at once?
What stops people closing work orders with nothing filled in?
How is this different from a work order ticketing system?
Can contractors be assigned work, and can we control what they see?
Does it capture what the job actually cost?
Why is failure coding done with cascading pickers?
Is it bilingual, and does it handle multiple sites?
en-CA and fr-CA as first-class locales rather than a
translation layer. Site scope is built into the data model and the permissions, so a
technician sees their site's work, a supervisor their region, and a director can compare
across all of them without being able to edit any of it.
Can we get our data out, and report on it?
Numbers that agree with each other
A page whose own figures appear not to add up does not get believed about anything else. The discipline behind this module is that every number is computed from the same records the list shows — and anything that cannot be told truthfully is not shown at all.
Derived, not stored
Clocks, capacity, readiness, KPI history and progress steppers are computed from the records themselves — a card cannot disagree with the list beneath it.
The register decides
No screen has privileged commands. The field shell, the bulk bar and the create panel all go through the same gates and relay the same refusals.
Bilingual by birth
Full en-CA / fr-CA parity on every screen, every status and every refusal sentence — including dates, plurals and number formats.
Accessible to everyone
WCAG 2.2 AA as a build rule: no drag-only interaction anywhere, labelled controls, and full keyboard reach through every queue.
Bring the job that took three systems and five phone calls.
We'll run it end to end in Zenith — reported, planned against real stock and real capacity, approved, worked on a phone, coded, verified and closed — and you'll see every number it leaves behind.
Elsewhere in Zenith
Canadian industry guides
Standards and regulators
Standards are named by number, title and scope only. CSA and ULC publications are paywalled — read the standard itself before building a compliance programme on any summary.