How to write a commercial HVAC bid proposal

Published . Updated .

An estimate tells you what the job costs. A proposal tells the general contractor or owner exactly what they get for that price, and what they do not. On a commercial job the second document is the one that gets compared, argued over and, if you win, attached to the contract. This guide walks through writing it from a finished estimate, in the order that avoids the usual gaps.

Start from a locked estimate

Do not begin writing until the estimate is final. Every dollar figure in the proposal should trace back to a line in the estimate or to a stated rule such as markup or tax. If you change the estimate after the proposal is drafted, the proposal is stale, and the mismatch is easy to miss.

Before you write, confirm these are settled:

Step 1: Write a cover letter that does one job

The cover letter names the project, who you are bidding to, the date, and the bid total or base bid. Keep it to a few sentences. It is not the place for a company history. Put the project name exactly as it appears on the bid documents, because the person comparing bids is matching names.

Step 2: Describe the scope by trade and by system

List what you will furnish and install, grouped so a reader can find their part. For HVAC that usually means:

  1. Equipment: rooftop units, split systems, air handlers, VAV boxes, exhaust fans, with tags or model numbers from the schedule.
  2. Ductwork and accessories: supply, return and exhaust duct, insulation, dampers, diffusers and grilles.
  3. Piping, if any: refrigerant, condensate, hydronic.
  4. Controls: thermostats or a building automation scope, stated as exactly what you provide.
  5. Startup, testing and balancing: whether you include air balance, and by whom.
  6. Closeout: operation and maintenance manuals, warranty paperwork, owner training.

Use the language of the drawings and specification where you can. A scope that says "per mechanical drawings M-101 to M-104" is easier to hold against the documents than a loose paragraph. If the job has more than one trade, such as HVAC and plumbing, give each trade its own headed section and its own subtotal.

Step 3: State the price in a way that adds up

Show a base bid and make the arithmetic visible. A simple structure:

ItemBasisAmount
HVAC scopeSum of estimate linesSubtotal
Overhead and profitPercentage of subtotalComputed
Tax, if applicableRate on taxable itemsComputed
Base bidTotal of the aboveTotal

Recompute every total by calculator or spreadsheet after your last edit. A transposed digit in the total is easy to miss, and it costs money. If you show a unit price, show the quantity too, so the extension can be checked.

Step 4: List exclusions and assumptions

This section protects you. It says what the price does not cover and what you assumed to be true. Typical entries are work by others (electrical power to equipment, structural curbs, fire alarm connections), permits and fees if you are not paying them, overtime or off-hours work, and conditions you could not see. Write assumptions as plain statements: "Existing ductwork is reusable where shown," "Access to the roof is available during normal hours."

Be specific. "Electrical work by others" is weaker than "Power wiring and disconnects for all equipment by electrical contractor." A separate guide, what to exclude in a plumbing bid proposal, covers exclusions in more depth, and most of it applies to HVAC too.

Step 5: Price alternates separately

An alternate is an option the owner may choose, priced as an add or a deduct from the base bid. Do not fold it into the total. Give each alternate a number, a short description and its own amount, and say whether the amount includes your markup. The guide on alternates, allowances and unit prices explains how each one is written and billed.

Step 6: Set payment terms and schedule

State how you expect to be paid: a deposit if you ask for one, progress billings, retainage and when it is released. Retainage is a percentage of each billing held until a later milestone. The percentage and release terms usually come from the contract between you and the general contractor, and many states limit retainage by law, especially on public work. Match your proposal to what you expect the contract to say, and check the contract when it arrives. Add the schedule assumptions that matter, such as lead time for major equipment, and the period your price is held.

Step 7: Read it as the other side

Before sending, read the proposal as the estimator at the general contractor would. Check:

Have someone else read it if you can. A second pair of eyes catches what you stopped seeing an hour ago.

How ScopeClerk handles this step

ScopeClerk drafts the proposal from the estimate you already built. You upload the estimate, which can be an Excel (.xlsx), CSV, Word (.docx), PDF or plain text file, or a scan or photo of one, plus the job facts, and you can add two or three of your own past proposals so the wording follows yours. Each past proposal is used for phrasing only and is not carried to the next job, so you send them again each time.

The draft contains a cover letter, scope by trade, assumptions, exclusions, alternates and payment terms. Ordinary code computes the totals: subtotal, markup, tax, deposit, and retainage or progress draws. The model writes wording only. A check record shows which estimate line backs each dollar figure. A second, stronger AI model reviews every result, fixes what it can, and lists what is left for you to decide. Results are model output checked by code and by a second model; they are not verified by a person. Read the proposal and edit it before you send it. You download it as a Word file and a PDF.

A proposal draft is 25 credits, and each revision round is 25 more. ScopeClerk does not advise on whether your pricing, terms or exclusions are wise. That stays with you. To try it, sign up.

Questions

How long should a commercial HVAC proposal be?
There is no standard length. Make it as long as it takes to state scope, price, exclusions and terms without gaps. A multi-trade job with alternates runs longer than a single-trade one. Cut repetition, never the exclusions.
Should the proposal show every line of my estimate?
Not necessarily. Many contractors show a price per scope section rather than every material and labor line. Whatever you show must still add up to the total, and your cost detail stays in the estimate.
Can I reuse an old proposal as a starting point?
Yes, and most contractors do. The risk is carrying over the old job's names, equipment tags, dates or exclusions. Read the whole file against the new estimate before it goes out.

Your next commercial bid, drafted and checked.

Sign in, upload your estimate, download a proposal you can read and send.