Affiliate CSV exports in three formats, a sales-rep Slack thread with “I think I closed two last week,” a Notion page of half-named deals, and an email that just says “can you make this make sense?” are not a commission system. They are how unpaid lines hide until someone asks why payouts feel short.
Here is the workflow I use when someone dumps messy commission notes, affiliate payouts, or sales-rep commissions on me and wants one clean payout tracker: who earned what, for which period, at what status, and what still needs a check.
What “good enough” looks like
- Every payout row has a person (or partner), a period, an amount, and a status
- Sources are named (CSV, email, sheet tab) so you can re-check a weird line
- Pending vs approved vs paid are separated — nothing looks done that is still waiting
- Duplicate deals / double-counted affiliates get flagged once, not silently summed twice
- Open questions sit in a notes column, not buried in chat
- Totals by person and by period are easy to skim
Intake checklist
- The dump (affiliate CSVs, CRM exports, payout emails, Slack notes, prior sheets)
- Any existing rate card or commission rules (flat $, %, tiers) — even a rough note helps
- Period that matters (this month, last quarter, custom range)
- Who the tracker is for (you, a bookkeeper handoff, a sales lead)
- What “done” means (clean tracker, optional unpaid list, optional by-person summary)
I am a freelancer admin / spreadsheet helper. I do not give tax advice, and I am not a CPA — this is payout hygiene, not tax, payroll, or employment advice.
The pass order that saves time
- Gather sources — list every file, export, and thread; note date range and who sent it.
- Normalize columns — map into: period, person/partner, deal or referral ref, amount, currency if mixed, status, source, notes.
- Dedupe lightly — same deal ID or same affiliate+date+amount twice → flag; do not invent merges without a rule.
- Track status — pending / approved / paid / disputed (or your client’s words); unpaid gets a filter view.
- Roll up — by person and by period so “what do we owe?” does not require scrolling raw rows.
- Hand back — the payout tracker (+ short unpaid list if useful); no full accounting rebuild unless they asked separately.
Columns that usually work
| Column | What goes here |
|---|---|
| Period | Month / week / custom range the commission belongs to |
| Person / partner | Sales rep, affiliate, or partner name as they use it |
| Ref | Deal ID, order #, referral code, or “unlabeled” |
| Amount | Commission amount (not the underlying sale, unless they asked for both) |
| Status | Pending / approved / paid / disputed |
| Source | Which CSV, email, or sheet the line came from |
| Notes | Open questions, conflicts, “needs rate confirm” |
Common traps
- Summing overlapping exports and calling it “total owed”
- Mixing sale amount and commission amount in one unlabeled column
- Marking everything paid because a dashboard said “processed” once
- Dropping currency when USD and another currency share a dump
- Rebuilding a CRM or payroll stack when they asked for a clean tracker by Friday
Soft handoff
When the sheet is done, send the clean payout tracker, a short unpaid / needs-approval list if any, and optional by-person totals only if they asked. That is the whole job: gather → normalize → track period/person/amount/status → hand back. No ERP, no fake “I scaled a sales org” backstory — just practical cleanup.
I do this as a 24-hour DFY service for freelancers and small businesses ($12 for messy commission dump → clean payout tracker). Shop: https://brittanybonds.gumroad.com/l/commissionsheet — code ADMIN12 for $2 off. Full catalog: https://brittanybonds.gumroad.com/ and https://brittany-bonds.github.io/
Top comments (0)