Worked Numbers

How Much Should I Charge for Upholstery? A Worked Chair Price

October 26, 2026 · Pricing a service business

To work out how much to charge for upholstery, price the job from what it takes: the yards of fabric you buy for it, the foam and supplies each piece uses, the bench hours you spend stripping, rebuilding, sewing and fitting, costed at the floor rate your year needs, plus pickup and delivery, with a margin on the work. In the illustrative job below, a pair of wingback chairs with loose seat cushions, the work costs $2,160.37, a 20% margin makes it $2,700.46, and with fabric and delivery the job prices at $3,762.07, or $1,881.04 a chair.

None of these figures are market prices or a yardage chart. Every yard, supply price and task time belongs to one made-up shop and is there to be replaced with your own measure, your own supplier’s prices and your own clock. Nothing here says which fabric, foam or method suits a piece.

The upholstery price formula

hourly floor   = (income / (1 - tax share) + shop costs)
                 / paid bench hours a year
fabric         = yards to buy x price per yard + freight, then your markup
supplies       = foam + batting + webbing + welt + dust cover + sundries
bench hours    = sum of task times, less any saving on repeat pieces
work price     = (supplies + bench hours x floor) / (1 - margin)
job price      = work price + fabric as charged + pickup and delivery

Step 1: your hourly floor

The example shop wants $48,000 a year kept after a 25% tax set-aside and carries $14,000 of shop costs. It books 32 hours a week at the bench on customers’ pieces for 48 weeks, and slow weeks and waiting on fabric take 10% of those hours, leaving 1,382.4 paid bench hours. The year needs $78,000.00 of revenue, so the floor is $56.42 per paid bench hour. Forget the lost hours and you would set it at $50.78. With 9 more unpaid hours a week of supplier runs, quotes and sampling fabric with customers, the owner keeps $24.39 per hour actually worked. The alterations pricing post works the same floor for sewing repairs.

Step 2: fabric yards and cost

The shop measures 5.50 yards for the body of each chair and 1.25 for its cushion, 6.75 yards a chair. The fabric has a pattern repeat, so the shop adds 15% for matching. Across 2 chairs that is 15.525 yards, bought to the next quarter yard as 15.75 yards. At $42.00 a yard plus $35.00 freight, the fabric costs $696.50. A 20% markup charges it at $835.80, a $139.30 margin on the fabric.

The yards per piece are yours to measure from the frame, the fabric width and the repeat. A chart number for “a wingback” is a guess about someone else’s chair.

Step 3: foam and supplies

Supply, per chair Cost
Foam $85.00
Batting and wrap $18.00
Webbing, springs, twine $30.00
Welt cord, 40 ft x $0.35 $14.00
Dust cover and decking $12.00
Staples, glue, thread $10.00
Per chair $169.00
For the pair $338.00

Foam is the largest supply line at 50.3% of each chair’s supplies. Supplies go in at cost; the margin goes on the work in step 6.

Step 4: bench hours

The shop’s own timing for this kind of chair, with its records showing a matching second chair going 10% quicker:

Task First chair Second chair
Stripping old cover and padding 2.50 2.25
Frame repair and regluing 1.00 0.90
Springs and webbing 1.50 1.35
Padding and foam 1.50 1.35
Cutting and sewing 4.00 3.60
Fitting, tacking, finishing 4.50 4.05
Cushions 2.00 1.80
Hours 17.00 15.30

The pair is 32.30 bench hours, worth $1,822.37 at the $56.42 floor. Cutting, sewing and cushions are 35% of a chair’s hours; stripping, frame, springs and padding are 38% before any new fabric goes on.

Step 5: pickup and delivery

2 round trips of 24 miles at the shop’s own $0.62 a mile, each taking 0.75 hours of driving and 0.50 of wrapping and carrying, is 2.50 hours per person. The owner’s time goes in at the floor and the helper at $22.00 an hour, so the trips cost $225.81, above the shop’s $60.00 minimum, so the cost itself is charged. These trip hours are kept out of step 1’s unpaid driving because they are charged here.

Step 6: price the upholstery job

Line Amount
Supplies for the pair $338.00
Bench time: 32.30 hours x the $56.42 floor $1,822.37
Work cost $2,160.37
Work at a 20% margin $2,700.46
Fabric, as charged $835.80
Pickup and delivery $225.81
Job price $3,762.07

That is $1,881.04 a chair. The profit over everything at cost is $679.39: the 20% margin on the work plus the 20% fabric markup. A 20% margin is not a 20% markup; the markup vs margin chart converts both ways. A 50% deposit of $1,881.04 covers the fabric and supplies at cost ($1,034.50) before you order them.

The insight: the fabric is not the job

Bench time is 48% of the price; fabric and supplies at cost are 27%. A price built from “yards times something” follows the smaller number. And within the bench time, sewing is only 35% of each chair. The teardown and rebuild, 38% of the hours, happens before the customer’s new fabric is even cut, and it is the part a customer cannot see on a fabric swatch. Price the hours you spend under the cover, not just the cover.

When the customer brings the fabric

If the customer supplies their own fabric, you give up the $139.30 fabric margin, and checking yardage and inspecting for flaws costs the example shop 1 extra hour, $56.42 at the floor. A 5% surcharge on the $2,700.46 work brings in $135.02, so the job prices at $3,061.29, and the shop is $60.70 worse off than supplying the fabric. The surcharge that earns the same is 7.2%. Whether to charge it is your call; the arithmetic only shows what a lower one costs.

Did the job pay?

After delivery, check the actuals. Say the pair sold at $3,762.07, the owner spent 36 hours in all against 34.80 planned for bench and trips, fabric came to $702.00, supplies $351.00, the helper $55.00, other costs $85.00, and a 3% card fee took $112.86. That leaves $2,456.21, or $68.23 per hour of the owner’s time, above the $56.42 floor even with the overrun. If it falls below, the hours you guessed short show which kind of piece needs a higher price. The handyman rates post runs the same check on trade work.

How these were calculated

The floor is (income / (1 - tax share) + shop costs) / (bench hours booked a week x (1 - share lost) x weeks). Fabric needed is pieces x yards per piece x (1 + matching allowance), rounded up to the quarter yard; cost is yards x price + freight, charged at cost x (1 + markup). Supplies are summed per piece and multiplied by the pieces. Bench hours are the first piece’s task times plus each repeat piece at (1 - saving). Trips cost miles x cost per mile plus hours x (floor + helper rate), or the minimum if higher. The work price is (supplies + bench hours x floor) / (1 - margin); fabric as charged and delivery are added after. Figures are carried from step to step as the spreadsheet shows them, to the cent. Every figure was computed twice, once by the code behind the product below and once by an independent program that adds fabric a quarter yard at a time and sums each chair task by task, and the two agree. All inputs are illustrative, not measured rates or market prices. None of this is financial, legal or tax advice.

To run this on your own pieces, supplier prices and year, the pack below has eight linked calculators, from the hourly floor to the after-job check.