The Invoice That Started All of This
In February 2023, I opened an invoice from a regional distributor that made me stop cold. $3,847 for a batch of empire comfort systems parts we'd ordered under what I thought was a locked-in quarterly rate. It was 22% higher than the same order from six months earlier — and nobody had flagged it.
That was the moment I realized our procurement tracking, which I'd been maintaining since 2019, had a blind spot. I was logging totals. I wasn't logging why they changed.
I manage procurement for a 140-person general contracting firm. We do residential HVAC retrofits, bathroom and kitchen remodels, and a growing number of garage door and entryway upgrades. Our annual supply budget sits around $47,000 across HVAC components, fixtures, and finish materials. Six years of invoices. Three ring binders and a spreadsheet I've rebuilt twice. I thought I knew our numbers cold. I didn't.
So I spent the next four months rebuilding our cost model from scratch. What I found changed how we buy — not just HVAC gear, but everything.
The Rabbit Hole: Where the Money Actually Went
I started with our biggest category: heating equipment. Wall heaters, gas fireplaces, thermostats, and the endless string of replacement parts that come with keeping legacy units running. The empire comfort systems wall heater line alone accounted for about $11,400 of our annual spend.
Here's the thing that surprised me. The sticker price on those heaters barely moved in five years. What moved was everything around them.
- Freight surcharges, up 14% since 2021
- Expedited shipping, which we paid on 19 of 47 orders in 2023
- Restocking fees on returns — we ate $680 in 2022 because a foreman ordered the wrong thermostat model
- Warranty parts that took 3-4 weeks to arrive, forcing us to buy retail substitutes in the interim
I don't have hard data on industry-wide surcharge patterns, but based on our own ledger, my sense is that at least a third of our 'equipment cost' was really logistics cost in disguise.
Then there were the categories I underestimated. We buy a lot of small finish items — niche shelving for bathrooms, exterior window privacy film that installers call a privacy screen protector, garage door safety components. Individually, none of these break the bank. Collectively, they added up to roughly $9,200 last year.
"The cheapest unit to buy is sometimes the most expensive to own." That's a cliché, but I didn't have numbers to prove it until I ran them.
The Turn: When I Realized the Problem Wasn't Price
About six weeks into the audit, I had a spreadsheet that showed something uncomfortable. Our vendor with the lowest unit prices had the highest total cost of ownership. Every time.
Here's a concrete example. Wall heaters from Vendor A: $412 each. Vendor B: $467 each. Easy call, right? We'd been defaulting to A for two years.
But when I traced every order, Vendor A's heaters arrived with a 9% return rate (damaged elements, wrong brackets) and averaged 6.2 days longer in transit. That return rate meant re-shipping, re-scheduling installers, and in three cases, delaying a client handover. Vendor B's units had a 2% return rate and shipped in 3 days.
Factoring in the labor hours and the one contract penalty we paid for a missed deadline, Vendor A's 'cheaper' heaters cost us about 17% more per unit installed.
So glad I ran the numbers before we signed another annual agreement. Almost locked in A for a 12-month contract because the quote sheet looked good. Dodged a bullet there.
The same pattern showed up in smaller purchases. A shower niche that arrived cracked because it was packed without corner protection. A batch of garage door sensors where the instructions referenced a wiring diagram that didn't match the unit — took a how to fix garage door sensor call to the manufacturer to sort out, plus two hours of tech time we didn't bill.
None of these were catastrophic. But each one added labor, delay, or rework that never showed up in the 'unit price' column.
What Actually Changed (and What Didn't)
I rebuilt our vendor scorecard. It now weights four things instead of one:
- Unit cost — still matters, but it's no longer the default tiebreaker
- Return/defect rate — tracked per vendor per category
- Average days to deliver — weighted against our project schedule
- Support responsiveness — how fast they resolve a parts issue or a tech question
We kept two vendors we'd been about to drop, and dropped one we'd been loyal to for four years. That was awkward. But the numbers were the numbers.
The other change was less dramatic: I started documenting everything. Not just totals. Reasons. Notes on why a return happened. Screenshots of support chats. Photos of damaged packaging. It turned our procurement records from a receipt pile into something I can actually learn from.
I wish I'd done that from the start. Six years of clean data would be worth more than six years of totals.
The Lesson (Applied Broadly)
My experience is based on roughly 200 purchase orders in residential HVAC and remodel work. If you're doing commercial-scale projects or working with a much larger budget, your numbers will look different. But the principle, I think, holds.
The industry has shifted. What was best practice in 2019 — quote three suppliers, pick the lowest unit price, move on — doesn't cut it in 2025. Logistics costs are less predictable. Parts availability is tighter. Labor is more expensive, so a delay costs more than it used to.
The fundamentals haven't changed. You still need reliable suppliers and fair prices. But the execution has transformed. You're not just buying a heater or a sensor or a shower niche anymore. You're buying the whole chain: delivery, support, warranty response, and the odds that it works the first time.
If you're tracking totals and not reasons, you're probably missing the same 15-20% I was. It's there. It's just not on the quote sheet.