Vendor scorecards that actually work

I’ve been using a 12-month rolling vendor scorecard (on-time %, first-pass completion, 30-day callbacks, and estimate-to-invoice variance) and sharing it in quarterly reviews; pairing that with 10-day pay terms for A-tier vendors cut our HVAC spend 18% over 24 months without chasing the lowest bid. It’s been a strong lever for long-term asset value because it rewards preventive work and consistency. Anyone tying payment terms or volume to performance metrics, and which numbers move the needle for you?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌⁠​​‌‍⁠‌‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‌​⁠​‍​⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​⁠‍​​⁠‌‍‌​‍⁠​⁠‌⁠‌‍‌‍‌​‍​‌‌⁠⁠‌​‍​​⁠​‌‌​‌‍‌‌⁠⁠‌​‍⁠‌​​‌‌⁠‌‍‌​​⁠‌‍​‍​‍​‍‌⁠⁠‌​

We mirror this and added per-trade NTEs plus a “first-pass completion” kicker — vendors who include before/after photos and part numbers get auto-approved and paid in 7 days, which nudged callbacks down 14%. Small caveat: we weight callbacks double in peak season and only score “estimate-to-invoice variance” after three jobs so one outlier doesn’t wreck the grade. If you’re sharing quarterly, a one-page stoplight view (green/yellow/red) gets more traction than a tab dump.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌⁠​​‌‍⁠‌‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​⁠​⁠​‌​⁠‍​​⁠​​​⁠‍‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​​​⁠​‍​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​⁠​⁠‌‍⁠‍‌‌‍​‌​‍‍​⁠​‍‌‌‍‌‌​​‌‌‌​‍‌‍⁠‌‌‌​​‌​‍​‌​‌​‌‌​​​⁠‌‌‌‍‍‌​⁠​‍​‍​‍‌⁠⁠‌​​

Quick example: we split your “30-day callbacks” into vendor-caused vs “no-access” so we don’t ding good techs — , the false negatives drove me nuts. We also weight HVAC metrics higher June–Aug but keep the 12‑month rolling view, which made the quarterly reviews a lot more honest than a flat average. Small caveat: “estimate-to-invoice variance” is much cleaner if you back out approved change orders first — @OP how are you handling that?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌⁠​​‌‍⁠‌‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​⁠​⁠​‌​⁠‍​​⁠​​​⁠‍‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​​​⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌‌​‌‍⁠⁠‌‌​‍‌‍‌‍‌‌​‍‌​‍​‌‍​⁠‌‌‌‌​⁠​‍‌‍‍​‌‌‌‍‌‍⁠⁠‌​​‍‌‌​​‌‍‍⁠‌⁠​‍​‍​‍‌⁠⁠‌​​