All posts
Quotes & Estimates

How do you write a contractor quote?

A quote is a sales document, not a formality. It's where prospects decide whether to hire you or call someone else. Structure it right—clear scope, honest price, firm timeline—and you'll close more jobs. Here's how to build one.

Start with the scope of work

Be specific about what you're doing and what you're not. A roofing quote should say 'Remove and replace 2,400 sq ft of asphalt shingles, including underlayment' not just 'New roof.' A plumbing quote should list 'Replace 3 fixtures: kitchen sink, bathroom toilet, laundry hookup' with material grades included. This cuts back-and-forth emails. The customer knows exactly what they're paying for. You know exactly what you're building. If there's something you won't do—move the water heater, repair existing damage, dispose of old materials—write it down. 'Does not include electrical work' or 'Existing drywall repair not included' saves arguments later. A concrete contractor should specify finishing type: 'Broom finish' or 'trowel smooth.' One sentence per major item. No vague language.

Price it clearly and justify the line items

Break the total into labor and materials. Don't hide anything in a lump sum. A $12,000 roof replacement should show something like: Materials $6,800, Labor $4,500, Permits $700. Total $12,000. This looks professional. It also lets the customer see where the cost lives. If they negotiate, you both understand what moves. Include unit pricing for change orders. 'Additional square footage: $45 per sq ft' or 'Extra outlet: $185 installed.' These prices come up. Having them ready closes deals faster. The quote should have a subtotal, tax (if applicable), and a clear final number. Nothing surprises the customer when they sign. Round numbers feel cheap. $12,000 is better than $11,987.

Set a timeline and payment terms

When does the job start. When does it end. How many days for materials to arrive. Is it weather-dependent. A painting quote might say 'Start: March 15. Completion: March 22 (weather permitting). Materials on-site by March 14.' A landscaping job might say 'Installation: 2-3 days. Growing in period: 4-6 weeks.' Payment terms matter. State them plainly. '50% deposit to schedule, 50% on completion' or 'Full payment due upon completion' or 'Net 10 if applicable.' Don't assume the customer knows your rules. Also include how long the quote is valid. 'This quote is valid for 14 days' keeps you from getting undercut by market shifts. If material prices are volatile (lumber, fuel), say it: 'Price subject to confirmation at time of purchase.'

Add your contact and a clear call to action

Include your phone number, email, and any licensing info required in your area. If you're bonded or insured, put it on there. Customers want to know you're legit. End with a single, simple next step. 'Call to confirm. We can start March 15' or 'Sign and return to lock in this price. I'll call to schedule.' Don't make them guess what happens next. The quote is a document, but it's also a conversation starter. Make it easy for them to say yes. A short footer with your business name, address, phone, and license number keeps everything in one place when they go to file it.

Bottom line

A good quote removes friction—the customer knows the scope, the cost, and the timeline. Write it tight, price it fair, and give them one clear way to move forward.

See it in 15 minutes.

Walk through Lowkly with someone from our team — quotes, invoices, scheduling, the whole thing.

Book a Call