How to Price an Epoxy Garage Floor Job to Win the Bid and Still Profit
The pricing framework for garage floor coating jobs in 2026: cost-plus formula, margin targets, common underbidding traps, and how to communicate price without losing the sale.
Most garage floor coaters underbid. Not by 5% — by 25-40%. They quote based on what they think the customer will pay rather than what the job actually costs to do right plus a real margin. The result: thin gross margins, no buffer for callbacks or warranty work, and a treadmill of needing more jobs to make the same money.
Here's the cost-plus framework that produces 45-55% gross margins on residential polyaspartic full-flake — and the communication moves that prevent price objections.
The cost-plus formula
Quote price should always equal: (Materials + Labor + Overhead Allocation) ÷ (1 − Target Gross Margin %). For a 50% gross margin target:
Most coaters don't do this math because they don't track their true job cost. They guess based on what feels reasonable, and they leave 20-40% on the table per job.
What goes into "job cost"
Materials
- Primer (epoxy or polyurea primer): $40-$80 per 2-car garage
- Color flake broadcast: $80-$180 depending on flake density (1/4" to 1" depending on system)
- Polyaspartic topcoat: $280-$420 per 2-car garage (the expensive ingredient)
- Concrete repair / patch (cracks, spalls): $20-$80 per job
- Diamond grinding pads (amortized): $30-$60 per job
- Misc consumables (rollers, brushes, tape, plastic, mixing tools): $30-$60 per job
- Materials subtotal: ~$480-$880 for a 2-car polyaspartic full-flake
Labor
- 2-person crew × 8 hours × $35/hour fully-loaded labor cost = $560 per crew-day
- Polyaspartic 1-day install = 1 crew-day = $560 labor
- Pure epoxy 2-3 day install = 2-3 crew-days = $1,120-$1,680 labor
- Labor subtotal for 2-car polyaspartic: $560
Overhead allocation — the forgotten 25%
Allocate to each job:
- General liability insurance: ~$8/job (assumes $4k/year, 500 jobs/year)
- Workers comp insurance: ~$25/job ($12k/year)
- Vehicle costs (lease, fuel, maintenance): ~$35/job
- Equipment depreciation (grinder, vacuum, ramp, etc.): ~$12/job (assumes 5-year amortization)
- Phone, software, payment processing: ~$15/job
- Admin time (scheduling, invoicing, follow-up): ~$45/job (1 hour @ $45/hour)
- Marketing allocation: $80-$200/job (depends on blended cost per acquisition)
- Overhead subtotal: $220-$340 per job
Total job cost for a 2-car polyaspartic full-flake: $480-$880 (materials) + $560 (labor) + $220-$340 (overhead) = $1,260-$1,780. At 50% gross margin target: quote $2,520-$3,560. At 55% margin: quote $2,800-$3,956.
The pricing communication that prevents objections
Most customer objections happen because the price feels like a number pulled from the air. Always frame your quote in terms of the variables that move it:
"For your 440-square-foot garage, polyaspartic full-flake runs $6-$11 per square foot installed depending on three things: condition of the existing slab (a few cracks add about $300, major spalling adds more), the flake density you want (standard 1/4 inch coverage vs full 1 inch which is denser visually), and whether you want a clear cove base treatment. Based on what I saw today, your job lands at about $7.50 per square foot, which is $3,300 for the whole garage."
This works because it shows the customer the math is real, not arbitrary. They can see what changes the price up or down. They feel respected as a buyer rather than pitched.
Common underbidding traps
- Quoting based on competitor pricing — your competitor might be losing money
- Forgetting drive time + load/unload time in labor calculation
- Not building in a contingency line for unexpected slab prep
- Skipping the overhead allocation entirely ("the truck is paid off")
- Discounting on the first call to "win the bid" — sets the wrong precedent
- Quoting before seeing the slab — moisture testing, cracks, spalling, condition all move price significantly
Frequently asked questions
What's a healthy gross margin target for a residential polyaspartic install?
45-55% gross margin on the job (revenue minus materials, labor, and overhead allocation, but before fixed overhead like office rent or owner salary). Below 40%, the business can't reinvest in marketing or hiring. Above 60% means you're probably leaving market share to lower-priced competitors. The 45-55% band is the sweet spot for residential work in 2026.
Should I show the customer my pricing on the website?
Yes, as a range with variables (see the separate "Should garage floor coating companies show prices on their website" post). Hidden pricing forces every lead to call before they know if they can afford you, which filters out qualified buyers along with the price shoppers. Visible pricing pre-qualifies leads and reduces wasted estimate appointments.
How do I respond when the customer says "your competitor quoted $1,000 less"?
Don't cave. Two replies that work: "I can't speak to their pricing, but I can tell you exactly what's included in mine and we can compare apples-to-apples — most cheap quotes skip prep work or use thinner topcoats." OR "We don't compete on price; we compete on doing the work right the first time so you don't call us back in 18 months. If price is the deciding factor, we're probably not your best fit." The customers who choose the cheap quote often call you for the recoat in 3-5 years anyway.
What about charging a deposit?
Standard practice in 2026: 50% deposit on signed contract, balance on completion. Some markets accept 30% deposit + progress payment + balance. Below 30% deposit creates cash flow problems. Above 50% deposit creates customer trust concerns. The 50/50 split is the most common framework that works for both sides.
How do I price emergency or rush jobs?
Add a 20-35% rush premium for any job requested within 48 hours that requires schedule disruption. Be transparent: "I can do this Thursday instead of in 2 weeks, but I'll need to bump another job which adds $750 to the quote. Up to you." Customers accept the premium when they understand the trade-off. Hidden surcharges create complaints.
Free GEO + Local SEO Report
We help garage trade businesses tighten their entire sales process — pricing, follow-up, close rate. The free GEO + Local SEO audit baselines your visibility; from there, the membership helps with the whole funnel.
Open the toolWe handle every line of this for $497/mo.
Garage Floor Marketing runs the full Local SEO + GEO program for garage floor coaters, garage door installers, and garage service companies. 17 tools, one login. Veteran-owned. 90-day lead-double guarantee or the next 90 days are free.