Upholstery Shop Bookkeeping: Income Expense and Fabric Cost Tracking
Shops that track actual margin per job identify which job types lose money within 30 days, most never know. The difference isn't intelligence or business skill, it's information. A shop that doesn't track job-level costs doesn't know whether their wing chair jobs are profitable at their current pricing, or whether pattern repeat fabric jobs are eating the margin that standard fabric jobs produce. A shop that does track job costs can see that in a month.
This guide covers simple bookkeeping for an upholstery shop, practical enough to implement without an accounting background, complete enough to give you the information you need to run profitably.
TL;DR
- A successful upholstery business requires documented systems for quoting, job tracking, fabric management, and client communication.
- Labor rate should cover overhead, materials, and a profit margin of 20-35%; most residential shops bill $65-120/hour depending on location.
- Shops that track their numbers (jobs per week, average ticket, fabric waste rate) make better decisions than those relying on intuition alone.
- Business growth in upholstery comes primarily through referral quality, not marketing volume: do excellent work and document it with photos.
- Hiring additional upholsterers requires documented training procedures and quality controls to maintain consistent output.
- Purpose-built shop software pays for itself through reduced fabric errors and faster quoting within the first quarter of use.
The Three Categories Every Upholstery Shop Tracks
1. Income: Money coming in from client jobs. By job, by period.
2. Direct costs: Costs tied to specific jobs, fabric, foam, supplies, and direct labor if you have employees.
3. Overhead (indirect costs): Fixed costs that happen regardless of job volume, rent, insurance, utilities, software subscriptions, equipment payments, marketing.
The relationship between these: Income − Direct Costs = Gross Profit. Gross Profit − Overhead = Net Profit (or Net Income for a solo owner).
The Job Cost Card
The job cost card is the most useful bookkeeping tool for an upholstery shop. For each job, record:
| Item | Amount |
|---|---|
| Job number | J-0487 |
| Client name | [Name] |
| Job description | Lawson sofa, 3-cushion |
| Invoice total (revenue) | $1,585 |
| Fabric cost | $182 (18 yards × $14/yard at vendor) |
| Foam cost | $45 |
| Supplies (welt, cambric, etc.) | $38 |
| Total direct material cost | $265 |
| Labor hours | 13 |
| Gross profit | $1,320 (revenue − materials) |
| Gross margin % | 83% (gross profit ÷ revenue) |
This looks high, and it is if you treat it as net margin. Gross margin in upholstery includes your labor value and overhead contribution. Your labor and overhead come out of this number. The remaining true profit is net margin.
More useful version with labor included:
| Item | Amount |
|---|---|
| Revenue | $1,585 |
| Fabric | $182 |
| Foam | $45 |
| Supplies | $38 |
| Labor cost (13 hrs × $55/hr direct labor cost) | $715 |
| Total direct costs | $980 |
| Contribution to overhead and profit | $605 |
| Contribution margin % | 38% |
The 38% contribution margin means this job covers 38% of the overhead and profit after direct costs. Add enough of these jobs together and you cover your fixed overhead, with what remains as profit.
Monthly Income Tracking
Keep a simple monthly log of every job invoiced:
| Date | Job # | Client | Description | Invoice Amount | Deposit | Balance | Paid? |
|---|---|---|---|---|---|---|---|
| 1/5 | J-0481 | Smith | Wing chair | $780 | $234 | $546 | 1/18 |
| 1/7 | J-0482 | Johnson | Dining set (6) | $540 | $162 | $378 | 1/22 |
At month end, sum the Invoice Amount column for your monthly revenue. Sum the Paid? dates to verify all balances have been collected.
What this tells you:
- Monthly revenue total
- Outstanding balances (jobs completed but balance not yet collected)
- Revenue by job type (if you categorize)
Monthly Expense Tracking
Track all expenses in categories:
Direct costs (by job when possible):
- Fabric (linked to specific job)
- Foam and batting
- Other supplies (welt cord, cambric, thread, staples)
Overhead (monthly totals):
- Rent
- Utilities (electricity, heat, internet)
- Insurance (GL, inland marine, commercial auto)
- Equipment maintenance
- Software subscriptions (StitchDesk, QuickBooks, etc.)
- Phone
- Marketing (website hosting, ads)
- Vehicle (business use portion of gas and maintenance)
How to track: A simple spreadsheet with a row per expense, columns for date, vendor, category, and amount. Total each category monthly.
For a shop doing $100K+ annually, accounting software (QuickBooks, FreshBooks) automates much of this by connecting to your bank and categorizing transactions. At lower volumes, a spreadsheet is adequate and costs nothing.
Tracking Fabric Costs Per Job
Fabric is typically your largest direct cost. Tracking it per job tells you two things: whether your fabric markup is generating the margin you intended, and whether your yardage estimates are accurate.
Fabric cost tracking format:
| Job # | Client | Fabric Name | Vendor | Yards Ordered | Vendor Cost/Yd | Total Fabric Cost | Fabric Charged to Client | Fabric Margin |
|---|---|---|---|---|---|---|---|---|
| J-0487 | [Name] | Sunbrella Linen | ABC Fabric | 18 | $14 | $252 | $328 | $76 |
The Fabric Margin column shows whether you're actually achieving your target markup. If your target is 30% and the margin column shows $53 on $181 cost (29%), you're close. If it shows $15 on $181 cost (8%), something is wrong, either the markup wasn't applied or the client negotiated the fabric price down.
After 20 jobs of fabric tracking, you'll see:
- Whether your markup is being applied consistently
- Which job types generate the most fabric margin
- Whether any job types are consistently generating fabric losses (this usually means pattern repeat is eating the margin)
Tax Considerations for Upholstery Shops
This guide covers basic bookkeeping, not tax advice, consult a tax professional for your specific situation. That said, common categories upholstery shop owners track for tax purposes:
Deductible business expenses (common for upholstery):
- Shop supplies (staples, foam, thread, batting, cambric)
- Fabric and materials (the cost of goods sold)
- Tools and equipment (may be deductible in the year of purchase or depreciated)
- Shop rent or home office deduction (if working from home)
- Business vehicle mileage (IRS standard mileage rate for business miles)
- Insurance premiums
- Software subscriptions
- Marketing costs
Self-employment tax (solo operators):
As a sole proprietor or LLC owner, you pay self-employment tax (approximately 15.3% on net self-employment income, plus federal income tax). This is often the largest surprise for first-year upholstery business owners. Set aside 25-30% of net income for taxes throughout the year to avoid a large bill in April.
Quarterly estimated taxes:
If your upholstery business is profitable, you're required to pay estimated taxes quarterly. Missing these payments triggers underpayment penalties. A tax professional can help set up the quarterly payment schedule.
Connecting Bookkeeping to Pricing
The most practical use of your bookkeeping data is pricing validation. Monthly, calculate:
Actual gross margin: Total revenue − Total direct costs (fabric, foam, supplies) ÷ Total revenue
Compare to target (45-55% for a typical residential shop). If actual gross margin is consistently below target, review which job types are dragging it down.
Actual contribution margin: Total revenue − Total direct costs − Total direct labor cost ÷ Total revenue
Compare to overhead: Actual contribution margin × annual revenue should exceed annual overhead. If it doesn't, you're not covering your fixed costs with current pricing and volume.
Job type profitability: Compare contribution margin per job type (sofas, chairs, dining sets, commercial). Which job types are most profitable per hour? Focus marketing on those. Which are least profitable? Consider whether pricing adjustments are needed.
For the profit margin benchmarks you're comparing against, the upholstery shop profit margins guide covers gross and net margin targets by shop type. For the management platform that integrates job cost tracking with quotes and job records, see the upholstery shop management guide.
Frequently Asked Questions
How do I do bookkeeping for my upholstery shop?
Track three categories: income (invoices issued and payment dates per job), direct costs (fabric, foam, and supplies by job), and overhead (fixed monthly costs like rent, insurance, and software). Keep a job cost card for each job that records revenue, direct costs, and the margin result. Reconcile monthly by summing job revenue against total expenses. At under $100K annual revenue, a Google Sheets setup handles this adequately. Above $100K, accounting software (QuickBooks, FreshBooks) saves time through bank account integration and automatic categorization.
How do I track fabric costs per job?
Create a fabric log that records job number, client name, fabric vendor, yards ordered, cost per yard, total fabric cost, and what you charged the client for fabric. The difference between total fabric cost and client fabric charge is your fabric margin. After 20 jobs, check whether your fabric margin percentage matches your target markup. If actual margin is consistently below target, investigate whether the markup is being applied correctly on every job. The most common cause of fabric margin shortfalls is pattern repeat fabric being ordered at the actual yardage needed (higher than the quoted yardage) without client reimbursement.
What expenses do I need to track for an upholstery business?
Direct costs: fabric (the largest and most variable), foam and batting, welt cord and cambric, thread and staples, and other job-specific supplies. Overhead: shop rent or home office allocation, utilities, general liability and inland marine insurance, commercial vehicle costs (mileage or lease), equipment maintenance and replacement, software subscriptions (shop management, accounting), phone, and marketing costs. Tax-deductible expenses include all of the above plus equipment purchases and business travel. Keep receipts for all business expenses and categorize them consistently so your tax professional can use the records without reconstruction at tax time.
What is a realistic profit margin for an upholstery shop?
Well-managed residential upholstery shops target net profit margins of 15-25% after all expenses. Shops doing commercial work at scale can achieve 20-30% with efficient operations. The biggest variables are labor efficiency, fabric waste rate, and overhead control. Shops that track job cost against estimate consistently find the specific job types and fabric categories where their margin is strongest and can price and prioritize accordingly.
When should an upholstery shop hire additional help?
The right time to hire is when you are consistently turning away work due to capacity, not when you occasionally feel busy. Track your job backlog over three months: if you regularly have more than 4-6 weeks of backlog, hiring becomes worth evaluating. Before hiring, document your workflow carefully enough that someone new can be trained to it. Hiring without documented processes creates inconsistent quality and frustrated employees.
Sources
- National Upholstery Association
- Association of Master Upholsterers and Soft Furnishers (AMUSF)
- Furniture Today (trade publication)
- Upholstered Furniture Action Council (UFAC)
Get Started with StitchDesk
Running a profitable upholstery business means getting the operational details right, from quoting accuracy to fabric tracking to client communication. StitchDesk gives upholstery shops purpose-built tools for all of these without the overhead of paper systems or generic software. Start a free trial and see how StitchDesk supports your business goals.