Who’s missing from where?
You have paying customers who don't exist in your CRM. You have CRM contacts who never made it into your books. Here's how to find the gaps, and what they are costing you.
The short answer
Who is missing? Every business has customers who are in one system but absent from another. A Stripe customer with no QuickBooks record means unbilled or unreconciled revenue. A CRM contact with no payment history might be a lead that slipped through. These gaps hide real money problems.
Missing records create invisible problems that compound over time
A customer pays you through Stripe, but they were never added to QuickBooks. That payment sits in your bank account but doesn't show up in your accounts receivable or your revenue reports. Your P&L understates income. Your bookkeeper can't reconcile it. And if you ever need to issue a refund or credit, you have no paper trail.
On the other side, a prospect fills out a form on your website and enters your CRM. Your sales rep never logs the deal. Six months later, the same person signs up through Stripe on their own. Now you have two records for the same person, one in HubSpot (marked as “never converted”) and one in Stripe (marked as a new customer). Your conversion metrics are wrong in both directions.
These gaps do not announce themselves. They accumulate silently until your numbers stop adding up and nobody can explain why.
The five gap patterns that matter most
Not all missing records are equally dangerous. Here are the patterns to look for:
- In Stripe, not in QuickBooks.Someone is paying you, but your books don't know about them. This is a reconciliation and tax problem.
- In CRM, not in Stripe or QuickBooks. Leads that never converted, or customers whose payment records were never linked. Could be a sales process gap.
- In QuickBooks, not in CRM. Customers your sales team does not know about. They cannot upsell, cross-sell, or even reach out if there is a problem.
- In Google Ads conversions, not in Stripe. Your ad platform is claiming conversions that never resulted in an actual payment. Your ROAS is inflated.
- In no system except one. Completely orphaned records that exist in a single tool with no connection to anything else. These are the hardest to diagnose and the most common.
How to find missing records manually
This builds on the customer presence map. You need exports from each system and a way to compare them.
- 1Export from all your systems
Export contacts from HubSpot (CRM → Contacts → Export). Export customers from QuickBooks (Sales → Customers → Export to Excel). Export customers from Stripe (Customers → Export). Each CSV should include at minimum: name, email, and any unique ID.
- 2Match by email across all exports
In your spreadsheet, use VLOOKUP or INDEX/MATCH to flag each record that exists in one system but not another. Create a column for each system pair: “In HubSpot but not QuickBooks,” “In Stripe but not QuickBooks,” and so on.
- 3Filter for each gap pattern
Sort or filter your spreadsheet to isolate each pattern. Start with “In Stripe, not in QuickBooks” because that usually has the most immediate financial impact.
- 4Investigate the biggest gaps
For each gap, check whether the record is truly missing or just entered under a different email or spelling. This manual verification step is where the real time goes. Some “missing” records are just data entry inconsistencies.
Total time: 3-6 hours depending on how many records you have. The matching is mechanical but tedious. The investigation of each gap is where it becomes genuinely time-consuming, especially when names are spelled differently across systems.
New gaps appear every month and old ones never get fixed
Every new customer, every new payment, every new CRM entry is a chance for a new gap to appear. If you did this analysis once and found 50 missing records, by next month there could be 65. The only way to keep up is to re-run the analysis monthly, and almost no one has the time for that.
Or see who is missing automatically, every month
Bottomline runs identity resolution across all connected systems and surfaces every gap pattern. For each missing record, it tells you which system has it and which system is missing it.
Instead of spending a day in spreadsheets, you get a prioritized list of gaps sorted by business impact. And because Bottomline re-runs the analysis monthly, you can see whether gaps are shrinking or growing over time.