The mid-year checklist I use so a tax-ready expense sheet stays honest
A shoebox of receipt photos, three bank CSVs with different headers, a Venmo PDF, and a Slack that says “can you make this tax-ready?” are not mid-year truth. Mid-year is where the same purchase gets counted twice, “business” means someone typed business, categories are theater, missing receipts hide until someone asks why the year-end folder still looks like a junk drawer, and periods blur across months.
I am a freelancer admin helper. I turn messy expense dumps into a clean tax-ready category sheet. I am not a CPA, bookkeeper, lawyer, or tax advisor — and this is not tax, financial, legal, or accounting advice. It is the checklist I run mid-year (and again before anyone treats the sheet as preparer-ready) so the category sheet stays honest while dumps are still arriving.
(If you want the full messy expense dump → clean tax-ready category sheet workflow, see my earlier post. This one is the second-pass checklist so double-counts, zombie personal rows, category theater, and missing-receipt ghosts do not quietly rewrite what is actually there.)
What "honest" looks like mid-year
- Every row has a date, payee, amount, category, and source — not vibes
- Personal vs business vs ask are separated so nothing looks deductible that is still unclear
- Bank + receipt of the same purchase are flagged once — not silently summed twice
- Missing receipts / vague payees sit in notes — not dropped to make the sheet pretty
- Period that matters is named (tax year, quarter, custom) — older noise stays out or flagged
- Category totals skim without reconstructing six folders
If the only “tax-ready” you have is a green Deductible column and a thread titled “all sorted,” mid-year honesty has already slipped.
The mid-year checklist (run it before / while you clean)
Use this against the dump (receipt photos, bank/CSV exports, card statements, Venmo/PayPal PDFs, prior sheets) before you paste everything into a pretty template and call the period done.
1. Inventory the dump (same day you open the pile)
- [ ] Every scrap is listed once: source, date seen, claim type (business / personal / ask / unknown), notes
- [ ] Duplicate paste of the same purchase across bank + receipt + Venmo is labeled duplicate — not counted as two spends
- [ ] Partial claims (“maybe groceries,” a photo with no amount) are labeled incomplete — not invented into tidy rows
- [ ] Period that matters is named (this tax year, this quarter, custom range) — older noise stays out or flagged
- [ ] Anything clearly personal, superseded, or “nice someday” is labeled stay-off-business — do not resurrect as this period’s deductible list
2. Separate personal from business before you trust Deductible
- [ ] Status is business / personal / ask — not mood words or a single Deductible checkbox for everything
- [ ] Business rows have a payee + category that a human could skim — “misc” is not a category
- [ ] Ask rows name what is blocking a call — not “waiting on stuff”
- [ ] Personal rows stay in a separate filter so they do not inflate business totals
- [ ] Skim test: you can answer “what business spend do we actually have this period?” without reconstructing six folders
3. Lock sources, categories, and periods
- [ ] Each amount has a source note (which bank CSV, which receipt batch) — orphan amounts without a source are Needs-confirm
- [ ] Categories match a named list or are marked Needs-confirm — floating labels that look unique are folklore
- [ ] Periods that were “this year” three years ago are labeled period stale until confirmed
- [ ] Currency mixes are labeled — do not silently sum USD + “local” into one total
- [ ] Skim test: sorting by category shows a real spend list, not a museum of May coffee
4. Catch double-count and missing-receipt ghosts
- [ ] Same date+payee+amount twice → flag double-count — do not invent merges without a rule
- [ ] Rows marked complete that still need a receipt move back to ask or incomplete
- [ ] Fake greens (all Deductible, no ask section) get a forced missing-receipt pass before the sheet ships
- [ ] Threads titled “quick expense note” without a usable amount are labeled artifact thin
- [ ] Skim test: missing-receipt filter shows real gaps, not theater
5. Honesty tripwires (before you treat the sheet as preparer-ready)
- [ ] You did not promote vibes to “all tax-ready” because the Deductible column looked empty of red
- [ ] Personal spends buried in a wall of chat paste are lifted — not left under a business headline
- [ ] Exports from six weeks ago are labeled window unverified until the period is confirmed — pretty columns do not renew stale dumps
- [ ] Incomplete sections stay Needs-confirm — not silently promoted to “ready” because the sheet looked sparse
- [ ] Superseded rows have an archive note so closed work is not deleted into amnesia
6. Hand-back sanity check
- [ ] Sheet answers: what was spent, when, to whom, which category, which source — without opening the dump
- [ ] Needs-confirm / Business / Personal / Ask views (or filters) exist so incomplete and personal items are not mixed into this period’s business list
- [ ] One sentence of scope on the sheet: "tax-ready category sheet — not a tax return, audit pack, or deduction advice"
- [ ] Non-advice line present: not CPA / tax / accounting advice; confirm with their preparer before treating this as gospel
- [ ] You would be willing to hand this period’s category totals to a bookkeeper without reconstructing Dana from a sticky note
What I do not do on this pass
I do not file taxes, claim deductions, rewrite their chart of accounts, or give tax/legal advice. Mid-year honesty is about one trustworthy category sheet stakeholders can skim this period — not a tax office in a spreadsheet.
Soft CTA
If you want the messy pile turned into that sheet for you: Expense dump → tax-ready category sheet — usually within 24 hours. Code ADMIN12 takes $2 off. Shop: brittanybonds.gumroad.com · catalog mirror: brittany-bonds.github.io
Top comments (0)