How to Build an HVAC Schedule of Values a GC Can Approve Fast

Every month a stack of pay apps lands on my desk, and every HVAC schedule of values in that stack gets checked. I hold the billing up against the schedule, the field progress reports, the daily logs and the project photos. Then I walk the job and make my own call on where things are. If something doesn’t make sense, I pick up the phone and we talk it through. A schedule I can check against all of that gets approved fast. One I can’t check gets a phone call, and sometimes it gets kicked back.

I worked the tinner trade for about four years. I’ve been in construction more than twenty years, and I manage projects for a general contractor in Salt Lake. Subcontractor pay apps and change orders cross my desk every month.

This post is written from the GC side, to HVAC and sheet metal subs, but the idea works for any sub who bills a pay app. The one set of numbers in here is a made-up example with round numbers, not a real job.

For the most part, the subs in my market are fair on their billing, or a little under fair. That makes the outliers easy to spot. When the dollars don’t match the schedule and the units in place, it shows.

What is an HVAC schedule of values?

It’s your contract amount broken into lines. Those lines can be areas of work, floors, or labor, material and equipment, mech equipment should be broken out, regardless. I’ve seen an HVAC schedule of values as detailed as the size and length of the duct. You present your schedule of values (SOV) for review, and the lines get agreed to at the first billing.

One line with the entire scope lumped together doesn’t go very far. I kick it back. Labor, material and equipment is my standard for the breakout, and I like to see fee and General Conditions broken out too.

Each line gets a value, and every month you bill a percent of each line based on how much of that work is done. The GC adds your billing to everybody else’s, puts the GC’s own costs and fee on top, and bills the owner. On the AIA forms it’s the G703 continuation sheet (G703S for subs), with separate columns for work completed this period and materials presently stored.

Any approved change order is added as a new line at the bottom of the SOV, and it rolls into the new contract total at the bottom. It’s vital that this is done right. A total contract value that’s wrong gets rejected and throws up a red flag. If there isn’t time to fix it before the deadline, your billing can be rejected for that month. We all have deadlines.

The percent you bill should match the work that’s actually in place. Not what you’ve spent. Not what you’d like to have in the bank. What’s done, or what will be done by month’s end if your contract allows it.

The schedule of values I can check fast

Here’s what I like to see.

Labor, material and equipment. That’s my standard. Equipment here means both the rented equipment for access and installation and the mechanical units and the items on the mechanical schedules. When the mechanical equipment has its own value, I can see it set in place and check it off.

Unit rates. If you don’t want to break it out that way, give me unit rates, the same idea I went through in unit price change orders. I can count units in place.

Fee on its own line. Don’t bury it inside the other lines. We call it the Feline.

Systems and duct types. One sub broke their schedule down by supply duct, exhaust duct, return air duct, fresh air duct, each piece of equipment, and taxes. It was simple to put a percentage on each line and track it against units in place.

Why I don’t want to guess at your labor hours

When your schedule has one big labor line, I have to guess whether 40 percent of your labor is complete. A GC typically doesn’t know your allotted hours, so I can’t verify them, and honestly I don’t want to. That’s your business, and it’s built on your own rate.

The allotted number doesn’t hold up anyway. If the GC or the owner asked for overtime, the hours you planned aren’t right anymore, and there will be changes along the way that true up the hours you used against your baseline hours. Hours burned don’t tell me how much of the job is done. Duct hung and equipment set does.

Why I don’t like breaking it out by floor

I’ve seen schedules broken out by floor or by area, and I don’t like them as much. A mechanical unit can serve several areas and floors, so it can’t be tracked properly on one floor’s line.

What I like better is a whole system on the schedule. An AHU and everything associated with it. An RTU and its duct network. Controls as one complete system. On a lot of jobs a hybrid probably works best, with the systems on their own lines and the rest of the duct broken out by type.

Sample system-based schedule of values

This is a sample HVAC schedule of values layout, line names only. No dollar values, because yours come from your bid, and the unit tags are placeholders. If your GC wants the labor, material and equipment breakout, split each system line into those three.

LineWhat goes on it
AHU-1 systemThe air handler and everything associated with it
RTU-1 systemThe rooftop unit and its duct network
RTU-2 systemThe rooftop unit and its duct network
Supply ductSupply duct not already carried on a system line
Return air ductReturn duct not already carried on a system line
Exhaust ductExhaust duct not already carried on a system line
Fresh air ductFresh air duct not already carried on a system line
Scheduled equipmentOne line for each item on the mechanical schedules
ControlsControls as one complete system
FeeYour fee on its own line
TaxesPer your contract and your state
Approved change ordersEach approved change on its own line, added at the bottom, rolled into the new contract total

The one rule for a hybrid is that each piece of work lives on one line only. If a duct run is on the RTU-1 line, it doesn’t show up again under supply duct. And honestly, it cannot. The total amount cannot change unless there is a change authorized.

Front loading a schedule of values

Front loading is weighting your early lines, or your early billings, heavier than the work in place so you get paid ahead of your progress. Yes, some subs do it. Not all of them.

Most of the time it’s about material deposits. The sub wants money back that’s already out the door. That can go through the stored materials column, but that column comes with paperwork subs don’t like. Others just put a big number up front, knowing I’ll call to talk through why it’s so high, and wait to see if it sticks.

It usually doesn’t. Percent complete on a project ties pretty close to units in place and to where the schedule is, so a billing way ahead of both stands out.

There are real reasons to bill ahead. A mechanical sub may have equipment deposits and bulk material bought and genuinely need to bill for it. That’s a conversation up front, not submit and hope.

Most mechanical subs I work with call me when the equipment is about to hit. When it lands, their billing can swing from underbilled to overbilled if you only look at dollar value. If I know it’s coming and why, I can explain the jump to the owner, and it doesn’t look like gouging. If the first I hear of it is the pay app, I’m calling to ask why.

Stored materials go in the stored materials column

The number one reason I kick back a pay app is stored material billed in the “work completed this period” column.

Stored material is material you’ve bought that’s stored off site, usually at the manufacturer’s warehouse, your own facility, or offsite storage. It goes in the stored materials column, with backup.

  • Photos of the material showing the project name
  • Proof of insurance on the storage location
  • The supplier invoices or deposit confirmations, which I also like to see

Once material is delivered to the site, it goes in work completed this period, even if it isn’t installed yet.

GCs try to limit how much gets stored on site, and contracts often have a clause that says only bring material that will be installed in the next week or two. Just-in-time delivery. Picture all the duct for an entire office tower stacked at the drive entrance off a busy road. It’s in the way, people are tripping over it, and a lot of it gets ruined from being moved so many times. Just-in-time delivery!

Whether and how you can bill stored material on your job depends on your contract. Read it.

Underbilling isn’t being conservative

Here’s a story, with the names taken out.

An electrical sub on one of my jobs kept billing his actuals along the way, his cost spent so far, not his progress. I noticed on a few billings that his percent complete didn’t match the schedule. After a couple of cycles I asked why his percent was so far under the rest of the project.

By then the project was about 95 percent complete, and he was billed at about 85 percent. He told me he was “in good shape.” With the time left on the job, that didn’t add up. Everybody else on the project saw the end coming. He was just staying covered.

Underbilling can feel like the safe side. It isn’t. A GC bills the owner based on the sub billings, plus the GC’s own costs and fee, and the fee is set in the prime agreement with the owner. The GC doesn’t earn fee on work that isn’t billed.

This is a made-up example with round numbers. It isn’t a real job, and I’ve left the GC’s own costs out to keep it simple. Say it’s a $1,000,000 project with five subs at $200,000 each, and the fee is 5 percent. The work is done. Four subs have billed 100 percent, and one has billed 50 percent.

Example, round numbersAmount
Four subs billed at 100 percent$800,000
One sub billed at 50 percent$100,000
Total billed$900,000
Fee at 5 percent of the full $1,000,000$50,000
Fee at 5 percent of the $900,000 billed$45,000

The project is done, but one sub is underbilled by $100,000, and the GC doesn’t get the full fee on a finished project until every sub has billed 100 percent. That one sub is holding up someones profit.

That fee is real money, and it takes hits. On another job, after the GMP (guaranteed maximum price) was set with the owner, a sub tried to add 40 percent to their contract. The team went with the second estimate, which was 15 percent over the value set for that scope in the GMP. It was a big hit. There weren’t enough unders on other line items to cover it, and it came out of fee.

So price it right the first time, and then bill it straight. Not ahead of your progress, and not behind it.

Billing change orders on your pay app

Once a change is approved and there’s an authorized change on your contract with official documents behind it, you can bill it. On my side, I usually have to do an owner change order to line the budget up with it.

Those documents go by a lot of names, like change authorizations or commitment change orders. Every construction software uses its own vocabulary, which confuses GCs, owners, architects and subs, even though the system underneath is the same.

Bill approved changes on their own lines at the bottom, and only after you have the written authorization, whatever your GC’s software calls it. Check that the new contract total ties out before you send it. The AIA’s own instructions for the G703 continuation sheet put them on separate lines too. They say change orders are usually listed separately at the end of the schedule, not worked into the original lines.

Don’t bill a change because somebody said yes in the field. Nothing gets agreed out loud, and if it isn’t in writing, it isn’t on the pay app. No change order is free. Pricing it right on the way in, the way I laid out in how to price an HVAC change order, makes it easy to bill on the way out.

Why a pay app gets kicked back

These are my top three, in order.

  1. Stored material billed in the work completed column.
  2. Percent complete that doesn’t match the schedule or the units in place I’m tracking.
  3. Numbers that just feel off, and after I look into it, the sub is overbilling.

A contract total that doesn’t true up with the approved changes gets rejected too.

When something doesn’t make sense, I call first and we talk it through. A call from you before the pay app goes in is best practice. We can discuss it and I get prepared prior to even seeing the SOV.

What to say

My rules don’t change. Nothing gets agreed out loud. Get it in writing. A conversation up front beats submit and hope.

When you send your schedule of values: “Here’s our schedule of values for review before our first billing. It’s broken out by system and duct type, with labor, material and equipment split out, each piece of scheduled equipment on its own line, and our General Conditions and fee on its own lines. Does that work with how you track the job?”

When the equipment is about to hit: “Our equipment ships soon, and our billing will jump when it lands. I wanted you to know before the pay app shows up.”

When you have a deposit out: “I’d like to bill our equipment deposit in the stored materials column. I’ll send the photos with the project name, the insurance on the storage location, and the deposit confirmation.”

Whatever you and your GC agree on, follow it up with an email. Pay apps on a commercial job go on your GC’s forms. Side jobs still need an invoice, and I covered pricing those in how to price a side job.

Common questions

What is front loading a schedule of values?

It’s weighting the early lines or early billings heavier than the work in place, so the sub gets paid ahead of progress. It tends to stand out. If you have real equipment deposits or bulk material bought, call your GC before you bill it.

What is underbilling in construction?

Billing less than the work actually in place, often because a sub bills cost spent instead of progress. The GC doesn’t earn fee on work that isn’t billed, so one underbilled causes a ripple on GC fee.

Can you bill for stored materials?

If your contract allows it, yes. Material stored off site goes in the stored materials column, with photos showing the project name, proof of insurance on the storage location, and supplier invoices or deposit confirmations. Once it’s delivered to the site, it goes in work completed this period.

Should an HVAC schedule of values be broken out by floor?

It can be, but I don’t like it as much, because a mechanical unit can serve several floors and areas. Whole systems, like an AHU and everything associated with it, are easier to check. A hybrid of systems and duct types often works.

How do you bill a change order on a pay app?

Only after it’s approved in writing, whatever your GC’s software calls the document. Put each approved change on its own line at the bottom of your schedule, and make sure the new contract total ties out.