A back office buried in timekeeping exceptions got a routine instead. Every day now starts from what changed, a hold backlog in the hundreds became a few dozen decisions, and the supervisor gets a named list of who has not responded before every pay run.
When I arrived, a new timekeeping app was losing clock-outs and creating dozens of exceptions a day. It ran beside an older system, and each had its own approval and exception queues. A hold backlog had grown into the hundreds under one misleading label. There were no written procedures, no record of who had been contacted, and no running log. The weekly pay run put a hard deadline on all of it.
I built it in six layers.
Visibility. A snapshot of every queue each morning, compared against the day before. The day starts from what changed, not from the top of a long list.
Procedure. A written SOP for each queue, built from live walkthroughs and corrected every time a rule was clarified.
Throughput. Batch outreach with a first contact template and a repeat template, one message per person covering all of their open items, and a generic confirmation once they were fixed.
Backlog. Every held row classified by its real system message rather than the label on top, grouped into checks, and routed to a named owner.
Daily Queue Snapshot, Summary tab (Oct 1 against Oct 2)
| Queue | Prior | New | Resolved | Today |
|---|---|---|---|---|
| Approvals | 15 | 3 | 4 | 14 |
| Reimbursements | 12 | 6 | 4 | 14 |
| Exceptions | 13 | 3 | 4 | 12 |
| Holds | 13 | 6 | 4 | 15 |
| Total | 53 | 18 | 16 | 55 |
Hold Worksheet, Summary tab (by type)
| Type | Owner | Rows | Checks | Open |
|---|---|---|---|---|
| Missing approval | Operator | 75 | 14 | 2 |
| Duplicate entry | Operator | 40 | 8 | 1 |
| Rate not on plan | Specialist | 39 | 8 | 1 |
| Expired plan | Specialist | 37 | 6 | 2 |
| Prior period | Supervisor | 28 | 5 | 2 |
| Vendor mismatch | Vendor desk | 21 | 4 | 1 |
| Total | 240 | 45 | 9 |
Control. A running log with counts derived from it, a dated daily report, a counts only summary that carries no personal details, and an append only handoff so whoever picks up next starts where I stopped.
Forward look. An automation proposal that maps each workflow from its current state to a proposed one.



Click any image to see it full size. Every file here is rebuilt with invented data.
The results, in bands. The hold backlog went from hundreds of rows to a few dozen decisions, about five times fewer. Roughly half cleared in one morning and the rest went to owners. About two thirds of a full outreach batch replied and were fixed the same day. App failures and placeholder shifts are reported as named patterns, not one-off complaints. The proposal estimates up to about 80% of manual processing time saved, conditional on vendor work. That is an estimate, not a result.
- I flagged a pattern as a fault when it was normal. Flags are now questions, with the evidence attached.
- A nickname sent the operator looking for a person who did not exist in the system. Registered names only, every time.
The rest of what went wrong sits with the system it belongs to, in case studies 12, 13 and 14.
Daily Queue Snapshot (demo workbook)Hold Worksheet (demo workbook)Email Template Library (demo)Live demos of the working filesThe Queue Diff toolThe Exception Email BuilderThe Backlog GrouperThe Diff playbook (PDF)The Backlog playbook (PDF)The Takeover playbook (PDF)
Case study 06