The mid-cycle checklist I use so a renewal calendar stays honest
A Drive folder of signed PDFs, a spreadsheet that says “ends sometime in Q4,” an email that whispers “auto-renew unless we cancel,” a sticky that guesses “maybe 30 days notice,” and a Slack thread titled “renewals?” are not mid-cycle truth. Mid-cycle is where an end date is logged without the notice-by date that actually matters, auto-renew gets treated like fixed-term, the same contract lands twice from PDF + sheet + email, guessed notice windows pretend to be written clauses, expired or already-renewed deals stay in “upcoming,” and “we’ll handle it in chat” quietly rewrites the calendar.
I am a freelancer admin helper. I turn messy contract end-date dumps into a clean renewal calendar one-pager. I am not a CPA, bookkeeper, lawyer, or tax advisor — and this is not financial, tax, legal, or accounting advice. It is the checklist I run mid-cycle (and again before anyone treats the page as what renews next) so the renewal calendar stays honest while dumps are still arriving.
(If you want the full messy contract end-date dump → clean renewal calendar workflow, see my earlier post. This one is the second-pass checklist so missing notice-by dates, auto-renew fog, duplicate rows, guessed windows, expired ghosts, and Slack folklore do not quietly rewrite what actually renews next.)
What "honest" looks like mid-cycle
- Every row has counterparty, contract/ref (or “missing — ask”), end/renew date, notice-by date (or “unknown”), renew rule (auto / fixed / MTM / ask), status, owner, and source — not vibes
- Notice-by is computed or extracted from a named rule — not assumed equal to the end date
- Auto-renew, fixed-term, and month-to-month are labeled differently — not one green “upcoming” pile
- Duplicate PDF + sheet + email rows for the same deal are flagged once — not listed as two renewals
- Expired, cancelled, or already-renewed deals sit as status + notes — not left in upcoming so the month looks busier than reality
- Open questions (missing notice window, ambiguous auto-renew, counterparty alias, which PDF matches which row) are listed once so the handoff is honest
If the only “renewal calendar” you have is a month column and a thread titled “don’t forget Q4,” mid-cycle honesty has already slipped.
The mid-cycle checklist (run it before / while you clean)
Use this against the dump (signed PDFs, old renewal exports, email threads, sticky notes, Slack “remind me,” prior calendars) before you paste everything into a pretty one-pager and call the upcoming list current.
1. Inventory the contract-end dump (same day you open the pile)
- [ ] Every scrap is listed once: source, date seen, claim type (upcoming / notice-due / expired / renewed / cancelled / unknown), notes
- [ ] Duplicate paste of the same deal across PDF + sheet + email is labeled duplicate — not counted as two renewals
- [ ] Partial dumps (“ends sometime in Q4,” “maybe 30 days,” a Slack ping with no date) are labeled incomplete — not invented into tidy rows
- [ ] As-of date that matters is named (today, month-start, custom) — older noise stays out or flagged
- [ ] Anything clearly expired, cancelled, superseded, or already renewed is labeled stay-off-upcoming — do not resurrect as this mid-cycle chase list
2. Lock end vs notice-by before you trust any “due soon”
- [ ] End/renew date and notice-by date are separate fields — not one date pretending to be both
- [ ] Notice windows filled from “usually 30 days” folklore are labeled guessed — not locked as written clauses
- [ ] One renew rule sits on each row (auto / fixed / MTM / ask) — not three conflicting labels in notes
- [ ] If the as-of or notice rule moves mid-pass, every notice-by is recalculated — do not leave last quarter’s “due soon” as this month’s truth
- [ ] Skim test: you can answer “what renews, and by when must we act?” without opening Slack
3. Kill auto-renew fog and expired-upcoming inflation
- [ ] Status is upcoming / notice-due / expired / renewed / cancelled / ask — not mood words or a single Upcoming checkbox
- [ ] Auto-renew rows name what happens if nobody acts — fixed-term rows do not silently inherit that story
- [ ] Expired or already-renewed deals are flipped off upcoming — not left green because the PDF is still in the dump
- [ ] Everything showing “this month” when notice-by already passed is labeled late / notice-missed until someone owns it
- [ ] Counterparty name drift (Acme LLC / ACME / Acme Services) is normalized with aliases in notes — not three ghost renewals
4. Park guessed windows, missing refs, and Slack folklore in the open
- [ ] Missing contract/ref numbers sit as ask with what is missing — not invented to tidy the page
- [ ] Ambiguous auto-renew language stays ask — not locked as “definitely renews”
- [ ] Owner (who watches this renewal) is named or unowned — folklore that “ops has it” is not ownership
- [ ] Anything you almost guessed (notice days, which PDF matches which sheet row, whether MTM needs notice) stays in notes as guessed — not locked as truth
- [ ] Slack / sticky reminders that contradict the PDF are labeled conflict — not silently preferred
5. Mid-cycle skim before you call the calendar “current”
- [ ] Upcoming and notice-due counts by month match a quick mental check of known big contracts
- [ ] Duplicate suspects and ask rows are countable in under a minute
- [ ] Expired / cancelled / renewed stay off the upcoming view (or clearly filtered)
- [ ] You can hand the page to someone else without a 10-minute Slack tour
- [ ] Soft CTA only if useful: this is cleanup so renewals are easier to see — not legal advice to cancel or renew
Soft CTA
If you want the messy contract end-date dump turned into a clean renewal calendar one-pager: https://brittanybonds.gumroad.com/l/renewalpage
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 upcoming renewals are easier to track and hand off.
Top comments (0)