Upholstery Fabric Cost Calculator: What Fabric Costs Per Job
Shops that quote fabric at cost without markup leave 15 to 25% of fabric revenue on the table on every job. Fabric markup isn't optional. It covers the cost of handling, sourcing, ordering errors, and the capital tied up in your inventory. Treating fabric as a pass-through item at cost is one of the most common ways upholstery shops undercharge without realizing it.
The StitchDesk fabric cost calculator takes yardage and price per yard as inputs and automatically adds your fabric markup percentage to produce the client-facing fabric line item. You enter cost; the client sees the marked-up price. The markup is built into every estimate without you doing the math manually each time.
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.
The Basic Calculation
Fabric cost for a job has two variables: how much fabric you need (yardage), and what you paid for it (cost per yard).
Total fabric cost (at your cost) = Yardage × Price per yard
Quoted fabric line item = Total fabric cost × (1 + Markup %)
For example: 12 yards of fabric at $22 per yard equals $264 in fabric cost. At a 75% markup, the client-facing fabric line is $462. The markup captures $198 that goes toward your margin rather than flowing out as a direct cost.
The calculator handles this automatically once you've set your standard markup percentage in your shop profile.
What Markup to Apply
The standard markup on upholstery fabric in the trade runs from 50% to 100% above wholesale cost, depending on the fabric tier and your market. The markup on fabric guide covers the reasoning in detail, but here's the practical framework:
Entry-level fabric (under $15/yard wholesale): Apply 75 to 100% markup. These fabrics are often purchased in larger quantities and the handling cost per yard is higher relative to fabric price.
Mid-grade fabric ($15 to $40/yard wholesale): Apply 50 to 75% markup. The standard working range for most residential upholstery fabric.
Premium fabric (over $40/yard wholesale): Apply 40 to 60% markup. Higher-cost fabrics are often sourced specifically for a job, reducing inventory carrying cost. COM (customer's own material) has no material cost but should still carry a handling fee.
Pattern fabric: Apply an additional 10 to 15% above your standard markup for the extra yardage required by pattern repeat. This is separate from the pattern repeat yardage buffer. It's a premium on the time to plan and cut matching.
COM Fabric Handling
Customer's Own Material (COM) means the client provides their own fabric. This removes the material cost from your quote but doesn't remove the work of receiving, inspecting, cutting, and potentially storing the fabric. Most shops charge a COM handling fee of $50 to $150 per job, depending on yardage.
The fabric cost calculator handles COM by zeroing the material line and adding the handling fee. The estimate still shows a fabric-related line item, which helps the client understand what's included.
Calculating Yardage First
Before you can calculate fabric cost, you need accurate yardage. The most common pricing error isn't markup. It's underestimating yardage and then quoting fabric cost on a number that's too low.
The general yardage rules by piece:
- Dining chair (seat and back): 1 to 1.5 yards
- Accent chair (full): 5 to 7 yards (add 20% for pattern)
- Sofa (three-cushion): 14 to 18 yards (add 20 to 25% for pattern)
- Loveseat: 10 to 13 yards
- Sectional (L-shape): 20 to 30 yards depending on configuration
For pattern fabric, add the equivalent of one full pattern repeat per cut. Typically adding 15 to 30% to the flat yardage, depending on repeat size.
For precise calculations, use the dedicated fabric yardage calculator before entering numbers into the cost calculator. An accurate yardage number is the foundation of an accurate fabric cost line.
Tracking Fabric Cost in Your Job Records
Every job in StitchDesk tracks the fabric used: which fabric, how many yards, the cost per yard, and the markup applied. This creates a record you can use for two things: verifying actual vs. estimated fabric use over time (which improves future estimates), and building a cost history for common jobs.
After 20 or 30 three-cushion sofa jobs, the fabric cost history tells you exactly what you typically use. Not in theory, but in practice. That data is worth more than any generic yardage guide because it accounts for your actual cutting patterns and waste rates.
Frequently Asked Questions
How do I calculate fabric cost for an upholstery job?
Multiply the yardage by your cost per yard to get your total material cost. Then multiply by your markup factor (e.g., 1.75 for a 75% markup) to get the client-facing fabric line item. For example: 12 yards at $25/yard = $300 cost. At 1.75× markup, the client pays $525 for fabric. Make sure the yardage number is accurate before running this calculation. Underestimating yardage and then applying markup to a low base produces a fabric price that doesn't cover your actual material cost when you order the right amount.
What markup should I add to fabric in upholstery quotes?
The standard trade range is 50 to 100% above wholesale cost. For most residential upholstery fabric in the $15 to $40 per yard wholesale range, a 50 to 75% markup is typical and defensible. Higher markups are appropriate for entry-level fabric where handling cost is proportionally higher. The markup covers not just profit but handling, sourcing time, the risk of ordering errors, and any inventory you carry. Don't treat fabric as a pass-through at cost. That model leaves 15 to 25% of potential fabric revenue uncaptured on every job.
How do I include fabric cost in an upholstery estimate?
Show fabric as a separate line item in the estimate: fabric (yardage × price per yard at your quoted price). This gives the client visibility into what they're paying for fabric vs. labor, which is useful for two reasons. It explains price differences when fabric changes, and it makes the estimate look professional and transparent. In StitchDesk, the fabric line is calculated automatically from your yardage input and your shop's markup setting, so you don't need to do the markup math manually when building each estimate.
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.