How many deals did I win but never invoice?

Your sales team marks the deal as “Closed Won” in HubSpot. Everyone celebrates. But did anyone actually create the invoice in QuickBooks? You would be surprised how often the answer is no. Here is how to find out.

6 min read

The short answer

This is pure lost revenue. A deal marked as Closed Won in your CRM but never invoiced in your accounting software means you did the work to win the customer but never collected the money. To find these gaps, you need to export your closed-won deals from HubSpot and cross-reference them against invoices in QuickBooks by customer name. There is no built-in report that does this automatically.


Why the CRM-to-invoice gap is the most costly handoff failure

This is not a hypothetical. In businesses where the sales team closes deals and a separate person (bookkeeper, operations manager, admin) creates invoices, deals regularly slip through the handoff. The sales rep moves on to the next prospect. The bookkeeper does not know a deal closed. Nobody follows up.

A $12,000 deal that was never invoiced is $12,000 of revenue you earned, paid for in ad spend and sales time, and simply never collected. It does not show up as a problem in your CRM (the deal looks great). It does not show up in your accounting (the invoice was never created). It only shows up in the gap between the two systems.

Even with HubSpot's QuickBooks integration, the automatic invoice syncing only works if invoices are created in one system and pushed to the other. If nobody creates the invoice in the first place, there is nothing to sync.


How to find uninvoiced deals manually

  1. 1
    Export closed-won deals from HubSpot

    Go to CRM → Deals. Filter by “Deal Stage is Closed Won” and set the close date to the last 90 days. Export to CSV with Deal Name, Deal Amount, Close Date, and Associated Contact or Company Name.

  2. 2
    Export invoices from QuickBooks

    In QuickBooks Online, go to Sales → Invoices. Set the date range to match your CRM export. Export the list with Customer Name, Invoice Amount, Invoice Date, and Status.

  3. 3
    Match by customer name

    Use VLOOKUP in Google Sheets to find which CRM deal contacts have a matching invoice in QuickBooks. This is where it gets messy: the customer might be “Acme Corp” in HubSpot and “Acme Corporation” in QuickBooks. You will need to manually reconcile naming differences.

  4. 4
    Flag unmatched deals

    Any closed-won deal that has no corresponding invoice is a gap. List them with the deal amount. Sum the total. That is your uninvoiced revenue.

  5. 5
    Investigate each gap

    Some gaps are legitimate (retainers billed under a different name, deals that were canceled after closing). But most are genuine oversights where nobody created the invoice. Create the missing invoices immediately.

Total time: 1-2 hours. The biggest challenge is reconciling customer names between two systems. If your HubSpot and QuickBooks use different naming conventions, expect to spend most of that time on manual matching.


What it takes to catch uninvoiced deals every month

This reconciliation should happen monthly, ideally within the first week after month-end. But it rarely does because:

  • It requires exporting from two different systems and matching by customer name.
  • Customer names are often formatted differently between CRM and accounting.
  • The sales team and the accounting team work in different systems and often do not communicate about individual deal closings.
  • Nobody owns this specific handoff as a responsibility, so it falls through the cracks.

The result: deals slip through for 60-90 days before anyone notices, and by then the customer may have moved on or forgotten about the agreement.


Or catch uninvoiced deals automatically, every month

Bottomline connects to both your CRM and QuickBooks. Every month, it matches closed-won deals to invoices using intelligent name matching (handling variations like “Acme Corp” vs. “Acme Corporation”) and flags any deal that has no corresponding invoice.

Won but never invoiced
3 deals with no matching invoice
Total unbilled revenue: $28,600
Meridian Consulting - Website RedesignClosed Mar 8$14,200
Lakewood Dental - Marketing RetainerClosed Mar 14$8,400
Peak Fitness - PPC SetupClosed Mar 22$6,000
From a real Bottomline report. Won deals are automatically cross-referenced with QuickBooks invoices every month.

No manual exports. No VLOOKUP formulas. No name-matching headaches. You see the gap, the dollar amount, and the specific deals that need invoices created.

Get your answer. Every month, automatically.

Connect your accounts in 5 minutes. Your first report arrives within 24 hours.

Works with QuickBooks, Stripe, HubSpot, Google Ads, and more
© 2026 Bottomline