Why this is worse than it looks
Closed-won is the moment your CRM is supposed to commit revenue to the books. A won deal with no amount creates two cascading problems:
- Your revenue reports under-count. Every dashboard summing
Amountfor closed-won deals leaves these out. Your monthly recurring number, your quarterly attainment, your CAC math — all drift quietly. - You can't reconcile against billing. When finance compares CRM revenue to the actual invoices, the gap is the won-no-amount cohort. Sales-ops gets pinged to fix it, finds the deals, asks the rep — and the rep doesn't remember.
The recovery cost is real. The longer you wait, the harder the lookup. Reps don't remember a deal's value 90 days later.
What three filter conditions actually catch
Three filter conditions:
- Deal stage is Closed Won.
- Amount is unknown OR equal to
0. - Close date within a window you can still reconcile against (last 90 days for recovery, all-time for the audit).
Why include Amount = 0? Because some teams use 0 instead of null when they don't know. Both render the same way in your sum.
Why HubSpot's required-property rule doesn't actually prevent this
The community has been arguing about this since at least 2020. The cleanest prevention is a HubSpot conditional stage property rule:
When moving to "Closed Won," Amount is required.
This blocks the manual flow. But conditional stage properties only enforce on manual edits — they don't fire when:
- A workflow updates the deal stage.
- An integration updates the stage via API.
- A bulk import sets stage = Closed Won.
So your rule says "Amount is required to close-won." Your CRM has 47 closed-won deals with no amount. Both can be true simultaneously. The official HubSpot docs are clear on this limitation: validation rules are not enforced through automation.
That's why exception views (the "Won deals — missing amount" filter above) stay relevant even after you add the validation. The rules catch the manual cases. The exception views catch what the rules can't.
For deals you can't recover the amount on (rep left, customer churned, original quote lost), the community recommendation is to mark them Closed Won with Amount = 1 and a note in the description — that way they don't drag down the average deal size when sales-ops calculates it, but they still appear as wins. Whether that's better than Amount = 0 is a religious argument; pick one and document it.
The manual HubSpot recipe
Two filters, one optional prevention workflow. Run it monthly as part of close — quarterly is too late.
- Open Sales → Deals → Create viewNavigate to Sales → Deals. Click 'Create view' in the top right.
- Add filter: Deal stage is Closed WonFilter by Deal properties →
Deal stage→ 'is any of' → 'Closed Won'. - Add filter: Amount is unknown OR equal to 0AND group →
Amount→ 'is unknown' OR 'is equal to' → 0. Some teams use 0 as a placeholder when they don't know — both render the same way in revenue sums. - Add columns: Close date, Deal ownerThese are the columns you need for the recovery conversation. Owner tells you who to ask; close date tells you whether the lookup is still feasible.
- Save as 'Won deals — missing amount'Pin to your finance / sales-ops shared dashboard. Review monthly as part of the close.
- Build the Pipeline Ready gate (optional prevention)Settings → Properties → Create
pipeline_ready(checkbox). Workflow: when Amount, Deal name, AND Close date are all set, setpipeline_ready = true. Filter Closed Won views bypipeline_ready = trueto exclude incomplete deals from reporting.
What Bloated does instead
Won-no-amount deals — caught before finance reconciliation, not after.
Bloated runs the Closed Won + no-amount check every Friday automatically — so the count is always small enough to recover. The longer you wait, the harder the recovery — reps don't remember a deal's value 90 days later. Pair with the suggested action: ask the rep, pull from the proposal PDF, or mark with Amount = 1 and a note for legacy untracked deals.
amount · HubSpot deal property