ExcelWhiz

EXCELWHIZ

Quote Generator in Excel for Tradies and Subcontractors

Build an Excel quote generator for a trade business. Covers the pricing database, quote template, GST, a quote log and the win rate that tells you what to fix.

Kate Cui, CPA

In the building and construction industry, accurate quotes win the work and hold the margin. A quote generator built in Excel is a customisable alternative to subscription quoting software, and it earns its place because the pricing logic stays visible. You can see which cost produced which line, adjust a rate as supplier prices move, and rebuild the template around the way your trade actually quotes.

The build below runs from a pricing database, through a quote template, to a quote log, and finishes with the two numbers a quoting process has to produce: the win rate, and the margin on the work you actually won. It suits a trade business quoting labour, materials and subcontractors. If you would rather see the arithmetic before building anything, the quote generator holds a catalogue of priced items, applies GST and keeps each quote in your browser, which covers steps 1 to 3 without a workbook.

Why a quote generator is worth building

Four reasons carry most of the weight. Accuracy comes from doing the arithmetic once and reusing it, so an underquoted job reflects a pricing decision. Speed comes from a template that fills prices from a database, which turns a two hour quote into fifteen minutes. Consistency means the same scope prices the same way whoever prepares it, and that matters as soon as you have staff or a partner quoting. Cost is the fourth: a workbook you own replaces a monthly subscription and can be changed without a vendor.

A fifth reason only appears after a few months of use. A quote log produces data. Once forty quotes sit in one sheet you can see which job types convert, which clients disappear after hearing a price, and whether the average job value is rising. Quoting stops being an administrative task and becomes a source of information about the business.

Step 1: Build the pricing database

The pricing database is one worksheet holding every item you quote, with its cost, its markup and the resulting charge price.

Item IDDescriptionUnitCost priceMarkupCharge price
H001Labour (hourly rate)Hour$50.00100%$100.00
M001Timber (per unit)Unit$15.0050%$22.50
M002Paint (per litre)Litre$10.0080%$18.00

Charge price is a formula, so a supplier increase is one edit:

Charge price = Cost price * (1 + Markup)

Cost the labour rate properly before it goes in. An hourly rate covering only the wage understates every job by the cost of super, workers compensation, annual leave, public holidays and non-productive time. Build the rate from an annual package figure divided by the productive hours you actually sell, then add an overhead recovery percentage to cover the ute, insurance, the office, the phone and the quoting time itself. Direct cost plus markup recovers the job. Overhead recovery is what keeps the business solvent, so put it in the rate where it is applied to every quote.

Keep a category column as well, with values such as Labour, Materials, Subcontract and Equipment. Grouping the quote by category makes the document readable and gives you a cost split to compare against the job costing in step 5.

Store the database as an Excel Table. Structured references mean the lookup in step 2 reads PricingDatabase[Charge price] without a hardcoded range like $F$2:$F$400, and the table grows to include a new row without any formula being touched. One row per item, no merged cells, and a review date in the header cell above the table so the last update is visible without opening the file properties.

To test a rate before it goes into the database, the pricing calculator applies a margin or a markup to any cost base and shows the profit at a given volume.

Step 2: Build the quote template

The template has two jobs: let you price a job quickly, and produce a document a client can read without a glossary.

Use data validation to turn the item column into a dropdown fed from the pricing database, then pull the description, unit and charge price across with a lookup:

=XLOOKUP(ItemID, PricingDatabase[Item ID], PricingDatabase[Charge price], "Not found")

Add a quantity column and a line total beneath it:

Line total = Quantity * Unit price
Item IDDescriptionQuantityUnit priceLine total
H001Labour (hourly rate)10$100.00$1,000.00
M001Timber (per unit)20$22.50$450.00

Two structural choices save trouble later. Keep the cost columns on a separate sheet and look them up when you need the margin, because a client copy that leaks your cost base hands your markup to whoever else is quoting the job. And put the inclusions, exclusions and assumptions directly above the signature block, where the client reads them before signing. "Price excludes removal of existing flooring and any asbestos handling" is the sentence that prevents the argument, and a terms document nobody opens is the wrong place to keep it.

Step 3: Add GST and adjustments

For an Australian business registered for GST, the tax is charged at 10 percent and the quote has to show how it has been handled.

LineAmount
Subtotal$1,450.00
GST (10%)$145.00
Total$1,595.00

The formulas sit in two rows above the total:

GST = Subtotal * 10%
Total = Subtotal + GST

Add an adjustments row for a discount, a call-out fee or a delivery charge. Then decide once whether you quote prices that include GST or exclude it. Both are lawful provided the document says which, and a residential client who reads a $1,450 subtotal and then meets a $1,595 total has been misled by layout rather than by arithmetic. State the basis in the header, as "All prices exclude GST" or "All prices include GST". Round the total to the nearest dollar and absorb the difference, because a quote that lands on $1,595.37 invites a conversation about cents.

Step 4: Record every quote in a quote log

Every quote issued goes into one log. The template produces the document, and the log produces the pipeline.

Quote IDClientIssuedValueStatusFollow-upLost reason
Q-2026-001John Smith01/09/2026$1,595.00Won
Q-2026-002Jane Doe02/09/2026$800.00Following up09/09/2026

Three details make the log worth keeping. Use a unique ID carrying the year, so Q-2026-014 is findable in a conversation twelve months from now. Drive the status column from a dropdown with a fixed list, which keeps the reporting honest: Sent, Following up, Won, Lost and Expired cover most trade pipelines. Then carry a lost reason column with the same discipline, because "price" recorded forty times is a different finding from "price" recorded four times.

Set conditional formatting so the status column colours itself. The sheet then reads as a pipeline at a glance, and the rows needing action are the ones that stand out.

Step 5: Turn won quotes into job costing

The quote total and the job cost are two different numbers, and the gap between them is the business.

Job IDLabourMaterialsSubcontractorsOverheadsTotal costRevenueMargin
J-2026-001$1,000.00$450.00$0.00$150.00$1,600.00$1,595.00-0.3%

That table is worth reading twice. The quote was priced from cost plus markup and the job still lost money, because the overhead recovery line either sat outside the rate or was smaller than the real overhead. A job can be won, delivered well and still reduce the bank balance, and this table is the only place it shows up. Cost overheads per job rather than per year: take the annual overhead figure, divide it by the number of jobs you expect to complete, and load that amount onto each one.

Run the same structure across a product or service line and you have the statement behind the profitability calculator, which returns a profit and loss statement, return on investment and payback from product lines, expense categories and financing. It is the check to run before quoting the next job of the same kind.

Step 6: Turn the quote log into a pipeline view

A quote log answers a question about one quote. A PivotTable answers questions about the business.

Build the pivot from the log with status in the rows, the trade or job category in the columns, and two values: count of quotes and sum of value. That single table shows where the work comes from and where it goes. Add the lost reason as a filter and the picture sharpens again, because quotes lost on price cluster in one job type while quotes lost on timing cluster in another.

Three further views are worth keeping on the same sheet. Average quote value by month shows whether the jobs you win are getting larger or smaller. Win rate by client identifies the repeat customer who asks for three quotes and accepts one. And a count of quotes with no follow-up date is the action list for the week.

Keep it to one PivotTable and one chart. A quoting dashboard that needs explaining is a dashboard nobody opens, and the figures that change decisions here are the win rate, the average value, and the number of quotes sitting unanswered. Refresh the pivot when quotes are added, or point it at an Excel Table so the range grows with the log on its own.

Where quoting goes wrong

Four failures account for most quoting problems in trade businesses, and each one is visible in the workbook long before it becomes visible in the bank account.

The first is a price list out of date. Material prices move, and a database last updated two years ago prices today's job at last year's cost. Put a review date in the worksheet header and check the ten items you quote most often every quarter.

The second is quoting from a template whose scope has quietly changed. A quote that matched the work in March gets copied into August with the same inclusions and exclusions, and the work has moved on since. Read the exclusions block on every quote before it goes out.

The third is leaving out the overhead recovery line. It is the easiest line to omit, because no client document ever shows it, and omitting it is the largest single reason a busy trade business reports a loss at the end of a good year.

The fourth is no follow-up. Most quote losses are lapses, and a quote that receives one phone call within three days converts at a materially higher rate than the same quote sent and left alone. The log carries the follow-up date for exactly this reason.

The two numbers a quoting process has to produce

Win rate and average job value. Win rate is won quotes divided by decided quotes, so quotes still open are excluded from both figures:

Win rate = Won / (Won + Lost + Expired)

Forty quotes with eleven wins is a win rate of 27.5 percent. If the average quote is $1,450, those forty builds returned $15,950 of revenue, which is the figure to hold against the hours spent quoting. A win rate above 70 percent usually means the prices are too low. A win rate below 20 percent usually means the quotes are reaching the wrong clients, or that the scope is priced from a template which no longer matches the work.

Follow-up belongs in the same process. A quote sent and forgotten converts at whatever the client decides, while a quote followed up two days, seven days and fourteen days after issue converts on the strength of the conversation. Set the follow-up date when the quote is issued and let the log carry it.

A pre-send checklist

Six checks take a minute and prevent most quote disputes. The business name, ABN and licence number are correct and current. The client's name, site address and job description match the work being priced. The inclusions, exclusions and assumptions are written for this specific job. The document states whether prices include GST. The validity period, deposit and payment terms are written down. The scope the price covers is one a competent tradesperson would agree delivers the job.

Then export it to PDF, confirm the totals survived the export, and send it from an address the client will recognise.

For a full overview, see the Financial Modelling in Excel: The Complete Guide (2026).

FAQs

Frequently asked questions

What should a quote template include in Excel?

A header with your business name, ABN and licence number where one applies. A unique quote number and the date it was issued. Client name, site address and a job description specific enough to price. An itemised table with description, quantity, unit, unit price and line total. Subtotal, GST and total. A deposit amount and the payment terms. A validity period. A block for inclusions, exclusions and assumptions, which is where most quote disputes start. Acceptance lines for signature and date. Keep the cost breakdown on a separate sheet, so the copy the client receives carries prices only.

How do I calculate the right price for a quote in Excel?

Total the direct costs first: materials at supplier prices including delivery, labour at an hourly rate that covers super and workers compensation, and any subcontractor quotes. Add overhead recovery. Then apply the margin, using quote price = total cost / (1 - target margin). A job costing $1,000 at a 30 percent margin prices at $1,000 / 0.7 = $1,428.57. A 30 percent markup multiplies the cost instead and gives $1,300 on the same job, so decide which one the business quotes on and label the sheet accordingly. When a client pushes on price, cut scope before margin.

How do I track which quotes convert to jobs in Excel?

Keep one row per quote in a quote log with quote number, client, date issued, value, status, follow-up date and lost reason. Status values that work are Sent, Following up, Won, Lost and Expired. Win rate is won quotes divided by decided quotes, so quotes still open are excluded from both figures. Conditional formatting on the status column shows the pipeline at a glance. Read the lost reasons beside the win rate: when price objections account for more than a third of the losses, the usual cause is the scope or the presentation of the quote.

How do I handle variations on a quote in Excel?

Give the quote a variation register on the same sheet, with one row per change: date, description, who approved it and the dollar impact. Keep the approved variation total separate from the original quote value so the original scope stays visible, and report the revised total as original value plus approved variations. A variation approved by phone should be confirmed in writing before the work starts, because an unsigned verbal change is the version that gets disputed at invoicing.

Related reading