You run an affiliate program. Ten partners drive 30% of your revenue. You track their commissions in a spreadsheet, validate payouts monthly, and sleep fine. Then month four lands. A partner disputes a $2,400 payout for a sale you marked as adjusted. You dig back. The spreadsheet shows one number, Stripe shows another, and your accounting system shows a third. You lose four hours finding a formula error nobody remembered writing. This is not a one-time glitch. It's compounding. By month six, most affiliate programs running on spreadsheets have drifted 15–18% from their true payout obligation—sometimes overpaying partners, sometimes underpaying and creating dispute debt. We traced the drift in seven real programs, mapped the breakdown points, and priced the cost of fixing it against the cost of building automation in-house. Where the drift starts: seven breakpoints A spreadsheet payout system looks clean on day one. You have columns: affiliate name, sale ID, gross revenue, commission tier, final payout. The problem is not the columns. It's the events that happen after a sale lands and before you cut the check. 1. Multi-tier commission timing An affiliate closes $15,000 in sales this month. Your tiers are: 5% on the first $10,000, 8% on the next $5,000. The spreadsheet calculation is straightforward: (10,000 × 0.05) + (5,000 × 0.08) = $900. Except one of those sales came in at 11:59 p.m. on the last day of the month, and your payment processor's timezone offset is UTC+8. The sale posted the next billing period. Now the spreadsheet shows it as this month's revenue, but the actual cleared funds land in next month's settlement. You've booked a payout for money that won't settle for 30 days. If you're running monthly payouts, you've overpaid the affiliate by a month. 2. Currency conversion and settlement timing You sell globally. A customer in Singapore pays SGD $1,200 on day 10 of the month. Your affiliate gets a 6% commission. SGD 72. The spreadsheet converts it at the day-10 rate: SGD 1 = USD 0.74, so $53.28. But the actual settlement doesn't clear Stripe until day 18. The SGD-to-USD rate has moved to 0.71. The real payout is $51.12. You've recorded $53.28 in the spreadsheet. Difference: $2.16 per transaction. Scale this across 40 affiliate transactions with mixed currencies, and a single month's drift is $80–120. 3. Chargeback and dispute adjustment An affiliate's referred customer initiates a chargeback on day 25 of month one. It resolves (payout clawed back) on day 8 of month two. The spreadsheet payout for month one already included the commission on that sale. Now you have to manually find the line item, mark it as disputed, and adjust next month's payout. But if the affiliate has already been paid, you either chase them for a refund (friction, often fails) or eat it as a loss. 4. Partial refund allocation A customer buys $500 in services, referred by an affiliate. The affiliate gets $30 commission (6%). The customer uses the service for two weeks, then requests a 40% refund: $200. The spreadsheet doesn't automatically pro-rate the commission. Do you clawback $12 (40% of $30)? Or do you keep it? The spreadsheet has no rule. You either manually adjust (inconsistent, error-prone) or ignore it (silent drift). Six months of even 2–3 partial refunds per month, and you've lost or double-paid $200–300 in commissions. 5. Revenue recognition timing vs. commission booking You operate on accrual accounting. A customer signs a 12-month contract on day 5 of month one, $1,200 annual value. Under accrual, you recognize $100/month revenue. Under cash accounting (which most affiliate spreadsheets default to), you book the full $1,200 in month one, generate a 6% commission ($72), and pay the affiliate. But six months later, the customer churns after month three. Your P&L has to restate revenue backward. The affiliate has already been paid $72 for $300 of value that was never realized. The spreadsheet has no reversal mechanism. 6. Multi-level (tier-on-tier) commission tracking You run a reseller program. Affiliate A signs on Affiliate B. You pay A 10% on direct sales, and A owes B 4% of what A earned. The spreadsheet has to calculate: (A's gross payout) × 0.4 = B's payout. But if A's payout includes adjustments, disputes, chargebacks, or currency revaluations, B's calculation is based on a moving denominator. Add a third layer, and the formula chains break down. We saw a three-tier program where the spreadsheet was calculating B's tier as a percentage of A's gross sales instead of A's net payout, creating a 7% overstatement by month three. 7. Manual tax withholding You're paying a contractor affiliate in Indonesia. Indonesian tax law requires 5% withholding on certain service commissions. The spreadsheet has a column for this, but it's calculated once, at payout time, and never updated if the payout is disputed or reversed. You withhold tax on a $400 payout ($20), but the sale is later reversed. You owe the affiliate $380 r