You probably know your top five affiliates by name. You probably do not know which transactions they've earned commissions on in the last thirty days, whether tier changes applied correctly, or what currency rounding cost you. That's not negligence—it's spreadsheet math. When tier thresholds change, when partners operate in multiple currencies, when a payment fails and reruns a month later, a static tracking sheet drifts. Quietly. By month six, your actual payouts have diverged from your records by 12 to 18 percent. Not all overpayments. Not all shortfalls. Just drift. The fix is not a new tool. It's a monthly audit that takes ninety minutes, catches tier mismatches before they compound, and surfaces the currency and tax leaks that spreadsheets hide. Here's the six-step process I've used to recover affiliate tracking at agencies and SaaS companies doing ₹50L to ₹3Cr in annual revenue. Step 1: Export Stripe transactions and segment by affiliate Start with raw transaction data. Log into Stripe, go to Reports > Payments, and export the last thirty to sixty days of transactions as CSV. Do not export summaries. You need the row-level detail: transaction ID, timestamp, amount, fee, net proceeds, currency. Open the CSV in a spreadsheet. Add a column labeled 'affiliate' and tag each transaction with the partner ID or name. If your affiliates drive traffic through unique coupon codes or referral links, match each transaction to its source. If they drive traffic through a shared channel (like a newsletter), you'll need a secondary source of truth—your analytics tool, your CRM, or your tracking pixel—to attribute correctly. Stripe alone will not tell you who earned the commission. This step surfaces your first leak: transactions that should be tagged but are not. A partner's link went live on day fifteen but their transactions don't start until day twenty-two? That's data entry lag or a delayed tracking pixel. A transaction tagged to the wrong affiliate? That's a channel mix-up or a copy-paste error. Mark these gaps now. What to export: Transaction ID, date, local currency amount, Stripe fee, net amount Customer name or ID (to spot repeat buyers or fraud) Metadata tags or description field (often contains coupon or link ID) Payment method (card, bank transfer, wallet) to spot refund patterns Step 2: Match each transaction to commission tier and calculate commission due Your affiliate agreement probably has tiers. Partner A earns 10 percent on the first ₹10L, then 12 percent. Partner B has a flat 8 percent rate. Partner C has a tiered monthly reset—the tier resets on the first of each month, not on their anniversary date. Create a lookup table of all active tiers, effective dates, and rates. Then, for each transaction: Check the transaction date against the tier effective date. If a tier changed mid-month, the commission rate on day ten is different from day twenty-five. Calculate year-to-date or month-to-date revenue for that affiliate (depending on your tier reset schedule). Determine which tier bracket the transaction falls into. Apply the correct commission rate to the net Stripe amount (not the gross, not the transaction amount—the net after Stripe's cut). This is where tier drift happens. You apply 10 percent to all June transactions, but Partner A hit their ₹10L threshold on June eighteenth. Everything after that date should be 12 percent. If you reconcile quarterly instead of monthly, you miss the exact cutoff and overpay or underpay by the threshold amount times the rate difference. Create a new column: 'Commission Due (Calculated)'. Run the calculation for every transaction. At the bottom, sum it by affiliate and by date range. Step 3: Verify actual payouts against commission due Now open your payout records. This might be a bank statement, a Stripe Connect payouts table, a payment processor dashboard, or your internal accounting system. List every payout you've sent to each affiliate in the audit period, including date, amount, currency, and any notes. Create a reconciliation table: Commission Due (Calculated) | Payout Sent | Variance | Notes Match payouts to commission calculations by affiliate and date range. If Commission Due is ₹50,000 and Payout Sent is ₹50,000, variance is zero. If Payout Sent is ₹51,200, you overpaid or you included a bonus, a chargeback reversal, or a tier adjustment that wasn't documented in the commission rate table. For every non-zero variance, flag it: Is this a known bonus? A chargeback reversal? A missed transaction in the Stripe export? A rounding difference? Document the reason. If you cannot identify it, it goes into the 'investigate' bucket for step six. Step 4: Audit currency conversion and exchange-rate timing If any of your affiliates or customers operate in currencies other than your home currency, exchange rates matter. Stripe charges a currency conversion fee (typically 1.5 percent in addition to your processing fee). If you pay affiliates in a different currency than