Skip to content
QuoteClerk AI

QUOTECLERK AI BLOG / US DISTRIBUTORS

From a contractor takeoff to a clean quote

A takeoff in a spreadsheet looks like the easy case. There is nothing to decipher and no picture taken at a strange angle. The contractor or their estimator has typed every line into rows and columns. And yet turning that sheet into a quote can still take someone at the counter a long time.

The work is not in the reading. It is in everything around it.

Every estimator builds the sheet differently

One estimator calls the column "Qty", another "Quantity", a third "Count". One puts the unit in its own column; another writes "100 ft" in the quantity cell. One gives your part numbers; another gives their own descriptions, like "1/2 PEX-A 100' coil" or "3/4 brass ball valve FIP". A sheet may have a title block in its first few rows, merged cells, subtotals by floor or by phase, and a notes column with the important detail hidden in it.

Before pricing anything, it pays to look at the sheet the way a machine would: where is the header row, which column is which, and which rows are real products.

Map the columns first

Find the header row and name each column you need: product code, description, quantity, unit, and price if the contractor included one. Then check two things before you go further:

  • Is any field coming from 2 columns? If there is a "Qty" column and a "Total Qty" column, decide which one is the order quantity, and do not mix them.
  • Is any required field missing? A takeoff with no quantity column is not a takeoff yet. It is a product list, and it needs a call.

For example, if the unit is misread, a line for 12 coils of tube could end up as 1,200 feet priced per coil.

Strip out what is not a line

Subtotal rows, section headings like "Level 2 rough-in", blank rows and notes all need to come out before pricing. Keep the section headings as a reference, though. Contractors like to see the quote in the same order as their sheet, and it makes their review faster.

Match descriptions to your catalog

Now the real work: each description has to point at a product in your catalog. Where the contractor used your part numbers, this is quick. Where they used their own words, it takes product knowledge. "1/2 PEX" could be several products depending on type, color and coil length.

The answer is not to guess. If a description could mean two or three products, list the options and pick one deliberately, or ask. Say a line asks for 40 fittings and the wrong one is matched: that can mean a return, a credit and a frustrated plumber.

Units and quantities

Takeoffs mix units freely. Tube in feet, fittings in each, valves in each, insulation in lengths, hangers in boxes. Your catalog sells each product in one unit. Convert where the conversion is unambiguous, and flag where it is not. If the takeoff says 250 feet and you sell 100 foot coils, someone needs to decide whether that is 3 coils or a cut.

Price from the account

With products and quantities settled, price each line at the level that applies: the contractor's own contract price, then their group price, then list. Apply quantity breaks from your price file and check that prices are in date. This part should be mechanical. If it depends on someone's memory, it is a risk.

How I handle a spreadsheet takeoff

QuoteClerk AI reads takeoffs as XLSX, CSV or TSV files, up to 20 MB, 5,000 rows and 60 columns. Column names such as code, description, quantity, unit and price are recognized automatically, and a mapping with a duplicate or missing required column is rejected instead of guessed. The header names a regular contractor uses can be configured per customer during onboarding. Each line is matched to your own catalog and priced from your own prices, uncertain lines are flagged, and a person on your team approves every draft. The approved quote comes out as a PDF plus a CSV; there is no XLSX writer today.

The Excel takeoff to a draft quote page covers the column rules in detail, and the plumbing supply house quoting software page shows how rough-in and trim lists are handled.

A short checklist for the next takeoff

  1. Find the header row and name the columns you need.
  2. Reject the sheet, or call, if quantity is missing or two columns claim the same field.
  3. Remove subtotals, headings and notes, but keep the section order.
  4. Match each description to one product, and ask where it could be several.
  5. Check units against how you sell each product.
  6. Price from the account, with breaks and dates from the price file.

Frequently asked questions

Do contractors need to use my template?

No. Column names such as code, description, quantity, unit and price are guessed automatically, and the column names a regular contractor uses can be configured as header aliases for that customer during onboarding.

What should I do when a takeoff has no quantity column?

Call the contractor. Without quantities it is a product list, not a takeoff, and any quantity you fill in is a guess.

Can I send the quote back as an Excel file?

With QuoteClerk AI the approved quote comes out as a PDF for the customer plus a UTF-8 CSV file in a generic layout. There is no XLSX writer today.

What would it cost for my branch?Can it read a photo of a handwritten list?How does the paid pilot work?