Data Validation Framework
trace every number to its source

KPI Walkback Audit

Walk back how your KPIs are populated — validating every checkpoint the data passes through, from the dashboard metric all the way to the source event.

Reporting Layer
$2.4M ARR
Executive Dashboard (Looker / Tableau / Sheets)
— Unchecked

Data Source

Pulls from a scheduled query or direct SFDC report. SUM(MRR) × 12 across all active subscriptions.

What to Check

Is this a live query or a cached snapshot? Does the refresh cadence match decision-making timelines?

Field-Level Detail

Field mapping: dashboard.arr = sfdc_report.total_mrr * 12. Check: does the report include churned accounts still marked active?

Does the dashboard number match a manual pull from the source system? If not — the pipe is leaking.
feeds into
CRM / System of Record
Opportunity Object — "Closed Won"
Salesforce (Opportunities)
— Unchecked

What Lives Here

Opportunities with Stage = Closed Won, Amount field, Close Date, Subscription Start/End dates, linked to Accounts.

What to Check

Is Amount the annual value or monthly? Are multi-year deals handled correctly? Is there a recurring revenue field vs. one-time?

Field-Level Detail

Fields: Opportunity.Amount, Opportunity.StageName, Opportunity.CloseDate, Opportunity.Subscription_MRR__c. Filter: Stage = "Closed Won" AND Type != "One-Time".

Are one-time fees (setup, services) excluded from the ARR calculation? Is Amount = ACV or TCV?
feeds into
Billing / Subscription System
Active Subscriptions
Chargebee / Stripe / Zuora
— Unchecked

What Lives Here

Subscription objects with status, plan, MRR, billing cycle, next renewal date. This is the billing source of truth.

What to Check

Does subscription MRR in Chargebee match what SFDC says? Are trial/free plans excluded? Are downgrades reflected?

Field-Level Detail

Chargebee fields: subscription.mrr, subscription.status = active, subscription.plan_id. Compare: SUM(chargebee.mrr) vs SUM(sfdc.Subscription_MRR__c).

Run the delta: Chargebee total MRR vs. SFDC total MRR. Any gap means the sync is broken or business logic differs.
feeds into
Sync / Integration Layer
Chargebee → SFDC Sync
Native Integration / Workato / Tray.io / Census
— Unchecked

What Happens Here

When a subscription is created/updated in Chargebee, a sync job pushes data to SFDC. This creates or updates the Opportunity and sets MRR fields.

What to Check

What triggers the sync? Is it real-time or batched? What fields get mapped? What happens on subscription change (upgrade/downgrade/cancel)?

Field-Level Detail

Sync mapping: chargebee.subscription.mrr → sfdc.Opportunity.Subscription_MRR__c. Trigger: subscription_created, subscription_changed, subscription_cancelled webhooks.

Pull the sync logs for the last 30 days. How many errors? How many retries? Any records stuck in queue?
feeds into
Payment / Transaction Layer
Successful Charges
Stripe / Payment Gateway
— Unchecked

What Lives Here

Actual charges, invoices, payment status. This is the money-truth — did the customer actually pay?

What to Check

Are there subscriptions in Chargebee marked "active" but with failed payments in Stripe? Is dunning working?

Field-Level Detail

Stripe fields: charge.status = succeeded, invoice.status = paid, subscription.status. Compare active subs in Chargebee vs. successfully billing subs in Stripe.

How many "active" subscriptions have 0 successful payments in the last 90 days? That's phantom ARR.
feeds into
Source Event
Customer Signup / Contract Execution
Product / Sales Process / DocuSign
— Unchecked

What Lives Here

The original event — a customer signed up via the product, or a contract was executed via DocuSign, or a sales rep manually created the opp.

What to Check

Is every subscription traceable to an originating event? Are there orphan subscriptions with no clear origin?

Field-Level Detail

Trace: DocuSign envelope → SFDC Opp created (automation) → Chargebee subscription created (webhook) → Stripe payment initiated. Check for leaks at each handoff.

Can you trace any single customer from signed contract → SFDC Opp → Chargebee Sub → Stripe payment → Dashboard ARR? If that chain breaks anywhere, your KPI is suspect.
6
Checkpoints
0
Validated
0
Warnings
0
Broken
Begin Audit

CSV Preview

Audit Export

The Walkback Method

01

Start at the Report

Begin with the number executives see. What does the dashboard say? Where does that value live? What object or field is it pulling from?

02

Trace Each Handoff

Walk backward through every system, sync, automation, and manual process that touches the data. Document the field mappings, triggers, and logic at each layer.

03

Validate or Flag

At each checkpoint, mark it validated, warning, or broken. If any layer has gaps, bad logic, or stale data — the KPI above it is unreliable. Fix the chain.