DEV Community

Brittany Bonds
Brittany Bonds

Posted on

The mid-period checklist I use so a utilization sheet stays honest

The mid-period checklist I use so a utilization sheet stays honest

A timesheet export, a calendar full of “client work” blocks, a notebook of after-hours hours, a Slack thread that says “we were at 60%… I think,” and a sticky that guesses “everyone is basically billable” are not mid-period truth. Mid-period is where admin, internal, and BD all get one non-billable bucket with no shared rule, the same afternoon lands in the time tool and the calendar, utilization is divided by available hours one week and by a made-up 40 the next, PTO quietly shrinks the denominator without a named rule, and “we feel busy” rewrites the %.

I am a freelancer admin helper. I turn messy billable vs non-billable dumps into a clean utilization sheet. I am not a CPA, bookkeeper, lawyer, or tax advisor — and this is not financial, tax, legal, payroll, or accounting advice. It is the checklist I run mid-period (and again before anyone treats the % as staffing truth) so the utilization sheet stays honest while dumps are still arriving.

(If you want the full messy billable vs non-billable dump → clean utilization sheet workflow, see my earlier post. This one is the second-pass checklist so label fog, split clocks, denominator drift, double-counted hours, and Slack folklore do not quietly rewrite the %.)

What "honest" looks like mid-period

  • Every row has person/role, period, billable hours, non-billable hours (with category), available/contracted hours used as denominator, utilization %, status, and source — not vibes
  • Billable vs non-billable follows a named rule — not mood words or “usually client”
  • Admin, internal, BD, PTO, and training are labeled differently when they matter — not one green Non-billable pile
  • Duplicate time-tool + calendar + notebook hours for the same block are flagged once — not summed twice
  • Denominator (available vs contracted vs stated weekly hours) is named once for the period — not switched mid-sheet
  • Open questions (missing client code, dual tags, unknown person, which tool is source of truth) are listed once so the handoff is honest

If the only “utilization sheet” you have is a percent and a thread titled “we’re busy,” mid-period honesty has already slipped.

The mid-period checklist (run it before / while you clean)

Use this against the dump (timesheet export, calendar export, notebook hours, Slack “I think we were at…,” prior utilization sheets) before you paste everything into a pretty % column and call staffing current.

1. Inventory the hours dump (same day you open the pile)

  • [ ] Every scrap is listed once: source, date seen, claim type (billable / non-billable / unknown / duplicate / incomplete), notes
  • [ ] Duplicate paste of the same block across time tool + calendar + notebook is labeled duplicate — not counted twice toward the %
  • [ ] Partial dumps (“about 6 hours client,” “busy week,” a Slack ping with no hours) are labeled incomplete — not invented into tidy rows
  • [ ] As-of period that matters is named (week, month, custom) — older noise stays out or flagged
  • [ ] Anything clearly out of period, cancelled, or belonging to another person is labeled stay-off — do not resurrect as this mid-period chase list

2. Lock labels before you trust any %

  • [ ] Billable requires a client / job / invoiceable code (or “missing — ask”) — not assumed from calendar title vibes
  • [ ] Non-billable categories (admin / internal / BD / PTO / training / other) are named — not one unlabeled bucket
  • [ ] Dual-tagged or conflicting labels stay ask — not silently forced billable to make utilization look better
  • [ ] If the billable rule moves mid-pass, every row is rechecked — do not leave last month’s folklore as this period’s truth
  • [ ] Skim test: you can answer “billable vs non-billable by person for this period?” without opening Slack

3. Kill split clocks and denominator drift

  • [ ] One source of truth for hours is named (time tool preferred, calendar secondary, notebook as ask) — not three conflicting totals
  • [ ] Denominator rule is stated once (available / contracted / stated weekly hours) — not available one row and 40 the next
  • [ ] PTO and holidays either shrink available hours by a named rule or sit as non-billable with notes — not both silently
  • [ ] Everything showing a high % when hours were double-counted is labeled recheck until duplicates are killed
  • [ ] Person/role name drift (Sam / S. Lee / Samuel) is normalized with aliases in notes — not three ghost utilization lines

4. Park guessed %, missing codes, and Slack folklore in the open

  • [ ] Missing client codes sit as ask with what is missing — not invented to tidy the sheet
  • [ ] Ambiguous “internal client” or “soft billable” stays ask — not locked as billable
  • [ ] Owner (who owns this person’s hours) is named or unowned — folklore that “ops has it” is not ownership
  • [ ] Anything you almost guessed (which tool wins, whether BD is non-billable, whether lunch counts) stays in notes as guessed — not locked as truth
  • [ ] Slack / sticky reminders that contradict the time export are labeled conflict — not silently preferred

5. Mid-period skim before you call the % “current”

  • [ ] Billable + non-billable by person roughly match a quick mental check of known busy weeks
  • [ ] Duplicate suspects and ask rows are countable in under a minute
  • [ ] Denominator is consistent across the sheet (or clearly noted where it differs)
  • [ ] You can hand the sheet to someone else without a 10-minute Slack tour
  • [ ] Soft CTA only if useful: this is cleanup so utilization is easier to see — not advice on pricing, hiring, or payroll

Soft CTA

If you want the messy billable vs non-billable dump turned into a clean utilization sheet: https://brittanybonds.gumroad.com/l/utilizationsheet

Shop: https://brittanybonds.gumroad.com/

Catalog mirror: https://brittany-bonds.github.io/

Code ADMIN12 for $2 off.

No fake CPA or lawyer claims — spreadsheet cleanup so your utilization % is easier to track and hand off.

Top comments (0)