Mid-period honesty is necessary. Pre-share is different. The morning you decide "I will send this week's / month's utilization to a client, partner, or myself as truth" is when last period's as-of is still sitting on the header, billable theater is still greening the %, non-billable work is still dumped into a foggy "admin" bucket, duplicate timer exports are still summed twice, guessed categories are still locked as coded, and a raw CSV leftover quietly hitchhiking into the share.
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, payroll, or tax advisor — and this is not financial, tax, legal, payroll, or accounting advice. It is the checklist I run before anyone treats the sheet as this period's utilization truth (the final pass before a report, invoice support tab, or capacity conversation) so as-of drift, billable theater, duplicate hours, guessed categories, and raw dump artifacts do not become the share story.
This is complementary to my earlier posts — not a rewrite. For the full messy billable vs non-billable dump → clean utilization sheet workflow, see How I turn a messy billable vs non-billable dump into a clean utilization sheet. For the mid-period honesty pass while dumps are still arriving, see The mid-period checklist I use so a utilization sheet stays honest. This third pass is the pre-share check: mid-period honesty is not enough once someone else will treat the sheet as done.
What "honest enough to share" looks like
- One as-of date and period window sit at the top — not three conflicting "through Friday" notes
- Billable / non-billable / unknown are still separated — nothing looks billable that is still unclear
- Utilization % is recalculated from those buckets vs that as-of — not copied from last export
- Duplicate timer + calendar + Slack paste rows are one line or labeled duplicates — not double-counted hours
- Guessed categories are labeled guessed or Needs-confirm — not locked as coded
- Raw dump artifacts are out of the share view
- You can answer "billable vs non-billable this period, by client?" without reconstructing six exports
If the only share plan you have is a sticky labeled "send the % column," pre-share honesty has already slipped.
The pre-share checklist (run it before anyone hits send)
Use this against the near-final utilization sheet and the live artifacts (timer exports, calendar blocks, invoice stubs, prior utilization sheets) before anyone treats the sheet as this period's utilization truth.
1. Kill as-of and period drift before the sheet leaves
- [ ] One as-of date and one period window sit at the top — not three conflicting notes in different tabs
- [ ] Hours are recalculated vs that window — not copied from last week's export
- [ ] Everything still showing "this week" when the export ends last Friday is labeled period drift until recalc
- [ ] Skim test: you can answer "through when?" without opening Slack
2. Separate billable / non-billable / unknown before anyone trusts the %
- [ ] Status is billable / non-billable / unknown / ask — not mood words or a single checkbox for everything
- [ ] Unknown rows stay Needs-confirm — not silently promoted to billable because the % looked low
- [ ] Non-billable dumps into "admin" / "misc" are split or labeled — not one foggy bucket that hides capacity
- [ ] Skim test: you can answer "what is actually billable this period?" without reconstructing six timers
3. Lock sources, duplicates, and guessed categories
- [ ] Each complete-looking row has a source (timer export, calendar, invoice stub) — orphan hours without a source are Needs-confirm
- [ ] Duplicate paste across timer + calendar + Slack is one row or one labeled duplicate — not two hour totals
- [ ] Categories filled from "probably client work" folklore are labeled guessed — not locked as coded
- [ ] Client/name drift is normalized with aliases in notes — not three ghost clients
- [ ] Skim test: sorting by client shows one hour line per activity, not a museum of doubles
4. Honesty tripwires (before you treat the sheet as share-ready)
- [ ] You did not promote vibes to "all billable" because the % looked empty of red
- [ ] Incomplete sections stay Needs-confirm — not silently promoted to "ready" because the sheet looked sparse
- [ ] Raw dump artifacts (unfinished CSV paste, named complainers, draft notes) are out of the share view
- [ ] Skim test: a stranger can answer "billable vs non-billable this period, by client?" from the sheet alone
Soft CTA
If you have a messy billable vs non-billable dump and want a clean utilization sheet in 24 hours: utilizationsheet on Gumroad ($12). Code ADMIN12 for $2 off. Full shop: brittanybonds.gumroad.com. Catalog mirror: brittany-bonds.github.io.
Not a CPA. Not financial, tax, legal, payroll, or accounting advice — just admin cleanup so the utilization story matches the period.
Top comments (0)