DEV Community

Brittany Bonds
Brittany Bonds

Posted on

The mid-renewal checklist I use so a recurring-costs sheet stays honest

The same Notion seat on Visa and Amex, both summed into burn. A free trial still greening the monthly total because nobody flipped status. An annual charge locked as if it hit every month. A cancel-queued tool still looking “active” because the statement dump was prettier than the inbox. “About forty a month somehow” standing in for three different plans. That is not mid-renewal truth. Mid-renewal is where folklore becomes a fake burn rate — ghost trials, double-counted cards, annual-as-monthly, canceled tools still greening, vibe renewals, and a pretty total pretends the dump agreed with itself.

I am a freelancer admin helper. I turn messy subscription dumps into a clean recurring-costs sheet. I am not a CPA, bookkeeper, lawyer, or tax advisor — and this is not financial, tax, legal, bookkeeping, budgeting, or cancellation advice. It is the checklist I run mid-renewal (and again before anyone treats the sheet as what actually renews) so the recurring-costs sheet stays honest while crumbs are still arriving.

(If you want the full messy subscription dump → recurring-costs sheet workflow, see my earlier post: How I turn a subscription dump into a recurring-costs sheet. This one is the second-pass checklist so ghost trials, double-counted cards, annual-as-monthly math, canceled tools still greening burn, vibe renewals, and stale dump resurrection do not quietly rewrite what actually renews.)

What "honest" looks like mid-renewal

  • Every real subscription is one row — the same seat on two cards is merged, not two burn lines
  • Amount and cadence are evidenced (or labeled ask / guess / TBD) — “about forty somehow” is not a plan
  • Annual / quarterly charges are normalized or clearly labeled — not silently treated as monthly
  • Trials and cancel-queued tools are flagged once — not mixed into active burn
  • Next renewal is a date or labeled unknown — not invented from vibe
  • Source note + timestamp exist — superseded or out-of-window dumps are labeled stale, not still greening this month
  • Nothing invented beyond what the dump supports — phantom seats and guessed plan tiers are not subscriptions

If the only “recurring-costs sheet” you have is a confident Monthly Burn and a folder titled “SaaS somehow,” mid-renewal honesty has already slipped.

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

Use this against the dump (card statement CSV, Stripe/PayPal export, screenshots, forwarded receipts, prior month sheet if any) before you paste everything into a pretty template and call the sheet budget-ready.

1. Inventory the subscription dump

  • [ ] Soft scope is named (this business set / this month window / these cards) — out-of-scope noise stays out or flagged
  • [ ] Every source is listed once: file/export, capture date, person if known, notes
  • [ ] Duplicate seats of the same service under two sources (Visa + Amex, PayPal + invoice) are labeled duplicate — not two open burn rows for one seat
  • [ ] Superseded or out-of-window dumps are labeled stale — not resurrected as this mid-renewal sheet
  • [ ] Anything clearly personal they want tagged stays tagged — do not invent it back into business burn

2. Lock amount, cadence, and renewal before you trust the sheet

  • [ ] Every amount cell has evidence or is labeled ask / guess / TBD — remembered “that was definitely $29” folklore is not the statement
  • [ ] Cadence is locked or ask — mashup monthly/annual stays labeled, not both greening one burn
  • [ ] Monthly equivalent follows a named rule (divide annual by 12, etc.) — vibe monthly stays guess / ask
  • [ ] Next renewal is a date or labeled unknown — do not invent “first of the month”
  • [ ] Skim test: you can answer “what renews, when, for how much, and what is still uncleared?” without reopening the dump

3. Kill double-counts / ghost trials / annual-as-monthly / canceled still greening

  • [ ] Same seat under two payment methods is one row — not two open burn lines
  • [ ] Free trials and cancel-queued tools are flagged once — not folded into active monthly burn
  • [ ] Annual charges are normalized or labeled — do not lock $480/year as $480/month
  • [ ] Mixed personal/business seats are split or labeled ask — do not rewrite the entertainment plan as business burn
  • [ ] Assumptions are labeled assumption — do not rewrite them as settled renewals
  • [ ] Open questions stay open — do not mark them closed because the sheet looked tidier
  • [ ] Invented fill-in seats the dump never supported stay guess / ask — not locked as this month’s burn
  • [ ] Stale dump that belongs to another window stays stale — not still greening this claim

4. Park open asks, tidy-sheet lies, and superseded notes

  • [ ] Phantom seats and uncleared plans are either evidenced or labeled guess / ask / TBD — not locked because the page looked thin
  • [ ] Open asks (unclear amount, unclear cadence, trial vs active blur, stale dump vs this window) sit in one list — not scattered across threads
  • [ ] Superseded or canceled subscriptions are archived once so they do not still look live
  • [ ] Anything still incomplete stays incomplete — do not greenwash a mid-renewal dump into a finished budget sheet

Soft CTA

If you want the subscription dump cleaned into a recurring-costs sheet for you: messy crumbs in, budget-ready sheet out in 24 hours — $12 on Gumroad. Code ADMIN12 takes $2 off. Full catalog: shop · GitHub Pages.

Not financial, tax, legal, bookkeeping, budgeting, or cancellation advice. I organize the subscription dump; you own keep/cancel calls and how you use the sheet.

Top comments (0)