Your Salesforce dashboard and your bank account disagree. Here's why.
Every owner I talk to has a version of this: the dashboard says cost per contract is fine, but the money doesn't feel that way. Or the report says 14 contracts last month, the acquisitions manager says 17 and the title company closed 11. This page is for owners and ops leads at home-buying and wholesaling companies who want numbers they can make decisions on. It covers the ten causes I see most in investor orgs, how to check each one, and a 20-minute check you can run this week.
Most mismatches come from a handful of causes: lead source and market not carried over when a lead becomes a deal, reports counting by different date fields, report types that leave records out, dashboards running as a user who can't see everything or showing data from the last refresh, and spend in Salesforce that doesn't match what accounting paid. Fix the definitions first (what counts as a contract, and by which date), then reconcile one month against your books, record by record.
Ten reasons your Salesforce numbers don't match
Starting with the ones I'd check first.
1. Source and market get lost when a lead becomes a deal
When a lead is converted, Salesforce copies standard fields like Lead Source to the new records automatically. Custom fields don't carry over unless someone maps them. If your market, campaign, channel or tracking number live in custom fields, the deal can arrive with them blank, and your "unknown" bucket grows every month.
Check: run a report of deals created last month grouped by source and market. If "blank" or "unknown" is more than a sliver, this is your problem.
Fix: map the custom lead fields to the matching deal fields in the lead field mapping settings, then fix the past records with a one-time update.
2. Two reports count by different dates
"Contracts this month" can mean deals created this month, deals that reached the contract stage this month, or contracts signed this month. Three reports, three answers, all technically right.
Check: open each report and look at which date field the time filter uses.
Fix: agree on one date per number (contracts by contract signed date, closings by closing date) and use it everywhere. See the definitions below.
3. The report type leaves records out
A custom report type can be set so that each record must have at least one related record, or so that related records are optional. If a "Leads with Activities" style report requires activities, every lead nobody has touched yet disappears from it, which is exactly the lead you most want to see.
Check: look at the report type's settings for the "at least one related record" option.
Fix: use a type where related records are optional. To find records missing something, use a cross filter such as "Accounts without Opportunities". A report can have up to three cross filters.
4. The dashboard runs as someone else
Salesforce's own rule: folders control who can open a dashboard, but the running user determines what data it shows. If the dashboard runs as a rep, it may only count that rep's records. If it runs as an admin, everyone sees everyone's numbers, which may not be what you want either.
Check: the "view dashboard as" setting on the dashboard.
Fix: pick a running user who can see all the records the dashboard is meant to count. Dynamic dashboards, which show each viewer their own data, are limited by edition: 5 in Enterprise and 10 in Unlimited and Performance.
5. The dashboard hasn't refreshed
A report shows live data when you open it. A dashboard shows data as of its last refresh, and the time is printed at the top. On a Monday morning, last Friday's dashboard and today's report won't agree.
Fix: refresh before you read it, or schedule a refresh before your weekly meeting.
6. Filters and scope
One report shows "my leads", another shows "all leads". One excludes dead leads, the other doesn't. Someone added a filter months ago to answer a one-off question and never took it out.
Fix: open the filter panel on both reports and compare them line by line. Rename reports so the scope is in the name.
7. Duplicates
The same seller as two leads, or the same deal entered twice, inflates lead counts and makes cost per lead look better than it is. It's common: in a 2025 Validity survey, 76% of CRM users said less than half their CRM data was accurate (more in my lead response statistics).
Fix: matching and duplicate rules on phone, email and property address, and a regular merge routine. I go deeper in duplicate sellers in Salesforce.
8. The chart only shows the top values
Dashboard components can be set to show a maximum number of values. The report lists all 23 lead sources, the chart shows the top 10, and the small ones vanish from the picture.
Fix: check the component's display settings, or group small sources into an "other" bucket on purpose.
9. New sources never made it into the groupings
Bucket fields and picklists group your sources into channels like direct mail, PPC and cold calling. When marketing adds a new source and nobody updates the bucket, it lands in "other" or goes missing from the channel totals.
Fix: make "update the buckets and picklists" part of adding any new lead source or tracking number.
10. Spend doesn't match what accounting paid
This one is behind most "the dashboard says we're profitable" conversations. Spend in Salesforce was typed in by hand, a mailer was prepaid for three drops but recorded in one month, a refund from a lead vendor never made it back, or PPC spend was entered as budgeted rather than actual.
Fix: record spend per campaign per month from the accounting records, not from memory, and check the total against your books every month. Campaign ROI checked against the books is part of what I built for the company I work with, and it's the step that makes the owner believe the dashboard.
The 20-minute check
Pick last month and do this with whoever runs your Salesforce, with QuickBooks or your closing list open next to it.
- Contracts. Count contracts signed last month in Salesforce, by contract signed date. Count them in your own list. Write both numbers down.
- Closings. Do the same for closings, by closing date, against what title actually closed and what hit the bank.
- List the differences. For every deal that's on one list but not the other, find out why: wrong date, wrong stage, duplicate, deleted, never entered.
- Source on every contract. Check that each of last month's contracts has a lead source and a market. Count the blanks.
- Spend. Compare total marketing spend in Salesforce for last month with the marketing lines in your books. If they differ by more than a rounding error, cost per contract is wrong too.
- Dashboard settings. On the owner's dashboard, check the running user, the last refresh time and each chart's maximum values.
Whatever you find in step 3 is your fix list. Don't expect all ten causes. Fix whichever ones the check turns up.
Write the definitions down
Half of the arguments about numbers are really arguments about words. Write one line for each number and put it at the top of the dashboard:
| Number | Counted when | By which date |
|---|---|---|
| Lead | A seller record is created from a marketing source (not a duplicate) | Created date |
| Contact made | A two-way conversation happened, logged as a call or text with an outcome | Activity date |
| Appointment | A meeting or walkthrough is set with the seller | Appointment date |
| Offer | A number was given to the seller and recorded on the deal | Offer date |
| Contract | The seller signed the purchase agreement | Contract signed date |
| Closed | Funds received from the closing or assignment | Closing date |
| Cost per contract | Marketing spend in the period divided by contracts in the period | Spend month and contract signed date |
| Net profit per deal | Revenue minus the deal's direct costs, including its share of marketing | Closing date |
Your definitions may differ. That's fine, as long as everyone uses the same ones. The Monday 5 builds on definitions like these to give an owner five numbers to check every week.
How to stop it happening again
- One owner for the numbers. Someone whose job includes the monthly reconciliation.
- A monthly reconciliation of contracts, closings and spend against the books, using the check above.
- A "missing source" report that should always be empty, checked weekly.
- A rule for new lead sources: picklist, bucket, field mapping and tracking number all updated before the campaign goes live.
- Fewer reports. Twelve reports that answer the same question twelve slightly different ways is how teams stop trusting all of them. Keep the ones the owner reads and archive the rest.
Questions
Why doesn't my Salesforce dashboard match the report?
The usual reasons are that the dashboard hasn't been refreshed since the data changed, it runs as a user who can't see all the records, a chart is set to show only the top values, or the dashboard component uses a different report or filter than the one you're comparing it with.
What is the running user on a Salesforce dashboard?
It's the user whose access decides what data the dashboard shows. Folders control who can open the dashboard, but the running user determines which records are counted. Pick a running user who can see everything the dashboard is meant to count.
Why is my Salesforce report missing records?
Check the report type first: some custom report types only include records that have at least one related record. Then check the filters, the scope (my records or all records) and whether the running user can see the records.
Why does lead source show as blank on deals in Salesforce?
Standard fields like Lead Source carry over when a lead is converted, but custom fields such as market, campaign or tracking number only carry over if someone maps them to fields on the deal. Map them, then fix past records with a one-time update.
How many dynamic dashboards can I have in Salesforce?
According to Salesforce's dynamic dashboards cheat sheet, Enterprise Edition allows 5, Unlimited and Performance allow 10, and Developer Edition allows 3.
How do I make Salesforce match QuickBooks?
Record marketing spend per campaign per month from the accounting records, split by market the same way in both systems, count contracts and closings by agreed dates, and reconcile one month at a time, listing every deal that appears in one place but not the other.
How often should we reconcile Salesforce numbers?
Monthly for contracts, closings and marketing spend, and weekly for a quick look at records with no lead source or market. Once the monthly check comes back clean a few times in a row, the owner starts trusting the dashboard.
Related guides
Sources
Checked in October 2026. Salesforce and vendor features change with each release, so check the linked page before you rely on a detail.
- Salesforce: Dynamic dashboards cheat sheet (PDF). Running user and data access, dynamic dashboard limits by edition
- Salesforce Ben: custom report types. Required vs optional related records
- Salesforce Ben: cross filters in Salesforce reporting. With and without filters, up to three per report
- Speed to lead and follow-up statistics for real estate (this site). Validity 2025 CRM data accuracy figure, with its source
Want numbers you can make decisions on?
The fixed-price CRM Revenue Audit (USD 1,500) checks your campaign ROI, reports and data against how your business actually runs, and ends with a written fix plan and a Monday 5 dashboard spec. It's for teams already on Salesforce. Not sure if it fits? Start with a free call.
Book a free callSee the Revenue AuditOr just ask one question about your setup: email · WhatsApp · LinkedIn