Straight Figures Apply

QuickBooks Desktop, answered

Estimate vs actual in QuickBooks Desktop, and your quote win rate

Premier and Enterprise have a Job Estimates vs. Actuals report. It compares what you quoted on a job with what you invoiced and what it cost. It does not know which quotes you lost, or why, or how long the open ones have been sitting. Win rate is not in the software.

What we do about it

We take your data out of QuickBooks as reports, put it in a database, and connect it to your Claude or ChatGPT. QuickBooks stays as it is.

The first step is small on purpose. We model one year of your sales data and get on a live call where you ask and your own numbers answer. You give us the three questions you most want answered, and we get you those answers or figure out how we can deliver them. You keep the database, connected to your Claude or ChatGPT.

The first step is $950, credited in full toward your setup if you go ahead. If you don’t, we delete the project and your data doesn’t stay with us. If it earns its place, we keep it current every week and send the reports you pick.

Nothing we build can write to your books.

ApplyEleven quick questions to see if we’re a good fit.

What the built-in report does

It lists each job with estimated and actual cost and revenue, and the differences. For a contractor tracking a job against its budget it is the right report.

It only sees estimates that turned into invoices on the same job. Quotes that went nowhere are invisible, and there is no field for why a quote was lost.

Where win rate lives

QuickBooks holds every estimate you wrote. Won, lost or still open, and the reason, is in your head or in a sheet. Put the estimate report and that sheet in the same database and both questions answer themselves. Most owners do not keep the sheet yet. It gets built at the start, from memory and the invoice numbers, and kept from then on.

Three questions in a row from a fictional company’s estimates.

For example

What’s our quote win rate, by rep, last year against this year?

20242024 Sam: 64%Sam2024 Marcus: 63%Marcus2024 Teresa: 62%Teresa2024 Dana: 62%Dana20252025 Marcus: 51%Marcus2025 Sam: 50%Sam2025 Teresa: 49%Teresa2025 Dana: 47%Dana20262026 Teresa: 69%Teresa2026 Sam: 68%Sam2026 Marcus: 67%Marcus
YearRepWonLostWin rate
2024Sam Lindqvist1558964%
2024Marcus Jarvi19711763%
2024Teresa Ruiz25315362%
2024Dana Kowalski18811362%
2025Marcus Jarvi16215851%
2025Sam Lindqvist12512550%
2025Teresa Ruiz20921849%
2025Dana Kowalski384347%
2026 (through July 24)Teresa Ruiz1476669%
2026 (through July 24)Sam Lindqvist1014768%
2026 (through July 24)Marcus Jarvi974867%

Everyone dropped to about half in 2025 and everyone is back near two-thirds this year. It was the market, not a rep.

How that was computed
select year, rep_name,
       sum(case when status = 'Won' then 1 else 0 end) as won,
       sum(case when status = 'Lost' then 1 else 0 end) as lost,
       round(100.0 * sum(case when status = 'Won' then 1 else 0 end)
             / sum(case when status in ('Won', 'Lost') then 1 else 0 end)) as win_pct
from v_estimates
where rep in ('MJ', 'DK', 'TR', 'SL') and year in ('2024', '2025', '2026')
group by year, rep_name
order by year, win_pct desc

For example

When we lose a quote, is it price or lead time?

20242024 price: $1,008,371price2024 other supplier: $644,334other supplier2024 cancelled: $480,481cancelled2024 no reply: $304,853no reply2024 lead time: $219,600lead time20252025 price: $1,456,666price2025 lead time: $858,603lead time2025 cancelled: $356,437cancelled2025 other supplier: $341,855other supplier2025 no reply: $194,761no reply20262026 price: $298,854price2026 other supplier: $240,381other supplier2026 cancelled: $119,851cancelled2026 no reply: $117,925no reply2026 lead time: $101,244lead time
YearReasonQuotes lostValue lost
2024price185$1,008,371
2024went with another supplier109$644,334
2024project cancelled100$480,481
2024no response57$304,853
2024lead time40$219,600
2025price260$1,456,666
2025lead time159$858,603
2025project cancelled57$356,437
2025went with another supplier71$341,855
2025no response33$194,761
2026price62$298,854
2026went with another supplier41$240,381
2026project cancelled26$119,851
2026no response21$117,925
2026lead time18$101,244

Price is always first. But “lead time” went from $219,600 in 2024 to $858,603 in 2025, and the purchase-order side of the database shows why: the window supplier went from late on one order in five to one in two that year.

How that was computed
select year, lost_reason,
       count(*) as quotes_lost,
       round(sum(total)) as value_lost
from v_estimates
where status = 'Lost' and year in ('2024', '2025', '2026')
group by year, lost_reason
order by year, value_lost desc

For example

Which quotes have been sitting open for more than ninety days?

EstimateDateCustomerRepQuoted
105162026-02-26Zahn ContractingSam Lindqvist$2,563
105552026-03-16Severson Home ImprovementHouse$14,781
105592026-03-19Ostrom CarpentrySam Lindqvist$11,375
105682026-03-23Quade RemodelingHouse$7,901
105762026-03-27Ruud CarpentrySam Lindqvist$456
105972026-04-02Zahn CarpentrySam Lindqvist$2,992
106212026-04-13Ecklund Custom DecksMarcus Jarvi$11,931

7 quotes worth $51,999, the oldest from February, that nobody has closed out.

How that was computed
select num, date, customer, rep_name, round(total) as quoted
from v_estimates
where status = 'Open' and date < '2026-04-28'
order by date

Northgale Building Products is a fictional company. Every name, figure and supplier on this page is made up, built to behave like a real three-and-a-half-year QuickBooks Desktop file so we can show real screens without showing anyone’s real numbers. Data as of the 2026-07-27 refresh; the last invoice in the file is dated 2026-07-24.

Short answers

  • Does QuickBooks Desktop track quote win rate?No. It stores estimates but never asks whether one was won or lost.
  • Which QuickBooks Desktop versions have Estimates vs Actuals?Premier and Enterprise. Pro has estimates but not the job-costing reports.
  • What if we do not track lost quotes today?Nobody does at first. Won ones are found from the invoices. Open and lost ones are tracked from the week the sheet exists.

Related questions