You run an affiliate program. Twenty partners drive revenue. Then finance asks: why does Stripe show ₹48,000 in commissions, but our settlement came through at ₹42,500, and the spreadsheet says ₹41,200? By the time you've dug through emails and spreadsheets, three weeks have passed. Your payouts are late. Trust erodes. One affiliate stops promoting because they're convinced you're underpaying them—even though you're not. This is payout drift, and it costs 8–12% monthly in leakage, late fees, and lost affiliate relationships. The problem isn't fraud. It's friction: Stripe batches transactions differently than your payment processor settles them. Refunds hit Stripe instantly but settle days later. Your manual reconciliation spreadsheet is always one day behind. The affiliate tracking platform (Refersion, Impact, custom code) reports gross commissions but your GL sees net-of-refund. None of these numbers align by default. Without a structured monthly audit, that drift compounds. After six months, you've lost thousands to underpayment, late fees, and manual correction chaos. This guide walks through the exact reconciliation fields you need to audit monthly, the specific divergence points where leakage happens, and which platforms (or workflows) prevent it versus which leave you exposed. The three ledgers that never match (and why) Every affiliate payout flows through three separate ledgers, each with its own timing and rules: Stripe transaction ledger : Real-time. Records every sale, refund, chargeback, and dispute the moment it happens. Refunds reverse instantly. Chargebacks appear days later. Balances shift hourly. Payment processor settlement ledger : Batched daily or twice-daily. Stripe (or Wise, or your payment processor) nets out refunds, disputes, and fees, then deposits the cleared amount to your bank 1–2 days later. A sale on Monday may not settle until Wednesday. A refund issued Monday doesn't reverse the payout—it rolls into next week's settlement. Your GL (accounting ledger) : Records what actually hit your bank account. If Stripe shows ₹50,000 in gross commissions but settled ₹42,000 (₹8,000 in refunds), your GL sees only the ₹42,000. But if you've already paid the affiliate ₹50,000, you're now ₹8,000 short. Add a fourth layer: your affiliate tracking platform (or internal spreadsheet) tracks earned commissions—which might be gross, might exclude refunds, might have its own lag. If Refersion says an affiliate earned ₹10,000 but Stripe shows ₹9,200 (after a refund), you've got a ₹800 gap before you've even paid anyone. The drift happens because these three ledgers settle on different schedules, use different refund logic, and don't automatically sync. Without a monthly reconciliation, that gap becomes a leak. The exact audit fields you need monthly Pull these numbers into a single spreadsheet on the same day each month (e.g., the 3rd, to let settlement clear). Each field tells you where the leak is: From Stripe (Dashboard → Balances → Transactions) Gross commission volume : Sum of all affiliate transactions (filter by tag or custom field). This is the top line. Refunds : Sum of all refunds issued to affiliate customers in that period. Stripe reverses these instantly, reducing your balance. Chargebacks + disputes : Fees and reversals from payment disputes. These can lag 5–30 days. Processing fees : Stripe's cut (2.9% + ₹30 or similar). This reduces what you can pay out. Available balance at month-end : The actual cleared cash Stripe says you have. From your payment processor settlement report Settled amount (last deposit) : What actually hit your bank account. Compare this to Stripe's "available balance." If Stripe says ₹50,000 available but settlement was ₹42,000, you're carrying a ₹8,000 temporary mismatch (usually refunds in flight). If the gap is larger than refunds you issued, investigate disputes or fees. Settlement date : When the money cleared. If you paid an affiliate on the settlement date but the actual funds arrived 2 days later, you've borrowed ₹X from your operating cash. Track this lag. Reversal volume in settlement report : Some processors itemize reversals separately. Compare this to Stripe's refund total. If they differ, refunds are settling in a later batch. From your affiliate tracking platform (Refersion, Impact, or custom) Gross earned commission : What the platform calculated the affiliate earned. Usually includes all sales attributed to them, before refunds. Commission adjustments : Manual changes, refunds, or corrections. Track these separately to understand volatility. Net commissionable (after refunds) : The platform should show what each affiliate owes after refunds are deducted. If it doesn't, you're manually calculating net, which is where drift leaks in. Payment status : Paid, pending, or held. If an affiliate's status is "pending" for longer than your settlement lag (usually 2–3 days), investigate why. From your GL (or accounting software) Affiliate commission expense