For upholstery shops
Materials and labor costing for upholstery shops
Yardage is the whole game and yardage is not obvious. Pattern repeat, railroading, and the number of cushions change the number before you cut anything. Quote the yardage wrong and the job is underwater before the first staple.
In practice
Quote it by saying it
Every operation in the app is a tool the chat can call, so a upholstery shop can price work by describing it — with your materials and your rates doing the arithmetic.
Called 5 tools
estimate_yardage(piece: "3-cushion sofa", repeat_in: 27)flag_com(customer_supplied: true)add_material("foam, dacron, webbing")apply_labor(strip: 3.0, rebuild: 8.5)price_quote(margin: 0.35)
Every number here came from your costing engine. The model picked the tools and filled in the arguments — it never does the arithmetic.
What makes costing hard in a upholstery shop
- Yardage that depends on pattern repeat and railroading, not just piece size
- Customer's own material (COM) that carries labor but no material cost
- Foam, batting and webbing priced by very different units
- Frame repair discovered after the piece is already stripped
Typical materials
- Fabric and leather, by the yard and by the hide
- Foam, batting and dacron
- Webbing, springs and frame stock
- Thread, staples and trim
Costed in
yards, hides, hours
A formula might look like
(yards × $/yd × repeat factor) + foam + (labor hours × shop rate)
What it does
Built to handle exactly this
The same four pieces, set up around how a upholstery shop actually works.
Materials with your attributes
Define the fields your upholstery shop tracks, not a generic SKU with a quantity. Fabric and leather, by the yard and by the hide sits alongside everything else you buy.
Purchase units to usage units
Set the conversion and the waste factor once. Quote in yards, hides, hours without redoing the arithmetic every time.
Your real labor rates
Separate rates per operation, so the expensive steps carry their own cost instead of hiding inside an average.
Your pricing formula
Minimums, quantity breaks and margin, applied the same way on every quote regardless of who wrote it.
Reprice when costs move
Change one material price and see every affected quote immediately — before a customer finds it for you.
A defensible breakdown
Show materials, labor and overhead separately when someone asks why the number is what it is.
Early access
Get in early as a upholstery shop
Set up your materials and rates once, and quote the way a upholstery shop actually works — by clicking or by asking.
- Founding accounts lock their price for life
- No card, no trial clock, no sales call
- Import your existing parts list to start
Know what the job costs before you quote it
Built around how a upholstery shop actually prices work.
Founding accounts lock their price for life. No card required.