{"product_id":"furniture-upholstery-owner-makes","title":"How Much Can a Furniture Upholstery Business Owner Make? $80K Plan","description":"\u003cbr\u003e\u003cdiv class=\"card_smpl\"\u003e\n\n\u003cdiv class=\"double_border\"\u003e\n\n\u003cdiv class=\"card_smpl_header\"\u003e\n\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-plus-icon.svg\" alt=\"Key Takeaways\" class=\"icon_how_to_use\"\u003e\n\n\u003ch3\u003eKey Takeaways\u003c\/h3\u003e\n\n\u003c\/div\u003e\n\n\u003cul class=\"lst_crct_blog\"\u003e\n\n\u003cli\u003eMore completed jobs, not leads, drive owner income.\u003c\/li\u003e\n\n\u003cli\u003ePricing must cover labor hours and complexity.\u003c\/li\u003e\n\n\u003cli\u003ePayroll and rework can erase profitable sales.\u003c\/li\u003e\n\n\u003cli\u003eCapacity and service mix beat a broad menu.\u003c\/li\u003e\n\n\u003c\/ul\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003csection class=\"fml-owner-metric-cards\" aria-label=\"Top Owner Income KPI Cards\"\u003e\u003cdiv class=\"metric-grid\"\u003e\n\u003carticle class=\"metric-card is-green\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 5 model: $80k salary; up to $404k pre-tax if all mature profit is paid out. Early years need cash support.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-owner-income.svg\" alt=\"Owner income icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eOwner income\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"Year 5 model: $80k salary; up to $404k pre-tax if all mature profit is paid out. Early years need cash support.\"\u003e$80k-$404k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 5 uses about $879k revenue and $324k operating profit after owner salary and recurring costs; taxes and debt are below this.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-net-margin.svg\" alt=\"Net margin icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eNet margin\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"Year 5 uses about $879k revenue and $324k operating profit after owner salary and recurring costs; taxes and debt are below this.\"\u003e37%\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 5 revenue needed to cover the planned $80k owner salary at about a 37% operating margin; pricing mix may shift it.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-revenue-target.svg\" alt=\"Revenue for target pay icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eRevenue for target pay\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"Year 5 revenue needed to cover the planned $80k owner salary at about a 37% operating margin; pricing mix may shift it.\"\u003e$217k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Hard because Month 2 minimum cash is $825k, break-even takes 6 months, and payback is 15 months; early years need cash support.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-business-difficulty.svg\" alt=\"Business difficulty icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eBusiness difficulty\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"Hard because Month 2 minimum cash is $825k, break-even takes 6 months, and payback is 15 months; early years need cash support.\"\u003eHard\u003c\/strong\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWant to test your upholstery owner pay?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-owner-calculator\" aria-label=\"Owner Income Calculator\" data-locale=\"en-US\" data-currency=\"USD\" data-default-scenario=\"base\" data-export-filename=\"Owner Income Calculator.xlsx\" data-source-site-name=\"Financial Models Lab\" data-source-site-url=\"https:\/\/financialmodelslab.com\" data-source-page-title=\"Owner Income Calculator\" data-note-title=\"Planning note:\" data-note-text=\"Research-based planning estimate only. It is not guaranteed salary, tax advice, or owner distribution advice.\"\u003e\u003cdiv class=\"fml-owner-card\"\u003e\n\u003cheader class=\"fml-owner-header\"\u003e\u003cdiv class=\"fml-owner-heading\"\u003e\n\u003cp class=\"fml-owner-eyebrow\"\u003eOwner income calculator\u003c\/p\u003e\n\u003cp class=\"fml-owner-intro\"\u003eEstimate owner take-home and the target-pay gap from revenue, margin, costs, reserves, and target pay.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-scenarios\" aria-label=\"Income scenario presets\"\u003e\n\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"low\"\u003eLow\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario is-active\" type=\"button\" data-scenario=\"base\"\u003eBase\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"high\"\u003eHigh\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"fml-owner-layout\"\u003e\n\u003cform class=\"fml-owner-inputs\"\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eMonthly revenue\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly sales collected before expenses. Use the average operating month, not a one-time peak month.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly sales collected before expenses. Use the average operating month, not a one-time peak month.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"monthlyRevenue\" data-owner-kind=\"money\" data-owner-label=\"Monthly revenue\" data-owner-note=\"Monthly sales collected before expenses. Use the average operating month, not a one-time peak month.\" data-low=\"25000\" data-base=\"35000\" data-high=\"50000\" name=\"monthlyRevenue\" type=\"text\" inputmode=\"numeric\" value=\"35,000\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eGross margin\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of revenue left after direct materials and hardware costs.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of revenue left after direct materials and hardware costs.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"grossMargin\" data-owner-kind=\"percent\" data-owner-label=\"Gross margin\" data-owner-note=\"Percent of revenue left after direct materials and hardware costs.\" name=\"grossMargin\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" data-low=\"78\" data-base=\"82\" data-high=\"84\" value=\"82\"\u003e\u003coutput\u003e82%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eLabor cost\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly payroll and staffing coverage before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly payroll and staffing coverage before owner pay.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"laborCost\" data-owner-kind=\"money\" data-owner-label=\"Labor cost\" data-owner-note=\"Monthly payroll and staffing coverage before owner pay.\" data-low=\"12500\" data-base=\"14500\" data-high=\"19000\" name=\"laborCost\" type=\"text\" inputmode=\"numeric\" value=\"14,500\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eFixed overhead\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Rent, utilities, insurance, software, admin, and recurring overhead.\"\u003ei\u003cspan role=\"tooltip\"\u003eRent, utilities, insurance, software, admin, and recurring overhead.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"fixedOverhead\" data-owner-kind=\"money\" data-owner-label=\"Fixed overhead\" data-owner-note=\"Rent, utilities, insurance, software, admin, and recurring overhead.\" data-low=\"4650\" data-base=\"4650\" data-high=\"4650\" name=\"fixedOverhead\" type=\"text\" inputmode=\"numeric\" value=\"4,650\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eMarketing\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly marketing and customer acquisition spend needed to sustain demand.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly marketing and customer acquisition spend needed to sustain demand.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"marketing\" data-owner-kind=\"money\" data-owner-label=\"Marketing\" data-owner-note=\"Monthly marketing and customer acquisition spend needed to sustain demand.\" data-low=\"800\" data-base=\"1000\" data-high=\"1500\" name=\"marketing\" type=\"text\" inputmode=\"numeric\" value=\"1,000\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eDebt service\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly loan, financing, or required debt-service payments.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly loan, financing, or required debt-service payments.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"debtService\" data-owner-kind=\"money\" data-owner-label=\"Debt service\" data-owner-note=\"Monthly loan, financing, or required debt-service payments.\" data-low=\"0\" data-base=\"0\" data-high=\"0\" name=\"debtService\" type=\"text\" inputmode=\"numeric\" value=\"\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eTax reserve\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of profit reserved for taxes before calculating owner take-home.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit reserved for taxes before calculating owner take-home.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"taxReserve\" data-owner-kind=\"percent\" data-owner-label=\"Tax reserve\" data-owner-note=\"Percent of profit reserved for taxes before calculating owner take-home.\" name=\"taxReserve\" type=\"range\" min=\"0\" max=\"45\" step=\"1\" data-low=\"18\" data-base=\"24\" data-high=\"28\" value=\"24\"\u003e\u003coutput\u003e24%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eReinvestment reserve\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of profit retained for repairs, growth, working capital, and risk buffer.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit retained for repairs, growth, working capital, and risk buffer.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"reinvestmentReserve\" data-owner-kind=\"percent\" data-owner-label=\"Reinvestment reserve\" data-owner-note=\"Percent of profit retained for repairs, growth, working capital, and risk buffer.\" name=\"reinvestmentReserve\" type=\"range\" min=\"0\" max=\"35\" step=\"1\" data-low=\"5\" data-base=\"10\" data-high=\"14\" value=\"10\"\u003e\u003coutput\u003e10%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eTarget owner pay\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Target monthly owner income used to calculate required revenue and target-pay gap.\"\u003ei\u003cspan role=\"tooltip\"\u003eTarget monthly owner income used to calculate required revenue and target-pay gap.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"targetOwnerPay\" data-owner-kind=\"money\" data-owner-label=\"Target owner pay\" data-owner-note=\"Target monthly owner income used to calculate required revenue and target-pay gap.\" data-low=\"5000\" data-base=\"6667\" data-high=\"9000\" name=\"targetOwnerPay\" type=\"text\" inputmode=\"numeric\" value=\"6,667\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/form\u003e\n\u003caside class=\"fml-owner-results\" aria-live=\"polite\"\u003e\u003cspan class=\"fml-owner-tag\"\u003eOwner income output\u003c\/span\u003e\u003cdiv class=\"fml-owner-metrics\"\u003e\n\u003cdiv class=\"fml-owner-metric is-primary\"\u003e\n\u003cspan class=\"fml-owner-metric-label\"\u003eOwner Income\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly take-home after tax and reinvestment reserves.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly take-home after tax and reinvestment reserves.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cstrong data-owner-output=\"monthlyOwnerIncome\"\u003e$5,643\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-metric\"\u003e\n\u003cspan class=\"fml-owner-metric-label\"\u003eNet Margin\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Owner income divided by monthly revenue.\"\u003ei\u003cspan role=\"tooltip\"\u003eOwner income divided by monthly revenue.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cstrong data-owner-output=\"netProfitMargin\"\u003e16%\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-metric\"\u003e\n\u003cspan class=\"fml-owner-metric-label\"\u003eRevenue for Target Pay\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly revenue needed to support the target owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly revenue needed to support the target owner pay.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cstrong data-owner-output=\"revenueNeeded\"\u003e$36,892\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-metric is-target-gap is-negative\"\u003e\n\u003cspan class=\"fml-owner-metric-label\"\u003eTarget Pay Gap\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Owner income minus target owner pay. Negative means the target pay is not covered.\"\u003ei\u003cspan role=\"tooltip\"\u003eOwner income minus target owner pay. Negative means the target pay is not covered.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cstrong data-owner-output=\"targetPayGap\"\u003e$-1,024\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdl class=\"fml-owner-result-list\"\u003e\n\u003cdiv\u003e\n\u003cdt\u003eAnnual owner income\u003c\/dt\u003e\n\u003cdd data-owner-output=\"annualOwnerIncome\"\u003e$67,716\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdt\u003eProfit before reserves\u003c\/dt\u003e\n\u003cdd data-owner-output=\"profitBeforeReserves\"\u003e$8,550\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdt\u003eTax + reinvestment reserve\u003c\/dt\u003e\n\u003cdd data-owner-output=\"reserveAmount\"\u003e$2,907\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdt\u003eTarget pay gap\u003c\/dt\u003e\n\u003cdd data-owner-output=\"cashAfterTargetPay\"\u003e$-1,024\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003c\/dl\u003e\n\u003cdiv class=\"fml-owner-bridge\"\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"revenue\"\u003e\n\u003cspan\u003eRevenue\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 100%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$35,000\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"grossProfit\"\u003e\n\u003cspan\u003eGross profit\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 82%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$28,700\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"operatingCosts\"\u003e\n\u003cspan\u003eOperating costs\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 58%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$20,150\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"reserveAmount\"\u003e\n\u003cspan\u003eReserves\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 8%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$2,907\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"ownerIncome\"\u003e\n\u003cspan\u003eOwner income\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 16%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$5,643\u003c\/b\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"fml-owner-export\" type=\"button\" data-owner-export\u003eEXPORT XLSX\u003c\/button\u003e\u003c\/aside\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-note\"\u003e\n\u003cspan class=\"fml-owner-note-icon\" aria-hidden=\"true\"\u003e!\u003c\/span\u003e\u003cp\u003e\u003cstrong\u003ePlanning note:\u003c\/strong\u003e Research-based planning estimate only. It is not guaranteed salary, tax advice, or owner distribution advice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cbr\u003e\u003cdiv class=\"container_new_design_blog\"\u003e\n\n\u003cdiv class=\"text-section_blog text-2_new_design_blog\"\u003e\n\n\u003cdiv class=\"line_top_blog\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eWant the full Furniture Upholstery financial model?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eThis \u003ca href=\"\/products\/furniture-upholstery-financial-model\"\u003eFurniture Upholstery Financial Model Template\u003c\/a\u003e shows revenue, margins, costs, reserves, and owner pay; open the model.\u003c\/p\u003e\n\n\u003ch4\u003eOwner-income model highlights\u003c\/h4\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$80k\u003c\/strong\u003e owner salary\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$100k\u003c\/strong\u003e Year 1 revenue\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$324k\u003c\/strong\u003e mature profit\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$825k\u003c\/strong\u003e cash need\u003c\/li\u003e\n\u003cli\u003eTests CAC and pricing\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"image-section_blog image-2_new_design_blog\"\u003e\n\n\u003cdiv class=\"preview-card\" data-preview-src=\"\/cdn\/shop\/files\/furniture-upholstery-financial-model-dashboard-financialmodelslab_eb4b2f99-79d9-4ed3-becb-edf1169a06fe.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/furniture-upholstery-financial-model-dashboard-financialmodelslab_eb4b2f99-79d9-4ed3-becb-edf1169a06fe.webp?width=500\" alt=\"Furniture Upholstery Financial Model dashboard summarizing key KPIs, runway and cash position with a dynamic dashboard that highlights performance, investor-ready charts and cash-flow blind spot visibility\"\u003e\n\u003cdiv class=\"preview-overlay\"\u003e\n\u003cbutton class=\"preview-btn\" type=\"button\" style=\"align-items: center; vertical-align: middle; display: inline-flex; justify-content: center; gap: 6px; line-height: 1;\"\u003e\nPREVIEW \u003csvg fill=\"#fff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewbox=\"0 0 448 512\" width=\"14\"\u003e\u003cpath d=\"M416 176V86.63L246.6 256L416 425.4V336c0-8.844 7.156-16 16-16s16 7.156 16 16v128c0 8.844-7.156 16-16 16h-128c-8.844 0-16-7.156-16-16s7.156-16 16-16h89.38L224 278.6L54.63 448H144C152.8 448 160 455.2 160 464S152.8 480 144 480h-128C7.156 480 0 472.8 0 464v-128C0 327.2 7.156 320 16 320S32 327.2 32 336v89.38L201.4 256L32 86.63V176C32 184.8 24.84 192 16 192S0 184.8 0 176v-128C0 39.16 7.156 32 16 32h128C152.8 32 160 39.16 160 48S152.8 64 144 64H54.63L224 233.4L393.4 64H304C295.2 64 288 56.84 288 48S295.2 32 304 32h128C440.8 32 448 39.16 448 48v128C448 184.8 440.8 192 432 192S416 184.8 416 176z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow does solo versus staffed upholstery work change owner income?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003e\u003cstrong\u003eSolo\u003c\/strong\u003e upholstery work keeps payroll lower, but it hits a hard production ceiling fast. In \u003cstrong\u003eFurniture Upholstery\u003c\/strong\u003e, the staffed model starts with one owner\/operator, one lead upholsterer, one workshop manager, half-time admin, and half-time delivery staff, so \u003cstrong\u003eYear 1 payroll is $254k\u003c\/strong\u003e before the business even scales. \u003cstrong\u003eHiring\u003c\/strong\u003e can lift revenue capacity to about \u003cstrong\u003e$105m\u003c\/strong\u003e in the mature year, but only if labor hours, scheduling, rework, and quality control stay tight.\u003c\/p\u003e\n\u003cdiv class=\"container_2_clmn_row\"\u003e\n\u003cdiv class=\"card_smpl\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-intro-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003e\u003cstrong\u003eSolo model\u003c\/strong\u003e\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eLower payroll\u003c\/strong\u003e at the start\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOwner labor\u003c\/strong\u003e becomes the ceiling\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFewer hands\u003c\/strong\u003e slow job throughput\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLess scaling\u003c\/strong\u003e means less income growth\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card_smpl blue_card\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-colons-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003e\u003cstrong\u003eStaffed model\u003c\/strong\u003e\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$254k\u003c\/strong\u003e Year 1 payroll base\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMore labor\u003c\/strong\u003e lifts revenue capacity\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eQuality control\u003c\/strong\u003e protects margin\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMissed hours\u003c\/strong\u003e can erase gains\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow much revenue does an upholstery business need for owner pay?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eIf \u003cstrong\u003eFurniture Upholstery\u003c\/strong\u003e is paying the owner \u003cstrong\u003e$80k\u003c\/strong\u003e, carrying \u003cstrong\u003e$558k\u003c\/strong\u003e of fixed overhead, and about \u003cstrong\u003e$174k\u003c\/strong\u003e of Year 1 non-owner payroll, revenue has to get to about \u003cstrong\u003e$3.098m\u003c\/strong\u003e before materials and other variable costs. With a \u003cstrong\u003e73%\u003c\/strong\u003e Year 1 contribution rate, the model’s break-even line before owner profit is roughly \u003cstrong\u003e$424k\u003c\/strong\u003e; taxes, debt service, equipment replacement, and reserves push the mature-year target higher, to about \u003cstrong\u003e$105m\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"container_2_clmn_row\"\u003e\n\u003cdiv class=\"card_smpl\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-intro-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eYear 1 cost load\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$80k\u003c\/strong\u003e owner pay\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$558k\u003c\/strong\u003e fixed overhead\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$174k\u003c\/strong\u003e non-owner payroll\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$3.098m\u003c\/strong\u003e revenue floor\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card_smpl blue_card\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-colons-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eWhat still moves the goal\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e73%\u003c\/strong\u003e contribution rate\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$424k\u003c\/strong\u003e break-even before owner profit\u003c\/li\u003e\n\u003cli\u003eTaxes and debt service add pressure\u003c\/li\u003e\n\u003cli\u003eReserves raise mature-year revenue needs\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow do materials, labor, and pricing affect furniture upholstery profit margin?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003e\u003cstrong\u003eFurniture Upholstery\u003c\/strong\u003e profit margins move fast because \u003cstrong\u003eskilled labor\u003c\/strong\u003e and materials both swing hard by job type: in year 1, materials are \u003cstrong\u003e15%\u003c\/strong\u003e of revenue and hardware is \u003cstrong\u003e3%\u003c\/strong\u003e, then they ease to \u003cstrong\u003e13%\u003c\/strong\u003e and \u003cstrong\u003e2%\u003c\/strong\u003e in the mature year. Residential work starts at \u003cstrong\u003e15 hours × $75 = $1,125\u003c\/strong\u003e per job, while commercial starts at \u003cstrong\u003e40 hours × $85 = $3,400\u003c\/strong\u003e, so pricing must match hours, fabric handling, rework risk, pickup costs, and markup policy; for startup cost context, see \u003ca href=\"\/blogs\/startup-costs\/furniture-upholstery\"\u003eWhat Is The Estimated Cost To Open, Start, And Launch Your Furniture Upholstery Business?\u003c\/a\u003e\u003c\/p\u003e\n\u003cdiv class=\"container_2_clmn_row\"\u003e\n\u003cdiv class=\"card_smpl blue_card\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-colons-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eCost mix\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMaterials:\u003c\/strong\u003e 15% of revenue, then 13%\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eHardware:\u003c\/strong\u003e 3%, then 2%\u003c\/li\u003e\n\u003cli\u003eLabor drives the biggest swing\u003c\/li\u003e\n\u003cli\u003eJob type changes the margin fast\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card_smpl\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-intro-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003ePricing check\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eResidential: \u003cstrong\u003e$1,125\u003c\/strong\u003e per job\u003c\/li\u003e\n\u003cli\u003eCommercial: \u003cstrong\u003e$3,400\u003c\/strong\u003e per job\u003c\/li\u003e\n\u003cli\u003eCharge more for rework risk\u003c\/li\u003e\n\u003cli\u003eFold pickup costs into price\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhat drives upholstery owner income most?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-main-income-drivers\" aria-label=\"Accessible label for the Main Income Drivers card grid.\"\u003e\u003carticle class=\"driver-option is-cards\"\u003e\u003cdiv class=\"main-driver-grid\"\u003e\n\u003carticle class=\"main-driver-card is-primary\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e1\u003c\/span\u003e\u003ch4\u003eJob Volume\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e80 cust\u003c\/strong\u003e\u003cp\u003eYear 1 starts with 80 acquired customers, and more jobs spread the $4,650 fixed load and owner salary across more billable work.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e2\u003c\/span\u003e\u003ch4\u003eAvg Ticket\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$325-$3.4K\u003c\/strong\u003e\u003cp\u003eYear 1 tickets run from $325 repair to $3,400 commercial, so higher mix and pricing lift revenue per job and pre-tax cash.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e3\u003c\/span\u003e\u003ch4\u003eLabor Efficiency\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e15-60h\u003c\/strong\u003e\u003cp\u003eTurning each job into more billable hours raises revenue faster than wages, which improves contribution margin and operating profit.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e4\u003c\/span\u003e\u003ch4\u003eMaterial Margin\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e15%-18%\u003c\/strong\u003e\u003cp\u003eMaterials and hardware sit at 18% in Year 1 and ease to 15% by Year 5, so tighter buying keeps more gross profit.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e5\u003c\/span\u003e\u003ch4\u003eOverhead Control\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$4.65K\u003c\/strong\u003e\u003cp\u003eThe $4,650 monthly fixed overhead is the break-even floor, so every cut here falls straight to operating profit and owner take-home.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e6\u003c\/span\u003e\u003ch4\u003eService Mix\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e35% Comm\u003c\/strong\u003e\u003cp\u003eMore commercial work, which rises from 15% to 35%, lifts the average ticket and billable hours, so pre-tax cash improves.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eFurniture Upholstery Core Six Income Drivers\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eJob Volume And Production Capacity\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row1\"\u003e\n    \u003ch3\u003eCompleted Jobs Drive Owner Pay\u003c\/h3\u003e\n    \u003cp\u003eOwner income comes from \u003cstrong\u003efinished upholstery jobs\u003c\/strong\u003e, not leads alone. A \u003cstrong\u003e$12k\u003c\/strong\u003e year-one marketing budget at \u003cstrong\u003e$150 CAC\u003c\/strong\u003e buys about \u003cstrong\u003e80 acquired customers\u003c\/strong\u003e, but profit only shows up when the shop turns those jobs into cash without delays, overtime, or rework.\u003c\/p\u003e\n    \u003cp\u003eBillable time is the choke point: \u003cstrong\u003e15 hours\u003c\/strong\u003e for residential work, \u003cstrong\u003e40 hours\u003c\/strong\u003e for commercial, and \u003cstrong\u003e5 hours\u003c\/strong\u003e for repair. If the shop cannot move pieces through cutting, sewing, padding, frame repair, pickup, delivery, and approvals, more volume just loads the schedule and squeezes take-home pay.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row1\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Completion Rate, Not Just Leads\u003c\/h3\u003e\n      \u003cp\u003eEstimate this driver with \u003cstrong\u003ebooked jobs\u003c\/strong\u003e, \u003cstrong\u003ejob mix\u003c\/strong\u003e, \u003cstrong\u003ebillable hours per job\u003c\/strong\u003e, and \u003cstrong\u003eactual shop capacity\u003c\/strong\u003e. Here’s the quick math: more acquired customers help only if completed work keeps pace with labor and handoff steps.\u003c\/p\u003e\n      \u003cp\u003eTrack \u003cstrong\u003equoted vs. actual hours\u003c\/strong\u003e, late jobs, and rework each week. If approvals or pickup and delivery slow the queue, cash comes in later and owner draw gets pushed out even when sales look strong.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eCount completed jobs weekly.\u003c\/li\u003e\n        \u003cli\u003eMeasure hours by job type.\u003c\/li\u003e\n        \u003cli\u003eWatch overtime and rework.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step1\"\u003e1\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eAverage Ticket Size And Pricing\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row2\"\u003e\n    \u003ch3\u003eAverage Ticket Size and Pricing\u003c\/h3\u003e\n    \u003cp\u003eOwner income moves with the average job ticket because the labor base is mostly fixed. In Year 1, the model uses \u003cstrong\u003e$1,125\u003c\/strong\u003e for residential work, \u003cstrong\u003e$3,400\u003c\/strong\u003e for commercial jobs, and \u003cstrong\u003e$325\u003c\/strong\u003e for repairs, all tied to billable hours and hourly rates. Higher-value work lifts gross profit only when the price covers complexity, fabric handling, pickup, and revisions.\u003c\/p\u003e\n    \u003cp\u003eHere’s the risk: pushing prices up without watching close rate can cut job volume and leave the shop underused. A fuller schedule with lower tickets can still beat empty capacity. For owner pay, the real test is not posted price alone; it’s \u003cstrong\u003eticket × close rate × completed jobs\u003c\/strong\u003e after labor and rework stay in control.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row2\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003ePrice for complexity and track close rate\u003c\/h3\u003e\n      \u003cp\u003eMeasure \u003cstrong\u003eaverage ticket\u003c\/strong\u003e by job type, not as one blended number. Track quote count, close rate, billable hours, revisions, pickup costs, and fabric handling on each residential, commercial, and repair job. That shows whether pricing is covering the work that actually eats time and cash.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack quote-to-close by job type.\u003c\/li\u003e\n        \u003cli\u003ePrice revisions and pickup separately.\u003c\/li\u003e\n        \u003cli\u003eWatch hours versus quoted hours.\u003c\/li\u003e\n        \u003cli\u003eCompare margin by service mix.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eTest price changes in small steps. If higher quotes slow bookings, the calendar can thin out fast, which hurts cash flow and owner draw. The goal is simple: keep \u003cstrong\u003ecommercial and complex jobs\u003c\/strong\u003e priced high enough to pay for the extra time without losing so many jobs that the shop sits idle.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step2\"\u003e2\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eLabor Efficiency And Skilled Production\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row3\"\u003e\n    \u003ch3\u003eLabor Efficiency\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003ePayroll is the biggest squeeze on owner income\u003c\/strong\u003e here: Year 1 labor cost is \u003cstrong\u003e$254k\u003c\/strong\u003e, including \u003cstrong\u003e$80k\u003c\/strong\u003e owner pay, \u003cstrong\u003e$65k\u003c\/strong\u003e for the lead upholsterer, \u003cstrong\u003e$70k\u003c\/strong\u003e for the workshop manager, plus part-time admin and delivery help. If quoted hours run long, a job that should be profitable can turn thin fast, and the extra labor comes straight out of take-home profit.\u003c\/p\u003e\n    \u003cp\u003eThe key input is the gap between \u003cstrong\u003equoted hours and actual hours\u003c\/strong\u003e, plus rework, idle time, subcontract costs, and scheduling gaps. On a \u003cstrong\u003e15-hour\u003c\/strong\u003e residential job, just \u003cstrong\u003e3\u003c\/strong\u003e extra hours is a \u003cstrong\u003e20%\u003c\/strong\u003e labor overrun. Quality still has to hold, because warranty work and callbacks add unpaid hours and cut the cash left for owner draw.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row3\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Hours Like Cash\u003c\/h3\u003e\n      \u003cp\u003eUse a job sheet for every piece. Record estimated hours, actual hours, rework hours, and any subcontracted work, then review them weekly. One clean metric matters most: \u003cstrong\u003eactual hours ÷ quoted hours\u003c\/strong\u003e. If that ratio keeps rising, raise estimates, tighten work steps, or split complex jobs so the shop stops eating margin.\u003c\/p\u003e\n      \u003cp\u003eAlso track idle time and schedule gaps by role. The goal is to keep the \u003cstrong\u003e$254k\u003c\/strong\u003e payroll tied to billable work, not waiting time. Protect quality with clear checklists for framing, padding, sewing, and finish checks, because a small defect can create warranty labor that wipes out the gain from a well-priced job.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eLog quote hours vs actual hours.\u003c\/li\u003e\n        \u003cli\u003eCount rework on every job.\u003c\/li\u003e\n        \u003cli\u003ePrice overtime before it happens.\u003c\/li\u003e\n        \u003cli\u003eCut idle time between stages.\u003c\/li\u003e\n        \u003cli\u003eTrack warranty work separately.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step3\"\u003e3\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eMaterial Cost And Fabric Margin\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row4\"\u003e\n    \u003ch3\u003eMaterial Cost And Fabric Margin\u003c\/h3\u003e\n    \u003cp\u003eWhen the shop supplies fabric, foam, batting, springs, thread, trim, and hardware, those costs hit gross margin fast. In Year 1, \u003cstrong\u003eupholstery materials\u003c\/strong\u003e are \u003cstrong\u003e15%\u003c\/strong\u003e of revenue and \u003cstrong\u003especialized hardware\u003c\/strong\u003e adds \u003cstrong\u003e3%\u003c\/strong\u003e, so direct material spend starts near \u003cstrong\u003e18%\u003c\/strong\u003e. In the mature year, that falls to \u003cstrong\u003e13%\u003c\/strong\u003e and \u003cstrong\u003e2%\u003c\/strong\u003e, or \u003cstrong\u003e15%\u003c\/strong\u003e total. That gap is owner pay.\u003c\/p\u003e\n    \u003cp\u003eIf the customer supplies fabric, the shop keeps more room in the job price, but only if labor and handling are still covered. Custom fabric waste, ordering errors, and unpriced spring work can wipe out the profit on a sofa job. \u003cstrong\u003eMeasure fabric margin job by job.\u003c\/strong\u003e\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row4\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003ePrice the Waste and Hardware\u003c\/h3\u003e\n      \u003cp\u003eTrack actual material cost as a share of each invoice, not just by month. Separate \u003cstrong\u003epass-through items\u003c\/strong\u003e from true margin items, and log fabric yards, foam, springs, trim, and hardware on every ticket. If a job needs extra yardage or spring repair, price it before work starts so the shop does not donate labor or material.\u003c\/p\u003e\n      \u003cp\u003eUse quote templates that show fabric source, waste allowance, and hardware line items. Then compare quoted material cost to actual cost each week. If the shop is moving from \u003cstrong\u003e18%\u003c\/strong\u003e to \u003cstrong\u003e15%\u003c\/strong\u003e of revenue on materials, that 3-point drop flows straight into gross margin and helps fund owner draws.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step4\"\u003e4\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eOverhead And Shop Cost Control\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row5\"\u003e\n    \u003ch3\u003eShop Overhead Control\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eFixed overhead\u003c\/strong\u003e means costs that hit every month whether the shop is busy or slow. In this shop, the listed monthly base is \u003cstrong\u003e$4,650\u003c\/strong\u003e from rent, utilities, insurance, maintenance and software, website and customer relationship management (CRM), admin supplies, professional services, and vehicle lease or depreciation, so weak job flow cuts owner take-home fast.\u003c\/p\u003e\n    \u003cp\u003eHere’s the quick math: if revenue slows, that \u003cstrong\u003e$4,650\u003c\/strong\u003e still leaves cash the door every month. The stated annual overhead benchmark is \u003cstrong\u003e$558k\u003c\/strong\u003e before payroll, so confirm the roll-up and watch the cost per completed job; adding space, vehicles, or software before workload supports it usually lowers owner draw, not raises it.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row5\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Fixed Costs Per Job\u003c\/h3\u003e\n      \u003cp\u003eMeasure fixed overhead as a share of completed jobs, not quoted work. Use \u003cstrong\u003emonthly fixed costs\u003c\/strong\u003e, \u003cstrong\u003efinished jobs\u003c\/strong\u003e, and \u003cstrong\u003eaverage job value to see whether the shop can pay rent and still fund owner income. One simple check: divide \u003cstrong\u003e$4,650\u003c\/strong\u003e by monthly completed jobs.\u003c\/strong\u003e\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eReview rent before renewing space.\u003c\/li\u003e\n        \u003cli\u003eDelay software until it’s used weekly.\u003c\/li\u003e\n        \u003cli\u003eTrack vehicle cost against pickups.\u003c\/li\u003e\n        \u003cli\u003eCut unused subscriptions fast.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eIf overhead rises faster than job count, margin shrinks even when sales look good. Keep the fixed-cost stack tight so more of each upholstery job turns into cash for payroll, tax, and the owner draw.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step5\"\u003e5\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eService Mix And Customer Segment\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row6\"\u003e\n    \u003ch3\u003eService Mix\u003c\/h3\u003e\n    \u003cp\u003eService mix drives owner income because not every job uses the same hours or pays the same. In year 1, the mix is \u003cstrong\u003e60% residential upholstery\u003c\/strong\u003e, \u003cstrong\u003e15% commercial upholstery\u003c\/strong\u003e, \u003cstrong\u003e20% furniture repair\u003c\/strong\u003e, and \u003cstrong\u003e5% design consultation\u003c\/strong\u003e. Commercial work is the highest-ticket line at \u003cstrong\u003e60 hours × $95 = $5,700\u003c\/strong\u003e, while repairs start at just \u003cstrong\u003e$325\u003c\/strong\u003e, so a shift in mix can lift revenue without adding more leads.\u003c\/p\u003e\n    \u003cp\u003eThe key input is billable hours by job type. A 15-hour residential job, a 40-hour commercial job, and a 5-hour repair do not strain the shop the same way. More commercial share can raise cash flow and gross profit, but only if the team can finish work without overtime, rework, or delivery delays. One clean rule: \u003cstrong\u003ecapacity beats variety\u003c\/strong\u003e.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row6\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Hours by Job Type\u003c\/h3\u003e\n      \u003cp\u003eMeasure mix by \u003cstrong\u003erevenue\u003c\/strong\u003e, \u003cstrong\u003ehours\u003c\/strong\u003e, and \u003cstrong\u003emargin\u003c\/strong\u003e, not just by job count. Track quoted hours versus actual hours for each segment, then compare residential, commercial, and repair work by gross profit per hour. That shows which jobs pay the owner best and which ones fill the schedule without enough return.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eSet a target mix by hours.\u003c\/li\u003e\n        \u003cli\u003eProtect commercial lead time.\u003c\/li\u003e\n        \u003cli\u003eUse repairs to fill gaps.\u003c\/li\u003e\n        \u003cli\u003eDrop low-margin custom requests.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eIf commercial share moves from \u003cstrong\u003e15%\u003c\/strong\u003e to \u003cstrong\u003e35%\u003c\/strong\u003e, the shop can grow revenue per booked hour, but only if fabric ordering, approvals, and install timing stay tight. If repairs start crowding the calendar and pushing out higher-ticket work, take-home pay drops even when the schedule looks full.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step6\"\u003e6\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eCompare low, base, and high furniture upholstery income scenarios\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-scenario-table\" aria-label=\"Furniture Upholstery Owner Income Scenarios\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\" data-source-title=\"Furniture Upholstery Owner Income Scenarios\" data-note-label=\"Planning note\" data-note-text=\"Scenario ranges are researched planning assumptions, not guaranteed earnings, salary promises, tax advice, or distributions.\"\u003e\u003cdiv class=\"fml-scenario-table-card\"\u003e\n\u003cheader class=\"fml-scenario-table-header\"\u003e\u003cdiv\u003e\n\u003cp class=\"fml-scenario-table-eyebrow\"\u003eOwner income scenarios\u003c\/p\u003e\n\u003cp class=\"fml-scenario-table-description\"\u003eOwner pay swings with revenue mix, labor load, and fixed overhead. Early ramp can stay in the red, while a mature shop can support a funded salary and cash reserve.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-scenario-table-actions\"\u003e\u003cbutton class=\"fml-scenario-table-export\" type=\"button\" data-scenario-export\u003eEXPORT XLSX\u003c\/button\u003e\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"fml-scenario-table-wrap\"\u003e\u003ctable class=\"fml-scenario-table-grid\"\u003e\n\u003ccaption\u003eLow, base, and high cases show how volume and staffing change owner cash.\u003c\/caption\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth class=\"fml-scenario-table-stub\" scope=\"col\" data-export-value=\"Scenario\"\u003eScenario\u003c\/th\u003e\n\u003cth class=\"fml-scenario-table-column\" scope=\"col\" data-export-value=\"Low Case\"\u003e\n\u003cspan class=\"fml-scenario-column-title\"\u003eLow Case\u003c\/span\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eRamp risk\u003c\/span\u003e\n\u003c\/th\u003e\n\u003cth class=\"fml-scenario-table-column\" scope=\"col\" data-export-value=\"Base Case\"\u003e\n\u003cspan class=\"fml-scenario-column-title\"\u003eBase Case\u003c\/span\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eBreak-even scale\u003c\/span\u003e\n\u003c\/th\u003e\n\u003cth class=\"fml-scenario-table-column\" scope=\"col\" data-export-value=\"High Case\"\u003e\n\u003cspan class=\"fml-scenario-column-title\"\u003eHigh Case\u003c\/span\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eMature upside\u003c\/span\u003e\n\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Launch model\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-launch\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-launch-model.svg\" alt=\"Launch model icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eLaunch model\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"This is the early-ramp case, where revenue is still small and owner pay is not covered by operations alone.\"\u003eThis is the early-ramp case, where revenue is still small and owner pay is not covered by operations alone.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is the modeled case, where the shop reaches a working scale and owner pay starts to clear the business model.\"\u003eThis is the modeled case, where the shop reaches a working scale and owner pay starts to clear the business model.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is the stronger earnings case, where a mature shop runs at high volume and keeps owner pay covered.\"\u003eThis is the stronger earnings case, where a mature shop runs at high volume and keeps owner pay covered.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Typical setup\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-setup\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-typical-setup.svg\" alt=\"Typical setup icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eTypical setup\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"About $100k of revenue with 73% contribution after materials, hardware, vehicle, and digital marketing, but $254k payroll and $558k fixed overhead keep the business in a loss before owner pay support.\"\u003eAbout $100k of revenue with 73% contribution after materials, hardware, vehicle, and digital marketing, but $254k payroll and $558k fixed overhead keep the business in a loss before owner pay support.\u003c\/td\u003e\n\u003ctd data-export-value=\"A Year 4 style shop with about $6.708M revenue, $5.179M contribution, and about $366k operating profit after an $80k owner salary, with pre-tax owner cash before reserves near $1.166M.\"\u003eA Year 4 style shop with about $6.708M revenue, $5.179M contribution, and about $366k operating profit after an $80k owner salary, with pre-tax owner cash before reserves near $1.166M.\u003c\/td\u003e\n\u003ctd data-export-value=\"A mature-year shop with about $10.5M revenue, 78.5% contribution, and about $324k operating profit after owner pay, with pre-tax owner cash before reserves near $404k.\"\u003eA mature-year shop with about $10.5M revenue, 78.5% contribution, and about $324k operating profit after owner pay, with pre-tax owner cash before reserves near $404k.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Cost drivers\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-drivers\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-cost-drivers.svg\" alt=\"Cost drivers icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eCost drivers\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"Low volume; heavy payroll; fixed rent and overhead; materials and marketing spend\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eLow volume\u003c\/li\u003e\n\u003cli\u003eheavy payroll\u003c\/li\u003e\n\u003cli\u003efixed rent and overhead\u003c\/li\u003e\n\u003cli\u003ematerials and marketing spend\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Higher job volume; strong contribution; staffed workshop; owner salary covered; spread fixed overhead\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eHigher job volume\u003c\/li\u003e\n\u003cli\u003estrong contribution\u003c\/li\u003e\n\u003cli\u003estaffed workshop\u003c\/li\u003e\n\u003cli\u003eowner salary covered\u003c\/li\u003e\n\u003cli\u003espread fixed overhead\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"High revenue; dense labor use; strong contribution; mature staffing; owner pay covered\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eHigh revenue\u003c\/li\u003e\n\u003cli\u003edense labor use\u003c\/li\u003e\n\u003cli\u003estrong contribution\u003c\/li\u003e\n\u003cli\u003emature staffing\u003c\/li\u003e\n\u003cli\u003eowner pay covered\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Owner income range\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-range\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-planning-range.svg\" alt=\"Owner income range icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eOwner income range\u003c\/span\u003e\u003cspan class=\"fml-scenario-row-subtitle\"\u003eBefore owner reserves\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"Loss; funded salary only\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003eLoss; funded salary only\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eCash-light ramp\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$366k - $1.17M\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$366k - $1.17M\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eModeled case\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$324k - $404k\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$324k - $404k\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eUpside case\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Best fit\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-fit\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-best-fit.svg\" alt=\"Best fit icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eBest fit\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"Use this to stress-test launch-year cash needs when volume is thin and the owner salary only works if outside funding covers the gap.\"\u003eUse this to stress-test launch-year cash needs when volume is thin and the owner salary only works if outside funding covers the gap.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this as the working plan for a staffed shop that has enough demand density to support the owner and still throw off cash.\"\u003eUse this as the working plan for a staffed shop that has enough demand density to support the owner and still throw off cash.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this to test the upside path for a mature staffed shop, but don't assume the ramp will get there on schedule.\"\u003eUse this to test the upside path for a mature staffed shop, but don't assume the ramp will get there on schedule.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-scenario-table-note\"\u003e\n\u003cspan class=\"fml-scenario-table-note-icon\" aria-hidden=\"true\"\u003e!\u003c\/span\u003e\u003cp\u003e\u003cstrong\u003ePlanning note:\u003c\/strong\u003e Scenario ranges are researched planning assumptions, not guaranteed earnings, salary promises, tax advice, or distributions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49303626940659,"sku":"furniture-upholstery-owner-makes","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/furniture-upholstery-owner-makes.webp?v=1782683145","url":"https:\/\/financialmodelslab.com\/products\/furniture-upholstery-owner-makes","provider":"Financial Models Lab","version":"1.0","type":"link"}