Your affiliate spreadsheet shows $50,000 in commissions paid last month. Your bank statement shows $44,200 landed. You assume it's timing, withholding, or a processor fee you forgot about. But you don't dig. Six months later, that gap is $31,000 unaccounted for, and by then the audit trail is cold. This is not unusual. Affiliate payouts drift silently through three compounding sources: FX rounding errors on multi-currency splits , processor settlement spreads that widen with volume , and reconciliation gaps that live in the handoff between your CRM, your billing system, and your payment processor . Most businesses don't catch it until an auditor or a disgruntled top affiliate asks where their money went. Here's how to find the drift before it costs you credibility—and compliance risk. Why affiliate drift compounds faster than you think A single rounding error on an FX conversion looks trivial: $0.47 missing from a €2,300 payout to a Berlin-based partner. But when you run 40 affiliates across 12 currencies, when you settle weekly, when your payment processor applies its own spread and your bank applies another—that $0.47 becomes $180 per settlement. Over a year, $9,360. And your accounting team has no line item for it. The drift compounds because: Processor spread widens at scale. Stripe charges 1.5% for ACH transfers in the US, but 2–3% for international payouts. A $50,000 monthly payout to 20 global affiliates incurs $1,000–$1,500 in hidden fees that aren't always itemized on the same invoice as the payout amount. FX rounding happens twice. Your CRM calculates commissions in USD. Your affiliate's bank is in EUR. Stripe converts at its mid-market rate plus 1%. Then the destination bank applies another conversion. Two rounding steps = compounding error. Timing gaps create reconciliation black holes. You run commission reports on the 25th. You initiate payouts on the 26th. They settle on the 28th–30th. Your affiliate sees the deposit on the 1st. In that window, four systems of record exist, and they rarely match. The real cost: At 500+ affiliates, reconciliation drift alone costs 4–6% of total payouts annually. Add processor spreads and FX rounding, and you're looking at 10–12%. Checkpoint 1: Commission calculation vs. CRM-approved amounts Start at the source. Pull your commission spreadsheet (or your CRM's commission module, if you use one like Orin's pipeline tracking ). For each affiliate, compare: The commission amount you calculated (deal size × rate, or revenue × percentage) The amount you told the affiliate you'd pay (email, contract, or CRM deal record) The amount you approved for payout (your payout spreadsheet or accounting entry) These should match exactly. If they don't, you have a calculation error that predates the processor. Document the gap and trace it back to the commission rule—was the rate wrong? Did a deal size change after approval? Spreadsheet logic: IF(ABS(CalculatedAmount - ApprovedAmount) > 0.01, "MISMATCH", "OK") Any row marked MISMATCH gets flagged for review. If more than 2% of payouts show mismatches, your commission rules need hardening. Checkpoint 2: Approved amounts vs. payout initiation Next, compare what you approved to pay with what you actually told your payment processor to send. This is where timing drift creeps in. You may have approved a payout on the 25th, but the processor batch ran on the 27th. In that gap, did you add a late affiliate? Did a commission get reversed? Pull: Your payout approval log (date, amount, affiliate) Your processor batch file or API logs (what actually went to Stripe, PayPal, or 2Checkout) Sum each. They must match. If your approval log shows $50,000 but you only sent $49,500 to the processor, someone cancelled a payout mid-process and didn't document it. Spreadsheet logic: ApprovedTotal = SUM(ApprovedAmount:ApprovedAmount) PostedTotal = SUM(ProcessorBatch:ProcessorBatch) IF(ABS(ApprovedTotal - PostedTotal) > 1, "AUDIT", "OK") Checkpoint 3: Payout initiation vs. processor invoice Your processor sent the payout. But did they charge you the fee they said they would? Pull your last three months of processor invoices. For each affiliate payout batch : Note the total payout amount you initiated Find the fee line item on the invoice (ACH transfer fee, international wire fee, FX markup, etc.) Calculate the effective fee rate: (Fee / Payout Amount) × 100 Stripe's stated rate is 1% for ACH. But are you seeing 1.3% on some batches? That's the bank's cut being passed through. Are you seeing 2.8% on international payouts? Stripe charges 2%, but the destination bank is taking 0.8%. This is normal—but you need to know it's happening, and it needs to come out of your affiliate fee budget, not their commission. Compare rates month-to-month. A sudden jump in effective fee rate (e.g., from 1.2% to 1.9%) may signal that your processor changed its pricing or that you're hitting a volume threshold where the rate changes. Spreadsheet logic: EffectiveFeeRate =