How to Automatically Flag Jobs That Have Been Sitting in the Same Status Too Long
A job moves into:
Waiting for Customer Approval
Then it stays there.
Monday.
Tuesday.
Wednesday.
A week passes.
Nothing in the system necessarily looks wrong.
The job has a valid status.
It has not disappeared.
There is no error.
But operationally, it has stopped moving.
This is where tracking how long a job has been in its current status becomes useful.
A Status Does Not Tell You Whether Something Is Wrong
Imagine two jobs both showing:
Waiting for Materials
Job A entered that status yesterday.
Job B entered it 12 days ago.
They look identical on a normal job board.
But they are completely different operational situations.
Job A might be progressing exactly as expected.
Job B might have been forgotten.
Your system should be able to tell the difference.
Track When Every Status Changed
Whenever a job changes status, record the date and time.
For example:
Current Status: Waiting for Materials
Status Changed: 14 September
The system can now calculate:
Days in Current Status: 6
That simple number gives you another way to identify problems.
Instead of only asking:
“What status is this job in?”
you can also ask:
“How long has it been there?”
Different Statuses Need Different Limits
There should not necessarily be one rule for every stage.
For example:
Quote Sent
Flag after 5 days.
Waiting for Customer Approval
Flag after 7 days.
Ready to Schedule
Flag after 2 days.
Waiting for Materials
Flag after 10 days.
Ready to Invoice
Flag after 1 day.
The acceptable waiting period depends on what normally happens at that stage.
A job waiting ten days for specialised equipment might be perfectly normal.
A completed job waiting ten days to be invoiced probably deserves attention.
Turn Stalled Jobs Into Exceptions
Once a job exceeds its expected time in a status, automatically flag it.
For example:
Job J-1842
Status: Ready to Schedule
Time in Status: 4 days
Expected Maximum: 2 days
Flag: Stalled
That job can then appear in an exception view.
Instead of a manager reviewing 150 active jobs, they might only need to review the eight that have exceeded their expected time.
That is a much more useful management screen.
Combine Status Age With the Next Action
Status ageing becomes even stronger when combined with clear next actions.
For example:
Status: Waiting for Customer Approval
Next Action: Follow up quote
Owner: Sales
Days in Status: 8
Now the system knows both:
something has been sitting too long
and
who is supposed to move it forward.
The workflow can automatically remind the owner or escalate the job if necessary.
Make the Warning More Obvious Over Time
A job does not need to become critical the moment it passes a threshold.
You could use stages such as:
Normal
0–3 days
Attention
4–6 days
Stalled
7–10 days
Critical
10+ days
The exact numbers will depend on your workflow.
The important part is that ageing work becomes progressively more visible.
Look for Patterns Across the Business
Once you track status age, you can start measuring where jobs consistently slow down.
You might discover:
Average time waiting for approval: 6.2 days
Average time ready to schedule: 1.4 days
Average time ready to invoice: 4.8 days
That last number might reveal a bigger operational problem.
Perhaps completion paperwork arrives late.
Perhaps finance does not know when jobs are finished.
Perhaps technicians are missing required information.
The stalled jobs become evidence of where the process needs improvement.
Start With the Status Everyone Complains About
You do not need to build ageing rules across your entire workflow immediately.
Start with the stage where people regularly ask:
“Why is this still sitting here?”
Record when jobs enter that status.
Decide how long they should normally remain there.
Then automatically flag anything that exceeds that limit.
At 5M Consulting, we help trade and service businesses build systems that surface stalled work automatically instead of relying on managers to notice it manually.
A job can have the correct status and still be stuck.
Your system should know the difference.