How to Price Reupholstery Jobs Profitably: The Complete Guide
Shops that use a pricing formula price 35% higher on complex jobs than shops pricing by feel, and both groups price accurately when measured against job profitability. The difference is that formula-based shops don't underprice Chesterfields, recliner jobs, and patterned fabric work. Feel-based shops consistently underprice the jobs that require the most time, because the complexity doesn't register in the price until after the job is done.
This guide gives you the complete pricing formula: labor rate calculation, fabric markup, overhead allocation, and the minimum job charge that stops you from taking work that loses money.
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.
Why Upholstery Shops Underprice
Before the formula, it helps to understand the most common reasons shops leave money on the table.
Pricing by piece type, not by complexity. "A sofa is $600-900" is a range, not a price. A Lawson sofa in solid fabric at 12 hours is not the same job as a Chesterfield sofa with 60-button tufting at 20 hours. Quoting both as "a sofa" is a predictable path to underpricing half your work.
Treating fabric as a pass-through. Some shops quote fabric at cost and add labor on top. This means the fabric generates no margin. The shop earns nothing for sourcing, ordering, tracking, and managing the fabric through the job.
Not calculating pattern repeat into yardage. A 12-inch pattern repeat on a 22-yard sofa job requires approximately 26 yards of fabric. If you quote 22 yards and order 22, you run short. If you order 26 and quote 22, you paid for 4 yards out of margin.
Ignoring overhead in the labor rate. Your shop has fixed costs: rent, utilities, insurance, equipment, software, marketing. These costs exist whether you do 10 jobs a month or 20. They need to be priced into every job.
No minimum job charge. A 30-minute dining chair repair that requires a site visit, client communication, intake, and invoicing isn't a $40 job. If you price it at $40, you lose money after accounting for your time on the non-production tasks.
Step 1: Calculate Your Labor Rate
Your labor rate needs to cover three things: direct labor cost, overhead allocation per labor hour, and target profit margin.
For a solo shop:
Your direct labor cost is the value of your own time. Set a target annual income (say $80,000) and calculate how many billable production hours you have per year.
Example:
- Working weeks per year: 48 (accounting for vacation, sick time)
- Production hours per week: 30 (out of 40 total, 10 hours go to quoting, admin, communication)
- Total billable hours per year: 48 × 30 = 1,440 hours
Your labor cost per hour = $80,000 ÷ 1,440 = $55.56/hour
Add overhead per labor hour:
Annual overhead (rent, utilities, insurance, equipment, software): $24,000
Overhead per billable hour = $24,000 ÷ 1,440 = $16.67/hour
Total cost per labor hour = $55.56 + $16.67 = $72.23
Add target profit margin:
If you want 20% net margin on labor: $72.23 ÷ (1 - 0.20) = $90.29/hour
Your labor rate: $90/hour (round to the nearest practical number)
This is the rate that covers your income target, your overhead, and your profit margin. Pricing below this rate means you're shortchanging one of those three.
For a shop with employees:
Replace your personal income figure with total labor cost (wages + benefits + employer taxes). The overhead calculation and margin target work the same way.
Step 2: Calculate Your Fabric Markup
Your fabric markup covers the cost of sourcing, ordering, and managing fabric through the job. Industry standard is 20-40% on the fabric cost.
Formula:
Client fabric price = fabric cost × (1 + markup percentage)
Example: You pay $180 for fabric. At 30% markup:
$180 × 1.30 = $234 client fabric price
This generates $54 in fabric margin, which covers your time to research, order, track, and deliver the fabric as part of the job.
Setting your markup percentage:
- Stock fabrics from your catalog: 30-40% markup. These are easy to order and you have the relationship.
- Special-order fabrics (longer lead time, minimum order quantities): 25-30% markup. The handling effort is higher but the client relationship justifies a slightly lower markup to stay competitive.
- COM fabric (client supplies): no fabric cost, but charge a COM surcharge of $15-30 per yard to cover the uncertainty, handling, and any waste risk.
Pattern repeat fabric:
For fabric with a pattern repeat, calculate the additional yardage required and include the full required yardage in your fabric quote, not just the net yardage. If the piece needs 20 net yards but the pattern repeat requires ordering 24, quote 24 yards at your marked-up price.
Step 3: Build the Job Price
Once you have your labor rate and fabric markup, pricing a job follows this formula:
Job price = (Estimated hours × Labor rate) + (Fabric cost × Markup factor) + Supplies
Example: Lawson sofa, 3-cushion, solid performance fabric
- Estimated hours: 13
- Labor rate: $90/hour
- Labor component: 13 × $90 = $1,170
- Fabric cost: 18 yards × $14/yard = $252
- Fabric markup (30%): $252 × 1.30 = $328
- Supplies (foam, welt, cambric, etc.): $85
- Total job price: $1,170 + $328 + $85 = $1,583
Round to a practical number: $1,600
Same formula for a Chesterfield sofa:
- Estimated hours: 20
- Labor component: 20 × $90 = $1,800
- Fabric cost (Chesterfield takes more fabric and typically uses leather or velvet): 24 yards × $22/yard = $528
- Fabric markup: $528 × 1.30 = $686
- Supplies: $95
- Total job price: $1,800 + $686 + $95 = $2,581
Round to $2,600
The Chesterfield is $1,000 more than the Lawson, reflecting the reality that it takes 7 more hours and uses more expensive fabric. This is the job where feel-based pricing most often fails. Shops pricing by "it's a sofa" quote $1,400-1,600 for both and lose considerably on every Chesterfield.
Step 4: Set Your Minimum Job Charge
Every job has non-production overhead: client communication, intake, invoicing, delivery or pickup logistics. These take time regardless of job size.
For a solo shop, non-production time averages 30-45 minutes per job. At a $90 labor rate, that's $45-68 of non-production cost before any upholstery work starts.
Minimum job charge formula:
Minimum = non-production time at labor rate + minimum supplies
Example: $67 (45 min at $90/hr) + $15 minimum supplies = $82 minimum
Round up to $100 as a practical minimum. Any job priced below $100 loses money after non-production time is included.
Apply the minimum more aggressively for small jobs requiring site visits: add travel time to the non-production calculation. A 20-minute round trip adds $30 in time cost.
Step 5: Test Your Pricing Against the Market
Your formula-based price is what the job should cost. Market testing tells you where that price sits relative to competitors.
Get three competitor quotes for common job types in your area. If your formula price is:
- 20-30% above competitors: You have room to compete. Consider whether you offer enough value differentiation (quality, turnaround, communication) to justify the premium. Many clients will pay 20% more for reliability.
- More than 30% above competitors: Either your overhead is high, your labor rate target is above market, or competitors are underpricing and losing money. Investigate before adjusting your formula.
- Below competitors: You're underpriced relative to market. This is an opportunity, you can raise prices without losing clients.
The goal isn't to be the cheapest. It's to be priced at a rate that both covers your costs and reflects the quality of your work.
Communicating Prices to Clients
How you present price matters. Itemized quotes outperform single-number quotes. "Your sofa reupholstery is $1,600" gets more pushback than a quote showing labor, fabric, and supplies separately. Clients who see the breakdown understand they're not just paying for fabric, they're paying for skilled labor and the sourcing work.
A professional quote also signals quality. A handwritten number on a business card doesn't have the same authority as a printed or emailed quote with line items and a clear scope of work.
For quote templates and the full quoting process, see the professional reupholstery quote template guide and the StitchDesk quoting system overview.
Common Pricing Questions
Should I charge for site visits?
For residential clients: typically no, or include it in the minimum job charge structure. For commercial prospects (restaurant, hotel): yes, a commercial site visit is 30-60 minutes of professional time. Charge $50-75 for commercial site visits, applicable toward the job if they proceed.
How do I price a job where I don't know the exact hours?
Build in a buffer for uncertainty. If you estimate 12-16 hours for a wing chair (the range for an experienced upholsterer), price at 15 hours. The buffer covers the times the estimate is at the high end and protects your margin when the job takes longer than expected.
What about clients who say my price is too high?
Don't discount your formula price. Instead, explain the components. If a client understands that 20 hours of skilled labor at a professional rate is a notable portion of the price, most accept it. If they don't, they're not your client. Discounting to win a job at below-margin pricing is worse than not getting the job.
For the profit margin targets that your pricing should produce, the upholstery shop profit margins guide covers gross margin benchmarks by shop type.
Frequently Asked Questions
How do I calculate a profitable upholstery price?
Use the formula: (estimated hours × your labor rate) + (fabric cost × markup factor) + supplies. Your labor rate needs to cover your direct labor cost, overhead allocation per hour, and target profit margin. Your fabric markup should be 20-40% on fabric cost. On top of the formula result, apply a minimum job charge to ensure no job is priced below profitability. Test your formula prices against competitor quotes in your market to confirm you're positioned appropriately.
What markup should I add to fabric in upholstery?
20-40% is the industry standard markup range for upholstery fabric. Use 30-40% for stock fabrics from your regular suppliers and 25-30% for special-order fabrics where handling time is higher. For COM fabric (client-supplied), charge a COM surcharge of $15-30 per yard to cover the handling, uncertainty, and waste risk of working with fabric you didn't source. Never pass fabric through at cost, the sourcing, ordering, and management work has real value that should be priced accordingly.
How do I set my labor rate for upholstery?
Calculate your labor rate in three steps: (1) determine your total direct labor cost (target annual income if solo, or total wage cost if you have employees) divided by total billable production hours per year; (2) add overhead per billable hour (total annual overhead divided by total billable hours); (3) divide by (1 minus your target net margin percentage) to arrive at the rate that covers cost and hits your profit target. For a solo shop targeting $80,000 income with $24,000 overhead and 1,440 billable hours per year, the result is approximately $90/hour before the profit margin adjustment.
How do I set an hourly labor rate for my upholstery shop?
Start with your actual cost per hour: divide total monthly overhead (rent, utilities, insurance, supplies, equipment) by your billable hours per month, then add your target wage per hour. Apply a profit margin of 20-35% on top of that base. Most residential upholstery shops in 2025 bill $65-120/hour depending on location and specialization. Urban markets and shops specializing in antiques or premium leather command the higher end of that range.
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.