You've got affiliates driving real revenue. But your affiliate tracking lives in Impact or Refersion, your customer data lives in your CRM, and your invoices live in yet another tool. When a referral converts, the information fragments: the source is recorded there, the deal is recorded here, the commission calculation happens somewhere else, and payouts get batched in a spreadsheet. This is expensive (affiliate platforms run $500–$5,000+ per month), fragmented, and error-prone. And if you're a SaaS or e-commerce team doing $1M–$20M in annual revenue, you don't need enterprise-grade affiliate middleware—you need your CRM to work harder. The better move: build affiliate program logic directly into your CRM. Track the referral source, automate commission calculation, record payouts, and keep everything visible in one system. It takes planning, but it saves money and eliminates handoff errors. Why affiliate platforms feel necessary (and why they're not) Affiliate platforms exist to solve a few core problems: generate unique tracking links, attribute sales to the right partner, calculate tiered commissions, and orchestrate payouts. Fair enough. But they also create isolation: your affiliate data doesn't talk to your CRM, your finance system doesn't auto-sync commissions, and your team bounces between three systems to close the loop on a single referral. Most SaaS and e-commerce teams don't need that isolation. You have a finite list of affiliates (not thousands of random partners). Your commission structures are relatively stable. Your payout frequency is predictable (monthly, quarterly). And your revenue is directly tied to customer acquisition, so knowing exactly which affiliate brought in which customer is a core business question, not a nice-to-have reporting layer. A CRM with good contact and deal management, custom fields, and automation can handle all of this. You lose the out-of-the-box affiliate dashboard, but you gain control, transparency, and—critically—data that lives in the same place as everything else about that customer. The core tracking structure: referral source to payout Here's the system: Create an Affiliate contact record for each partner. Store their name, email, payout email (often different), commission tier, payment method (bank transfer, PayPal, credit), and whether they're active. Tag them as 'Affiliate' so you can filter by partner type. This is your single source of truth for who owes what. Add a custom 'Referral Source' field to your deal record. When you create a deal or qualify a lead, ask: who brought this in? Assign it to the affiliate contact. This field is the linchpin—it connects the sale to the person who made it happen. Record the referral date and deal value. You need the sale amount (or monthly recurring revenue if it's a subscription) and the date of conversion. Use your CRM's native deal fields; they exist for this. Calculate commission once the deal closes. Create a custom field for 'Commission Amount'. Use a formula or automation to calculate it based on the deal value and the affiliate's tier. For example: if an affiliate's tier is 15% and the deal is $10,000, commission = $1,500. Store this openly in the deal record so it's auditable. Stage commission as 'Pending Payout' after deal close. Don't assume money in the door means commission owed—track deal stage independently. Use a workflow to mark commissions as 'Pending' only when the deal reaches your defined closure state (e.g., 'Won' or 'Revenue Recognized'). Batch and pay out on a fixed schedule. At month-end (or quarter-end), filter deals with 'Pending Payout' status, group by affiliate, sum commissions per affiliate, and prepare the payout. Mark them 'Paid' after you transfer funds. This is not sophisticated, but it is precise. Every step is auditable. If an affiliate disputes a commission, you can trace it back to the deal, the amount, the stage, and the date calculated. Preventing duplicate and phantom referrals One risk of this approach: your team incorrectly attributes a deal to an affiliate, or an affiliate gets credited twice for the same customer. A CRM won't catch that automatically the way some affiliate platforms will (with pixel-based last-touch attribution). You need process discipline instead. Document your attribution rule in advance. First touch? Last touch? Multi-touch split? Write it down. Then enforce it. Every deal needs a referral source recorded before it closes. No exceptions. Use a deal approval workflow. Before a deal moves to 'Won', require a manager or operations person to confirm the referral source is correct. This adds one gate and removes most errors. Audit quarterly. Pull a report of all deals closed in the last 90 days grouped by affiliate. Spot-check 10 deals per affiliate. If the referral source is wrong, correct it retroactively (and adjust the commission if needed). This catches systemic mistakes. Set up a 'No Affiliate' category. Not every deal comes from a partner. Create