Spreadsheet affiliate programs work until they don't. You start with three partners, formula-based rows, and a monthly calculation. By month four, you're manually adjusting commission tiers, reconsolidating payouts because a deal got marked as won on the wrong date, and trying to explain why Partner A's earnings don't match what they claim. By month six, drift compounds: 1–2% lost to date misalignment, another 2–3% to tier miscalculation, another 1% to duplicate attribution. You're now 5–8% off across your entire affiliate base. Spreadsheets don't have an audit trail. They don't enforce rules. They don't force reconciliation. They fail silently. A repeatable affiliate program automates three things: commission structure definition (so partners know the rules), attribution-to-payout reconciliation (so drift surfaces early), and monthly audit (so you catch errors before payout). This playbook shows you how. Define your commission structure in a single source of truth Start by choosing how you pay affiliates. Most programs use one of three models: Percentage of deal value: Partner books a ₹100K contract, you pay 5%, they earn ₹5K. Works for retainer sales. Simple math but high variance (one big deal changes the month). Per-booking commission: Partner sends a qualified lead that converts to a closed deal, you pay a flat ₹10K (or ₹5K, depending on deal size band). Predictable. Works for lead-gen affiliate networks. Tiered hybrid: 3% for deals under ₹50K, 4% for ₹50K–₹200K, 5% for over ₹200K. Incentivizes bigger deals. Most common in B2B SaaS. Write this rule set into your CRM as a field or a custom deal attribute . Don't leave it in a doc. Document the rule, but encode it in the system. Example: Affiliation Type = "Lead Gen" → Commission Rate = ₹10,000 per closed deal Affiliation Type = "Reseller" → Commission Rate = 5% of deal value (capped at ₹50,000) Affiliation Type = "Channel Partner" → Commission Rate = 4% of deal value if deal size < ₹50K; 5% if ≥ ₹50K Now define what counts as "closed." Is it when the deal stage flips to "Won"? When the contract is e-signed? When the first invoice is sent? When payment clears? Pick one. Most affiliate drift happens here—partners claim they closed the deal, but your system doesn't mark it as closed yet. Lock this rule. Make it non-negotiable. Next, define attribution windows and exclusions. If a partner refers a deal, how long does the attribution window stay open? 30 days? 90 days? What if the partner refers a deal, but the prospect came from your own ad spend three weeks earlier—does the partner still get commission? Write these edge cases down. Most disputes come from unwritten assumptions. Automate attribution: link partner to deal at creation When a lead comes in, tag it with an affiliate code or partner field in your CRM. This should happen at the moment of creation, not retroactively. The cleanest way: Partner sends a unique referral URL. That URL has a parameter like ?ref=partner_name or a unique code. When someone lands on your site or booking page, capture that parameter and store it in the lead record. Partner uses a booking or intake link you provide. If you use Orin Bookings or similar , you can create partner-specific booking URLs that auto-tag any booked meeting or lead with the partner code. Manual tagging at deal creation. If the partner emails your sales team directly, your team should tag the deal with the partner code at intake. This requires discipline. Best done if your CRM has a required field or a workflow that prompts the user. Automate this with a workflow: If deal source = "Affiliate" → populate partner field from URL parameter. In Orin, you'd set this as a no-code workflow . If a lead arrives with a recognized affiliate code in the URL, the CRM automatically fills the partner name and applies the commission rule. Do not rely on the affiliate to self-report. Self-reporting is 30–50% inaccurate. Calculate commission automatically: stage-based triggers Once a deal is tagged with a partner, calculate commission the moment the deal closes (or reaches your defined "closed" stage). This should be automatic, not a manual calculation at month-end. Set up a workflow that triggers on deal stage change: When deal stage = "Won" (or your close milestone): Read the partner field and the deal value. Look up the commission rate based on your structure (% of value, flat fee, tiered rate). Calculate: Commission = Deal Value × Commission Rate Create a payout record (a line item in your affiliate ledger) with the amount, due date (usually 30 days after deal close), and reference link back to the deal. This payout record becomes your source of truth for reconciliation. It has a timestamp (when calculated), a linked deal (for audit), a partner, an amount, and a status (Pending, Paid, Disputed). If your commission is tiered and the calculation is complex, log the calculation as a comment or attachment on the payout record. Example: Deal ₹150K, threshold band 4%, ba