Case Study · Budget Sidekick

Affiliate Reconciliation to the Penny

Finance isn't a task. It's a reckoning. Everyone has been there — it's 5pm on a Friday, you've got a report that's close. Close enough. You let it go. Month one, fine. Month two, still fine. Month three — now you've got a problem you don't fully understand anymore, because the drift has been quietly compounding the entire time.

At Primordial Software, our sites can be fast enough. Our designs can be good enough. But the moment you let "good enough" touch your financials, you've created a problem that will grow increasingly difficult to solve the longer you put it off. For Budget Sidekick, conversion values push to Google in real-time to feed automated bid strategies — we use a constant historical average for every conversion, directionally right, fast enough for the machine learning to do its job. But month end is different. Month end is hard dollars. Every record, every transaction, every discrepancy has to be accounted for — to the penny, in our own system, queryable and auditable across every platform we touch.

And that standard is what drives us at Primordial Software. In many aspects of software development, pulling a loose thread usually leads nowhere. In finance, every dollar that's wrong is telling you something. The question is whether you're listening.

Reconciling to the penny

After noticing differences accumulating by month end which were beyond what should have occurred from using a constant average conversion value, we built an affiliate reconciliation system that compares affiliate-reported conversions against our own custom tracking — PDF statements, CPC (cost per click) spreadsheets, and CPL (cost per lead) spreadsheets — and flags every discrepancy. The system doesn't tolerate "close enough." It surfaces affiliate-only conversions (reported by the affiliate but missing from our data), custom-only conversions (in our system but not theirs), and value differences where the same transaction shows different dollar amounts. Here's what that looks like in practice.

All data shown in the screenshots below is fictitious and for demonstration purposes only.

Step 1: Initial CPC reconciliation — discrepancies surface

When we first load the affiliate's CPC conversion spreadsheet, the system compares it row-by-row against our custom tracking. In this demo, we see 214 rows loaded. The summary cards immediately tell the story:

  • AFFILIATE ONLY — 2 transactions ($14.19): conversions the affiliate reported that we don't have in our system
  • CUSTOM ONLY — 1 transaction ($3.00): a conversion we tracked that the affiliate didn't report
  • MATCH — 0: no perfect matches yet
  • NET DIFFERENCE — $308.54: the total monetary gap between the two data sources

The table shows each transaction with its status and actionable buttons: "Reconcile 212 value differences," "Create 2 missing conversions," and per-row actions like "Use affiliate value," "Create," or "Zero out." Every dollar that's wrong is visible and addressable.

CPC Reconciliation — initial state with discrepancies flagged

Step 2: CPC reconciled — all 214 rows match

After working through the discrepancies — creating the missing conversions, reconciling value differences, and zeroing out invalid records — the CPC data is fully aligned. AFFILIATE ONLY and CUSTOM ONLY both show zero. MATCH shows 214. NET DIFFERENCE is $0.00. The system confirms: every CPC transaction is accounted for.

CPC Reconciliation — fully reconciled

Step 3: CPL conversions — form submit reconciliation

The same rigor applies to Cost Per Lead (form submit) conversions. We upload the affiliate's CPL CSV and compare it against our custom form conversion data. UTM terms, timestamps, and values are matched. In this example, 187 conversions reconcile perfectly: FORM CSV TOTAL and FORM CUSTOM TOTAL both show $4,224.95, with zero affiliate-only, zero custom-only, and a $0.00 net difference.

CPL Conversions — 187 conversions reconciled

Step 4: Handling precision loss

The Revenue Summary aggregates everything: the PDF statement (source of truth from the affiliate), our custom CPC and CPL totals, and the CSV-derived totals. Only after we'd synced the records between the CSV and our custom system did we get the difference down to a penny. In this demo, we hit a classic real-world case: the PDF shows $5,172.48, while the combined custom and CSV totals each sum to $5,172.49 — a one-cent difference from precision loss in row-level CPC data. The system flags it. It didn't matter in the sense of uncovering fraud or error — just rounding in the affiliate's report. We document it and adjust.

Revenue Summary — off-by-penny discrepancy flagged

Step 5: Adjustment applied — everything matches

We apply a Rate Click adjustment of -$0.01 to align the CPC total with the PDF. The Revenue Summary updates: RATE CLICK (CUSTOM) and RATE CLICK CSV now show $947.53 ($947.54 - $0.01), and COMBINED CUSTOM and COMBINED CSV both match the PDF at $5,172.48. A green checkmark confirms: "PDF, custom, and spreadsheets all match."

Revenue Summary — reconciled with adjustment

Step 6: Closing the month — documented and locked

When reconciliation is complete, we close the month. The system requires a memo — especially when an adjustment was made — so there's an auditable record of why. "Variance attributed to precision loss in row-level CPC data, which is only accurate to the penny in the provided report." Closing locks the PDF, CSV, and all custom conversion edits. No more drift. No more compounding errors.

Close month — memo required for audit trail

Step 7: Month closed — reconciliation complete

The final state: status CLOSED, memo visible, Revenue Summary green. PDF, custom, and spreadsheets all match. Every conversion is accounted for. The books are clean.

Final close-out — month locked, reconciliation complete

What the reckoning revealed

Reconciling to the penny didn't just make the problem go away. It pushed us further. We didn't just find reasonable differences from averaging. The affiliate was zeroing out certain conversions. We pulled the timestamps: rapid-fire CPC activity, inhuman cadence. We pulled the IP data, looked up the Autonomous System organizations, checked their network roles. Every zeroed record had a story. None of them were legitimate traffic.

That discovery drove real changes: Vercel bot protection, AS lookups on every conversion, non-US traffic treated as a bot. A fraud detection layer that wouldn't exist if we'd been comfortable with "close enough." The next step is wiring the month-close directly to the accounting system — books close, revenue recognized, financials current. No manual entry. No lag.

And on the Google side — smarter conversion posting. A conservative floor in real-time, with reconciled updates pushed based on actuals for improved bid adjustments. Teaching the algorithm that not all clicks are worth the same — because they're not.

The discrepancy didn't just get removed. It got investigated, understood, and turned into a better system. That's the standard we hold ourselves to at Primordial Software — not because it's easy, but because the alternative is a compounding problem that's hiding other problems.

If your financial reporting, campaign tracking, or revenue infrastructure has loose threads you've been meaning to pull — we'd like to talk.