The quiet failure mode
A field operation has two kinds of trouble, and only one of them makes noise. The loud kind announces itself: a customer calls furious, a tech flags a problem, a callback lands on the schedule. You can't ignore it, so you deal with it. The quiet kind makes no sound at all — a job that simply stops moving. It got to "on site" and never got marked complete. It got completed and never got invoiced. It's been sitting in the same status for nine days, and because no alarm is attached to a job that's merely stalled, it falls out of everyone's attention. The work is half-done or done-but-unbilled, the customer is quietly wondering, and the revenue is sitting in limbo where you can't see it.
These stuck jobs are corrosive precisely because they're silent. A job that goes wrong gives you a signal to act on. A job that just stops gives you nothing — until weeks later you stumble on it, or worse, the customer does. The money you earned but never billed, the work you started but never closed, the trust you spent and never collected on: all of it leaks out through jobs that no one is shouting about. The first job of any operation that wants to get paid for what it does is to make not moving as visible as moving badly.
Status is only useful if you watch the clock on it
Most field software gives every job a status — scheduled, en route, on site, complete, invoiced. That's necessary but not sufficient. A status tells you where a job is; it doesn't tell you how long it's been stuck there, and the second number is the one that catches stalled work. A job at "on site" for two hours is a job in progress. The same job at "on site" for three days is a job somebody forgot to close. Same status, completely different meaning — and the only thing that distinguishes them is time-in-status.
So the discipline is to read status with a clock attached:
- On site, too long. A job that's been "on site" far past the time the work should have taken is almost never a tech still working — it's a tech who finished and forgot to advance the job. The work is done; the record doesn't know it.
- Complete, not invoiced. This is the most expensive stall there is, because the work is finished, the cost is fully sunk, and the only thing standing between you and getting paid is a click nobody made. Every day a job sits here is a day of your money waiting on a step, not on a customer.
- Scheduled, date already past. A job scheduled for last Tuesday that's still "scheduled" today either didn't happen or happened and wasn't recorded. Either way it's a job that needs a human's eyes.
How Hosting Field keeps work from getting stuck
Hosting Field is built around a server-enforced status workflow — every job runs the same predictable path, draft → scheduled → en route → on site → complete → invoiced, and the server, not a hopeful convention, enforces the transitions. That FSM is what makes stalled work findable, because a job is always in exactly one known state, and the time it entered that state is recorded. There's no ambiguity about where a job is; the only question is how long it's been there.
The live ops dashboard reads straight off that workflow: it shows jobs today, in progress, awaiting dispatch, and completed, plus a completion rate — so the work that's open and the work that's stuck-before-invoice surface as counts you look at, not records you have to go digging for. The job cycle-time report goes deeper, breaking completed jobs into how long they spent in each phase, so a chronically slow stretch — the gap between complete and invoiced, say — shows up as a pattern instead of a one-off. And because transitions are role-gated, the workflow stays honest: nobody quietly skips a step to make a job look further along than it is.
The honest scope: Hosting Field makes stuck jobs visible — it surfaces what's open, what's in progress, and what's completed-but-not-yet-invoiced, and it records exactly when each job entered its current state. It does not auto-close a job, auto-invoice it, or chase the tech for you. A human still reads the dashboard, spots the job that's been sitting too long, and decides whether to close it, invoice it, or call the customer. That's the right division of labor: the platform guarantees nothing is hidden, and the judgment about what to do about a stalled job stays with the person who knows the situation.
Working the stalled pile
- Make "open jobs" a daily look, not a monthly surprise. The cheapest time to catch a stuck job is the day it stalls. Glance at the in-progress and awaiting-invoice counts as part of the end-of-day closeout — a job that's been "on site" since this morning and still is at 6pm is tomorrow's forgotten job if you don't touch it now.
- Treat complete-not-invoiced as money on the floor. Of all the stall states, this is the one to clear first and hardest, because the work is done and the only thing missing is the bill. Make turning completed jobs into invoices a same-day habit, not a Friday batch — it's the difference between a fast cash cycle and a slow one.
- Fix the cause, not just the instance. If the same kind of job keeps stalling at the same step — techs forgetting to mark "complete," say — the fix isn't nagging, it's a job-completion checklist with a gate that makes closing the job part of finishing the work, so the stall can't happen in the first place.
What to measure
- Jobs open past their expected duration. How many jobs are sitting in an active state longer than that kind of work should take. A rising count is a workflow leaking — work is getting done and not recorded, which is the same as not getting done as far as your records and your invoices are concerned.
- Completed-to-invoiced lag. The median time a job sits between "complete" and "invoiced." Every day in that gap is earned revenue you haven't billed; shrinking it is one of the fastest ways to get paid faster without doing a single extra job.
- Stale-status count at day's end. The number of jobs whose status no longer matches reality when the day closes — scheduled jobs whose date has passed, on-site jobs from this morning. The goal is zero, because every one of them is a small lie your system is telling you about where the work stands.
The jobs that hurt an operation most aren't always the ones that go wrong — they're the ones that quietly stop, sitting in a status nobody's watching while the work goes unfinished and the revenue goes unbilled. A server-enforced workflow with time-in-status makes not moving as visible as moving badly. Read the open and awaiting-invoice counts every day, clear complete-but-not-invoiced like the money it is, and fix the steps that keep stalling. You stop discovering forgotten jobs weeks later and start catching them the day they go quiet.