7 Reupholstery Pricing Mistakes That Cost Shops 20% of Revenue
Underpricing pattern repeat fabric alone costs shops $150 to $300 per month, the single most common pricing leak in upholstery. That's not the only one. At a typical shop doing 20 residential jobs per month, the 7 mistakes below can combine to erode 15-25% of total revenue. Most shop owners never identify which jobs are losing money because they don't track margin per job. The mistakes continue invisibly, month after month.
Here are the 7 most common reupholstery pricing mistakes, what they cost, and how to fix each one.
TL;DR
- Accurate pricing requires knowing your actual labor rate (overhead + target wage + profit margin), not a rough estimate.
- Most shops undercharge by failing to account for pattern repeat waste, frame repair time, and non-billable admin overhead.
- A documented pricing structure with itemized line items builds client trust and reduces negotiation friction.
- Fabric markup of 20-40% over cost is standard practice in residential upholstery shops.
- Premium work (leather, tufting, custom trim) warrants a premium labor rate, which should be explicit in your quote structure.
- Consistent pricing with clear line items also makes it easier to analyze profitability by job type over time.
Mistake 1: Not Calculating Pattern Repeat in Yardage
What it costs: $150-300/month at a 20-job shop doing 4-5 patterned fabric jobs per month.
How it happens: You estimate 18 yards for a sofa. The fabric has a 12-inch pattern repeat. You order 18 yards. When you start cutting, you realize you need 22 yards to match the pattern. You order the extra 4 yards, at your cost, not the client's. Or worse, the job gets delayed while you wait for additional fabric.
How to fix it: Calculate pattern repeat yardage on every patterned fabric job before quoting. The formula: divide the vertical pattern repeat by 36 (to get yards per repeat), then multiply by the number of cuts in the job, then add the calculated net yardage. Quote the full required yardage, including the pattern repeat addition.
Mistake 2: Fabric Markup Too Low or Zero
What it costs: $100-400/month depending on fabric volume.
How it happens: Some shops quote fabric at cost, treating it as a pass-through. Others add a token 10% markup. Standard industry markup is 20-40% on fabric cost. At 10% on $2,000/month in fabric, you're leaving $200-600 per month in fabric margin uncollected.
How to fix it: Set your fabric markup at 25-35% minimum. This covers the time to research, order, track, and manage the fabric through every job. Fabric sourcing is a real service, price it accordingly.
Mistake 3: Same Labor Rate for All Complexity Levels
What it costs: $200-500/month in margin loss on complex jobs.
How it happens: You price a Lawson sofa at $1,200. You price a Chesterfield with 60-button tufting at $1,400. Both are "sofas." The Lawson takes 12 hours; the Chesterfield takes 20. At a $90/hour labor rate, you've underpriced the Chesterfield by $720.
How to fix it: Price by piece type and complexity, not by piece category. A Chesterfield is not a standard sofa. A wing chair is not a standard chair. Build complexity multipliers into your labor estimates: a Lawson sofa is your baseline; a Chesterfield is 1.5-1.7x that baseline; a tufted headboard with nailhead is 1.3x a flat headboard. Price the actual job, not the furniture category.
Mistake 4: Not Charging for Scope Creep
What it costs: $50-200 per incident, 3-6 incidents per month = $150-1,200/month.
How it happens: You discover a broken frame joint during teardown. You fix it because it's faster than calling the client. Or you discover the foam is worse than it looked and replace all of it, not just the agreed seat foam. These extras come directly out of your original quote margin.
How to fix it: Establish a policy: any repairs or replacements discovered during teardown that weren't in the original quote require client approval before proceeding. Call the client, describe what you found, quote the additional cost, and get verbal (then written) approval. This is standard practice in any trade, it's not unexpected, and most clients appreciate the transparency.
Mistake 5: Low Minimum Job Charge
What it costs: $20-40 per small job, multiplied by however many small jobs you take per month.
How it happens: A client calls about recovering a single dining chair. You say $40. The job takes 20 minutes of production. But it also took 5 minutes of phone time, 5 minutes of intake, 5 minutes of invoicing, and maybe a site visit. Total non-production time: 30-45 minutes at your labor rate. The $40 job costs more to run than it generates.
How to fix it: Set a minimum job charge of $80-120 for residential jobs. Communicate this clearly when small-job inquiries come in. Clients with small jobs who don't want to pay the minimum either find another shop (not your problem) or combine the small job with other pieces (actually helpful).
Mistake 6: Not Building in a Labor Buffer
What it costs: 1-2 hours of unpaid labor per complex job.
How it happens: You estimate a wing chair at 7 hours because that's your average. This particular wing chair has a damaged inside arm that takes an extra 90 minutes to work around. The job runs 8.5 hours, and you absorb the difference.
How to fix it: Build a 10-15% labor buffer into every quote for pieces you haven't worked on before. If the job comes in under your estimate, you've made extra margin. If it runs long, you're covered. For pieces you've done many times, a tighter estimate is fine. For unusual pieces, antiques, or anything with uncertain condition, buffer accordingly.
Mistake 7: Not Updating Your Labor Rate
What it costs: Cumulative margin erosion as costs rise while prices stay flat.
How it happens: You set your labor rate 3 years ago at $75/hour. Rent has increased 15%. Supplies cost more. Your own income expectations have grown. But your labor rate is still $75. Every job you quote is generating less real margin than it did 3 years ago.
How to fix it: Review your labor rate annually. Recalculate it using the formula: (annual income target + annual overhead) ÷ annual billable hours = break-even hourly cost. Add your target profit margin on top. If your break-even cost is now $72/hour and your profit margin target is 20%, your labor rate should be $90/hour, not $75. If you haven't raised your rate in 3+ years, it's overdue.
The Combined Impact
At a 20-job shop, correcting all 7 of these mistakes could add $500-1,500 per month in margin without taking on a single additional job. That's from the same clients, the same pieces, the same fabric, just priced correctly.
The starting point: track actual margin per job for 30 days. Calculate fabric cost, labor time, and supply cost for each job and compare to the revenue from that job. The jobs where margin is below 40% are your underpriced jobs, diagnose which mistake is causing the shortfall.
For the full pricing framework that addresses these mistakes systematically, the how to price reupholstery jobs guide covers labor rate calculation, fabric markup, and minimum job charge in detail. For tracking the actual cost of fabric order mistakes, the fabric yardage error cost calculator quantifies the pattern repeat mistake specifically.
Frequently Asked Questions
What are common upholstery pricing mistakes?
The seven most common: not calculating pattern repeat yardage (orders more fabric out of margin), setting fabric markup too low or zero (misses $200-600/month in fabric margin), using the same labor rate for all complexity levels (underprices Chesterfields and wing chairs by $300-700 per job), not charging for scope creep discovered at teardown (absorbs repair cost into original quote margin), having no minimum job charge (takes jobs that cost more to run than they generate), not building labor buffers into estimates for uncertain pieces, and not updating the labor rate annually as costs rise. Each mistake individually is manageable; all seven together erode 15-25% of monthly revenue.
Why do upholstery shops underprice jobs?
The most common root cause is not having a pricing formula, pricing by feel or by what clients expect rather than by actual cost. Feel-based pricing works reasonably well for simple, familiar job types but consistently fails on complex pieces (Chesterfields, antiques, pattern-matched fabric) where the additional time and material requirements don't register intuitively. The second root cause is not tracking margin per job, shops that don't know which jobs are profitable can't identify or fix underpricing. Build a pricing formula and track job-level margin for 30 days to identify where the leaks are.
How do I stop underpricing upholstery jobs?
Build a pricing formula with three components: estimated hours × labor rate, fabric cost × markup factor, and supplies. Apply it to every job, including the complex ones where you might be tempted to quote "roughly what a sofa usually costs." Set a minimum job charge and apply it consistently. Calculate pattern repeat yardage on every patterned fabric job before quoting. Review your labor rate annually and update it when costs increase. Track margin per job for at least one month to identify which job types are currently underpriced, those are your highest-priority pricing corrections.
How do I handle clients who want to negotiate the price?
The most effective response to price negotiation is to explain what the price covers, not to simply lower it. Walk the client through the labor time, fabric cost, and any structural work required. If the client needs a lower price, offer to adjust the scope (simpler fabric, no welt cording, tight seat instead of loose cushion) rather than discounting the same work. Discounting without scope changes devalues your labor and creates an expectation of discounting on future jobs.
Sources
- National Upholstery Association
- Association of Master Upholsterers and Soft Furnishers (AMUSF)
- Upholstered Furniture Action Council (UFAC)
- Furniture Today (trade publication)
Get Started with StitchDesk
Pricing confidence comes from knowing your actual costs and communicating them clearly in every quote. StitchDesk helps upholstery shops build detailed quotes, track job costs against estimates, and develop pricing that protects margins across every job type. Try StitchDesk free and bring precision to your pricing.