The Job That Was Waiting on You, Not the Client
Half your bottlenecks aren't the client dragging their feet — they're work sitting in your own queue, invisible until a deadline forces it. Here's how to see it.
Ask any practice owner where jobs get stuck and the first answer is almost always "the client." Missing documents, unsigned engagement letters, unanswered questions. All true, and worth fixing. But it's only half the story.
The other half is quieter and more uncomfortable: the job that's been waiting on you. The return that's technically "in progress" but hasn't been touched in nine days. The BAS sitting in review because the one person who signs off has been buried since Monday. The onboarding that stalled because nobody assigned the next step. From the outside these look like client delays. Inside your practice, they're workflow delays wearing a client's name.
Why internal bottlenecks hide so well
Client-side delays are easy to see because you feel them — the reminder you send, the follow-up call, the frustration when nothing comes back. Internal delays don't generate any of that friction. Nobody chases you for the work you owe yourself. The job just sits in a status that sounds like progress.
"In progress" is the most dangerous status in any practice. It can mean actively being worked on right now, or it can mean opened once three weeks ago and abandoned. Same label, completely different reality. If your board can't tell those two apart, you don't have a workflow — you have a graveyard with good lighting.
The tell-tale signs of an internal bottleneck:
- A job that's had the same assignee and the same status for a fortnight with no client dependency logged against it.
- Work that only moves in the last 48 hours before a deadline — meaning it was ready to progress far earlier and simply wasn't picked up.
- A review or sign-off stage where things pile up because it depends on one person's availability.
- Jobs that were handed off between staff and quietly lost their momentum in the gap.
Separate "waiting on client" from "waiting on us"
The single most useful thing you can do is make that distinction visible on every job. Not in someone's head — on the board, where anyone can see it.
When a job is genuinely blocked by the client, it should say so, and ideally the chasing should be automated rather than manual (a portal that reminds the client is a task nobody has to remember to do). When a job is blocked by your own team, that needs to be equally obvious, because those are the ones that quietly eat your lodgment program.
Good accounting practice management software lets you tag or filter work by what it's waiting on. In Finye, work items live on boards with clear stages, and each one carries its own state — assignee, due date, what it's blocked on and how long it's been there. The point isn't the label itself. It's that you can pull up a view of everything currently waiting on your firm and realise how much of your "client won't respond" pile is actually "we haven't picked it back up."
Age is the metric that matters
Status tells you where a job is. Age tells you whether it's healthy. A return that's been in review for two days is fine. A return that's been in review for twelve is a problem, regardless of the deadline. If your client accounting workflow only surfaces jobs when the due date looms, you're managing by panic — you find out something stalled at the exact moment you can no longer do anything calm about it.
Sort your boards by time-in-stage, not just by due date. The oldest untouched jobs are almost always the ones that will hurt you, and they're rarely the ones with the nearest deadline. A job due in three weeks that's already been stuck for a fortnight is a bigger risk than one due next week that's actively moving.
The handoff is where momentum dies
Most internal delays happen at the seams — the moments when work moves from one person to another. Preparer to reviewer. Reviewer to partner. Whoever onboarded the client to whoever actually does the work. Each handoff is a moment where a job can slip out of everyone's active attention and into nobody's.
The fix is to make handoffs explicit and owned. When work moves stage, it should land in a specific person's queue with a clear next action — not float in a shared "ready for review" limbo that everyone assumes someone else is watching. If a job changes hands without changing owner, it hasn't really moved. It's just been put down.
This is where accounting client management software earns its place. When the client record, the work item, the documents and the correspondence all sit in one system, a handoff carries its full context with it. The reviewer isn't hunting through email to understand what the preparer did. They open the job and see the checklist, the source documents from the portal, the notes, the status. Momentum survives the handoff because nothing has to be reassembled.
Recurring work needs a real starting whistle
Compliance work is predictable, which is exactly why it stalls. Everyone knows the BAS is due, so nobody feels urgency to start it — until the whole quarter's worth lands at once. Recurring jobs should generate themselves on a schedule and appear in someone's queue with a start date, not just a due date. A due date tells you when the pain arrives. A start date tells you when to move so it never does.
Finye creates recurring jobs automatically and puts every obligation — BAS, IAS, tax and ASIC — on one calendar, so the work shows up before it's urgent and lands on a real person rather than an assumption. That's the difference between a workflow that paces itself and one that's permanently sprinting to catch a deadline it saw coming months ago.
What to do this week
- Pull up every job currently "in progress" and check the last time each one actually moved. The stale ones are your hidden queue.
- For each stalled job, ask one question: is this waiting on the client, or on us? Be honest about the answer.
- Find your slowest stage — usually review or sign-off — and check whether it's blocked by process or by one person's capacity.
- Sort at least one board by time-in-stage instead of due date and see what surfaces.
Clients will always cause some delays. That's the nature of the work. But the delays you can actually control are the ones sitting in your own queue right now, labelled as if the client were to blame. See those clearly and you fix the half of your bottlenecks nobody was chasing you about.