← All features
Unplanned Work

Work Orders That End Up as Service History

Free in the app. The web dashboard and Dispatch are Pro.

A work order is a promise of future maintenance. A maintenance log is the record of past maintenance. Completing a work order turns one into the other, which is why finishing a job here does not ask you to write it down a second time somewhere else.

One history, not two

The single most common complaint about every CMMS is that capture is easy and retrieval is broken: the work order lives in the work order system, the service history lives on the asset, and after a year nobody can answer "what has been done to this unit" without opening both. Completing a work order here inserts a maintenance log against the equipment and links the two together, so the equipment’s history, the building’s history, the reports and the QR spec page all show work-order work with nothing extra to do.

The reference is derived, not stored: WO- plus the last six characters of the record’s id, in capitals. It is written into the completed log, so the equipment’s service history and the Service Log report both carry the ticket number the job was worked under. There is no sequential counter, because a device that has been offline for two days cannot coordinate one with the rest of the crew and a duplicate ticket number is worse than an ugly one.

Five states, and the two people usually fake

Open, In Progress, On Hold, Done, Cancelled. Priority is Normal or Urgent — two values, because nobody uses a four-level priority honestly after the first fortnight. A due date makes a job overdue, which is a red badge computed from the date rather than a sixth status you have to remember to set.

On Hold requires a reason, and the card then shows how long it has been waiting: "Waiting on parts, 12 days", counted from the moment it was put on hold rather than from the last time anybody touched the record. Waiting on parts is a real state that a job spends most of its life in, and collapsing it into "open" is how a two-week wait becomes invisible.

The second one people fake is progress. LOG UPDATE writes a dated note with hours and parts and leaves the status exactly where it was — for the visit where you did real work and the job is still not finished. It is a separate control from PUT ON HOLD for the same reason: recording what you did and saying you are blocked are different statements, and a system that only offers one of them gets lied to.

Complete is offered directly from Open, In Progress and On Hold. There is no forced "Start Work" tap first — that manufactures a start time that never happened, and an invented timestamp in a maintenance record is worse than a missing one.

Where a work order comes from

Two, and the record remembers which. Typed in by hand, when somebody phones. Or converted from a submission somebody else made — a guest technician’s QR report or a tenant’s request.

Where you convert one depends on which it is. A guest technician’s report converts from the Transfer Inbox on the phone or from the Dispatch page on the dashboard, and its photos come across with it, offered as the "before" pictures when the job is completed. A tenant’s request converts from the Transfer Inbox on the phone, and that is also where you pick who on the crew it goes to; on the dashboard a tenant request can be read and marked handled, but not turned into a job. A converted tenant request carries the unit it came from and the description, not the resident’s photos — those stay in the request, behind your sign-in.

Nothing converts itself. A tenant reporting a problem does not silently create work for your crew; somebody decides, and picks who it goes to. A PM schedule does not raise one either — a due PM is completed on the PM screen, which writes its own service log, and there is no step that turns it into a work order first.

On a crew

A work order can be assigned to a teammate by name, or to somebody who is not in your workspace at all — a subcontractor gets typed in rather than invited. The record stamps who assigned it and who last changed it, which is what stops the app pushing you a notification about your own edit.

When the job belongs to an outside contractor, SEND TO CONTRACTOR offers three ways. Send in the app hands it to a contractor with their own Pro account: it arrives in their app, your later changes reach them, and their finished report comes back to you. Send as a PDF and Send as text are for everybody else: the PDF carries the whole job — the problem, the address and site contact, the equipment with its specs and nameplate photo, the parts to bring, the photos and the recent service — and the text carries the same details without the photos. Those two are one way: nothing comes back into the app by itself, so you mark the job done yourself, and the job keeps a dated note that it went out.

Roles are read off the security rules rather than guessed at: a manager or a tech can create and update; only an owner or a manager can delete. That gap is deliberate and it is not decoration — a delete here writes a durable local tombstone so that deleting while offline sticks, which means offering the button to somebody the server will refuse would destroy the local copy and leave the shared one standing.

Search covers the title, the description, the WO number and the asset, because after three months you remember one of those four and never the same one twice.

What is free, and what is not

Work orders on the phone are free. Creating, holding, logging updates, completing, the maintenance log the completion writes — none of it is behind the paywall, and all of it works with no signal, because the writes land in the app’s own database first.

What is Pro is the desk half: the web dashboard’s work order board and the Dispatch page both sit behind the subscription, as does cloud backup, which is what puts your work orders on the dashboard in the first place. Assigning a job to a teammate, and sharing one crew’s work orders across each member’s phone, is the Team plan. A one-person operation can run work orders on a free account indefinitely.

Frequently asked questions

Are work orders free?

On the app, yes — creating, updating and completing work orders is free, and works offline. The web dashboard’s work order board and the Dispatch page are part of Pro, and so is the cloud backup that puts your work orders on the dashboard. Assigning a work order to a teammate is the Team plan.

What is the difference between a work order and a maintenance log?

A work order is work that has not happened yet; a maintenance log is work that has. Completing a work order writes the log, so the job appears in the equipment’s service history without being typed in twice.

Can I record what I did without closing the job?

Yes. LOG UPDATE writes a dated note with hours and parts and leaves the status alone. It is deliberately separate from PUT ON HOLD, which is for saying you are blocked and requires a reason.

Do work orders have ticket numbers?

Each one shows a reference of the form WO-XXXXXX, derived from the record’s id rather than from a counter, and that reference is written onto the maintenance log at completion, so the finished job carries its ticket number into the equipment’s service history.

Can a technician delete a work order?

No. A technician can create and update work orders but not delete them; deleting is limited to the workspace owner and managers. Cancelling is an update rather than a delete, so a technician can do it and it keeps the record and its history — a viewer cannot, because a viewer cannot write a work order at all.

Read next

PM scheduling — the planned half of the same job → Invoicing — what a completed work order can become → Tenant request codes that feed the queue → How the offline database works → Compared with MaintainX, Limble and UpKeep →

Free to download. Nothing to set up.

Core tracking is free forever and works with no signal. Pro adds cloud sync, the web dashboard, AI scanning and the hosted QR codes.

Create Free Account App Store Google Play