Affiliates (/admin/affiliates) is where you create affiliates, see who's
producing, run monthly payouts, and fix referral tracking that didn't fire
automatically.
A summary line above the tabs reads something like "2 payout batches ready across 14 affiliates" — the number of payout batches counts affiliate/month combinations that have cleared the 30-day hold and are ready to approve.
Test mode
Until TED starts charging real cards, Stripe runs in test mode and the page header shows a Test mode: Stripe test data badge. Every commission figure on the page — payouts, rankings, the CSV — comes from test-mode data only. The moment Stripe sends its first live-mode event (at the live cutover), the badge disappears and the page, approvals, and payouts switch to live commissions only. Test-mode commissions are never shown, approved, or paid after that. Customers' Refer TED totals switch at the same moment.
Affiliates
The roster. New Affiliate creates one with a referral code and a commission rate. The table shows each affiliate's Rate, Override, who Recruited them, and a status badge. Select Edit to change any of these; the referral code is fixed after creation.
Recruiters and overrides. An affiliate can be recruited by another affiliate — set Recruited by in the edit form (the affiliate being edited is not in the list). The recruiter earns their Override % (default 10%) on customers referred by the affiliates they recruited, on top of those affiliates' own commission. TED rejects a loop (A recruits B, B recruits A) or a recruiter who shares the affiliate's email address, and shows the reason under Recruited by.
Vetted. A recruiter normally has to hold a paid subscription to earn overrides. Turn on Qualifies for overrides without a paid subscription to vet a partner you've approved yourself.
Two ways to pause. Status has three options:
- Active — earns and gets paid.
- Payouts on hold — keeps earning, but approving and paying out their commissions is blocked. Nothing owed is lost; reactivate to pay out everything that built up. The row's Hold payouts button sets this in one click.
- Suspended — stops all new earnings, including their recruiter's override on their customers, and payouts are blocked. Set it from Edit only. Reactivate on the row returns either pause mode to Active.
Rankings
One row per affiliate: Clicks, Signups, Active Subs, Referred MRR, Recruits (affiliates they recruited), Override earnings (what they've earned from recruits' customers, net of refunds), and Lifetime Commission (everything). Select a column header to sort by it.
Monthly Payouts
Commission totals per affiliate per month, in four columns:
- Pending (on hold) — commission earned, still inside its 30-day hold.
- Approvable — past the hold, not yet approved.
- Approved — approved, not yet paid.
- Paid — already paid out.
Approve All (past 30-day hold) approves every approvable row at once. Mark Paid on a row records that affiliate/month as paid after you've sent the money. Export CSV downloads name, email, and amount for whatever you're currently viewing (filter by month first if you only want one month's batch) — built to hand straight to a PayPal batch payout.
An affiliate whose payouts are on hold (or who is suspended) has rows marked Payouts on hold or Suspended and skipped by both actions — Approve All leaves their pending rows alone, and Mark Paid is disabled with a tooltip. Reactivate the affiliate on the Affiliates tab first.
Manual Attribution
Use this when a referral's tracking link didn't fire — search for the organization, pick the affiliate, and write a note explaining why (required, so there's a record of the manual fix). Choose Attribute from today if only future invoices should commission, or Include past invoices to also backfill commission on invoices the org has already paid.