DEV Community

Brittany Bonds
Brittany Bonds

Posted on

The pre-payout checklist I use so a commission tracker still matches what is owed

Mid-payout honesty is necessary. Pre-payout is different. The morning you decide "I will run / send this unpaid list today" is when a double-counted deal is still sitting in unpaid, a row marked paid without a remittance still looking settled, last month's period still hitchhiking into this batch, a rate with no source still shipping as owed dollars, a disputed line quietly in or out with no label, and a raw Slack dump quietly hitchhiking into the handoff view.

I am a freelancer admin helper. I turn messy commission dumps into a clean payout tracker. I am not a CPA, payroll provider, lawyer, or tax advisor — and this is not financial, tax, legal, payroll, or employment advice. It is the checklist I run the week I am about to pay (the final pass before anyone treats the sheet as this period's owed truth) so double-counts, zombie paid rows, period theater, rate orphans, and disputed ghosts do not become the remittance list.

This is complementary to my earlier posts — not a rewrite. For the full messy commission dump → clean payout tracker workflow, see How I turn a messy commission dump into a clean payout tracker. For the mid-payout honesty pass while dumps are still arriving, see The mid-payout checklist I use so a commission tracker stays honest. This third pass is the pre-payout check: mid-payout honesty is not enough once real money is about to move.

What "honest enough to pay" looks like

  • Unpaid filter shows real this-period money — not theater, duplicates, or last quarter's leftovers
  • Pending vs approved vs paid vs disputed are still separated — nothing looks done that is still waiting
  • Every paid-looking row has a proof line (batch ID, bank date, remittance) — "paid" in chat is not paid
  • Each amount has a rate rule or Needs-confirm — orphan percentages do not ship as owed
  • Disputed rows are visible and named — not silently deleted so the unpaid total looks tidy
  • Period that matters is named on the sheet — older noise stays out or flagged
  • Raw dump artifacts (CSV leftovers, unfinished notes, named complainers) are out of the handoff view
  • You can answer "who do we owe this period, and how much?" without reconstructing six threads

If the only payout plan you have is a sticky labeled "pay everyone?" pre-payout honesty has already slipped.

The pre-payout checklist (run it before anyone hits send / pay)

Use this against the near-final payout tracker and the live artifacts (affiliate CSVs, CRM export, remittance emails, Slack threads, prior sheets) before anyone treats the unpaid list as this period's owed truth.

1. Kill double-count before money moves

  • [ ] Same deal ID or same affiliate+date+amount twice → still flagged double-count — not silently summed in unpaid
  • [ ] Duplicate paste across CSV + Slack + Notion is one row or one labeled duplicate — not two payouts
  • [ ] Soft "I think I closed two" folklore is Needs-confirm or cut — vibe is not an owed line
  • [ ] Skim test: unpaid filter does not pay the same close twice

2. Separate paid theater from remittance-backed paid

  • [ ] Paid rows have a proof line (payout batch ID, bank date, remittance email) — chat "paid" stays approved or pending
  • [ ] Zombie paid (marked paid, no remittance) moves back before the batch ships
  • [ ] Pending rows name what blocks approval — not "waiting on stuff"
  • [ ] Skim test: sorting by status does not put unproven money in Paid

3. Lock period, rates, and disputed ghosts before the batch

  • [ ] Period that matters is named (this month / last quarter / custom) — period theater from three months ago is out or flagged
  • [ ] Each amount has a rate rule or source note — orphan percentages are Needs-confirm, not owed dollars
  • [ ] Disputed rows name who / what / since when — anonymous disputes stay Needs-confirm
  • [ ] Disputes are visible in the skim — not deleted so unpaid looks calm
  • [ ] Currency mixes are labeled — do not silently sum USD + "local" into one remittance total

4. Unpaid list must survive a finance / partner skim

  • [ ] Who is owed, for which period, how much, what status — answerable without opening the dump
  • [ ] Approved-to-pay vs wait-for-confirm are separated — you know what ships today
  • [ ] Incomplete / unlabeled deal refs stay unlabeled or Needs-confirm — blank refs that look unique are folklore
  • [ ] Soft scope of this payout batch is named — other partners / periods stay out or flagged

5. Pre-payout tripwires

  • [ ] You did not leave a double-count in unpaid to make the total look "complete"
  • [ ] You did not leave zombie paid so the Paid column looked finished
  • [ ] You did not bury a dispute under "quick payout note" so the skim looked calm
  • [ ] Soft scope sentence on the sheet: "payout tracker — not a full payroll run, tax filing, or employment classification pack"
  • [ ] Non-advice line present: not CPA / tax / payroll / employment advice; confirm payouts with humans before treating this as gospel
  • [ ] You would be willing to sit in the room while this exact unpaid list is read aloud as what you will pay

6. Last skim before pay / handoff

  • [ ] Sheet answers: who is owed, for which period, how much, what status, what is TBD — without opening the dump
  • [ ] Needs-confirm / Pending / Paid / Disputed filters (or views) are visible — not deleted so the sheet looks tidy for pay day
  • [ ] You know which rows are pay-today vs wait-for-confirm
  • [ ] Anything that should not drive a remittance (double-counts, zombie paid, period theater, rate orphans, disputed ghosts, raw Slack paste) is already off the handoff view

What I do not do on this pass

I do not rebuild their CRM, rewrite commission policy, classify workers, file taxes, or give payroll/legal advice. Pre-payout honesty is about one trustworthy unpaid list a human can skim the week money moves — not a finance office in a spreadsheet.

Soft CTA

If you want the messy pile turned into that tracker for you: Commission dump → payout tracker — usually within 24 hours. Code ADMIN12 takes $2 off. Shop: brittanybonds.gumroad.com · catalog mirror: brittany-bonds.github.io

Top comments (0)