{"product_id":"building-maintenance-company-owner-makes","title":"How Much Does a Building Maintenance Company Owner Make? $120K 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\u003eRecurring contracts help cover $8,300 in monthly overhead.\u003c\/li\u003e\n\n\u003cli\u003ePro and Elite work raise revenue per account.\u003c\/li\u003e\n\n\u003cli\u003eHigher technician utilization improves gross profit, not just payroll.\u003c\/li\u003e\n\n\u003cli\u003eDense routes cut drive time and protect margins.\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=\"Owner pay and capital view\"\u003e\u003cdiv class=\"metric-grid\"\u003e\n\u003carticle class=\"metric-card is-green\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Planned Year 1 CEO\/founder salary from the model; it excludes payroll taxes, profit distributions, and any extra owner draws.\"\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=\"Planned Year 1 CEO\/founder salary from the model; it excludes payroll taxes, profit distributions, and any extra owner draws.\"\u003e$120k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"EBITDA margin runs from Year 1 to Year 5 in the model; EBITDA is business profit before owner distributions.\"\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=\"EBITDA margin runs from Year 1 to Year 5 in the model; EBITDA is business profit before owner distributions.\"\u003e-61% to 51%\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 implied annual revenue supports the planned $120k salary; it's a model estimate, not a guarantee.\"\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 1 implied annual revenue supports the planned $120k salary; it's a model estimate, not a guarantee.\"\u003e$474k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Minimum cash is $435k, the trough is Month 18, and payback takes 38 months, so this is a hard capital plan.\"\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=\"Minimum cash is $435k, the trough is Month 18, and payback takes 38 months, so this is a hard capital plan.\"\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 building maintenance 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. Actual owner income changes with revenue, margins, payroll, debt, reserves, and taxes. 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 before expenses. Use the average operating month, not a peak month.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly sales before expenses. Use the average operating month, not a 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 before expenses. Use the average operating month, not a peak month.\" data-low=\"55000\" data-base=\"80000\" data-high=\"120000\" name=\"monthlyRevenue\" type=\"text\" inputmode=\"numeric\" value=\"80,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 subcontractors, materials, vehicle costs, and commissions.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of revenue left after subcontractors, materials, vehicle costs, and commissions.\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 subcontractors, materials, vehicle costs, and commissions.\" name=\"grossMargin\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" data-low=\"68\" data-base=\"74\" data-high=\"78\" value=\"74\"\u003e\u003coutput\u003e74%\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 wages, payroll load, and contractor coverage before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly wages, payroll load, and contractor 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 wages, payroll load, and contractor coverage before owner pay.\" data-low=\"25000\" data-base=\"30833\" data-high=\"38000\" name=\"laborCost\" type=\"text\" inputmode=\"numeric\" value=\"30,833\"\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, software, insurance, admin, and other recurring overhead.\"\u003ei\u003cspan role=\"tooltip\"\u003eRent, utilities, software, insurance, admin, and other 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, software, insurance, admin, and other recurring overhead.\" data-low=\"7500\" data-base=\"8300\" data-high=\"9500\" name=\"fixedOverhead\" type=\"text\" inputmode=\"numeric\" value=\"8,300\"\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 customer acquisition spend needed to keep demand flowing.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly customer acquisition spend needed to keep demand flowing.\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 customer acquisition spend needed to keep demand flowing.\" data-low=\"3500\" data-base=\"4167\" data-high=\"10000\" name=\"marketing\" type=\"text\" inputmode=\"numeric\" value=\"4,167\"\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 or financing payments tied to the business.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly loan or financing payments tied to the business.\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 or financing payments tied to the business.\" data-low=\"4000\" data-base=\"3300\" data-high=\"2500\" name=\"debtService\" type=\"text\" inputmode=\"numeric\" value=\"3,300\"\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 set aside for taxes before owner take-home.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit set aside for taxes before 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 set aside for taxes before owner take-home.\" name=\"taxReserve\" type=\"range\" min=\"0\" max=\"45\" step=\"1\" data-low=\"22\" data-base=\"20\" data-high=\"18\" value=\"20\"\u003e\u003coutput\u003e20%\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 kept for repairs, growth, tools, and working capital.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit kept for repairs, growth, tools, and working capital.\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 kept for repairs, growth, tools, and working capital.\" name=\"reinvestmentReserve\" type=\"range\" min=\"0\" max=\"35\" step=\"1\" data-low=\"12\" data-base=\"10\" data-high=\"8\" 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 size the pay gap.\"\u003ei\u003cspan role=\"tooltip\"\u003eTarget monthly owner income used to size the 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 size the pay gap.\" data-low=\"8000\" data-base=\"10000\" data-high=\"15000\" name=\"targetOwnerPay\" type=\"text\" inputmode=\"numeric\" value=\"10,000\"\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$8,820\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\"\u003e11%\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$82,278\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,180\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$105,840\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$12,600\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$3,780\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,180\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$80,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: 74%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$59,200\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$46,600\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: 5%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$3,780\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: 11%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$8,820\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. Actual owner income changes with revenue, margins, payroll, debt, reserves, and taxes. 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 to check owner income in the Building Maintenance model?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eThe \u003ca href=\"\/products\/building-maintenance-company-financial-model\"\u003eBuilding Maintenance Financial Model Template\u003c\/a\u003e ties dashboard, revenue, labor, COGS, and cash flow to owner pay; it also shows \u003cstrong\u003e$165,000\u003c\/strong\u003e capex, \u003cstrong\u003e$50,000\u003c\/strong\u003e Year 1 marketing, \u003cstrong\u003e$500\u003c\/strong\u003e CAC, \u003cstrong\u003e$435,000\u003c\/strong\u003e minimum cash, \u003cstrong\u003eMonth 18\u003c\/strong\u003e breakeven, and \u003cstrong\u003e38-month\u003c\/strong\u003e payback. Open the model to see the full links.\u003c\/p\u003e\n\n\u003ch4\u003eOwner-income model highlights\u003c\/h4\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eOwner pay and reserves\u003c\/li\u003e\n\u003cli\u003eRevenue, EBITDA, cash\u003c\/li\u003e\n\u003cli\u003eScenarios, breakeven, payback\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\/building-maintenance-company-financial-model-dashboard-financialmodelslab_5c86b6f7-42b0-453d-8357-0e65eda22fd6.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/building-maintenance-company-financial-model-dashboard-financialmodelslab_5c86b6f7-42b0-453d-8357-0e65eda22fd6.webp?width=500\" alt=\"Building Maintenance Financial Model dashboard summarizing key KPIs, runway, cash position and performance with a dynamic dashboard for investor-ready reporting and to surface cash-flow blind spots.\"\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 much revenue does a building maintenance company need to pay the owner?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eThere’s \u003cstrong\u003eno universal revenue number\u003c\/strong\u003e for Building Maintenance, because owner pay depends on margin, overhead, and crew costs. In this model, \u003cstrong\u003eYear 1 revenue of about $474,000\u003c\/strong\u003e still leaves \u003cstrong\u003e-$289,000 EBITDA\u003c\/strong\u003e after payroll, overhead, marketing, and a \u003cstrong\u003e$120,000\u003c\/strong\u003e owner salary. By \u003cstrong\u003eYear 2\u003c\/strong\u003e, implied revenue of about \u003cstrong\u003e$1.204 million\u003c\/strong\u003e supports about \u003cstrong\u003e$93,000 EBITDA\u003c\/strong\u003e, with \u003cstrong\u003e74%\u003c\/strong\u003e to \u003cstrong\u003e75%\u003c\/strong\u003e contribution margin and \u003cstrong\u003e$99,600\u003c\/strong\u003e of fixed overhead.\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 pressure\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$474,000\u003c\/strong\u003e implied revenue\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e-$289,000 EBITDA\u003c\/strong\u003e after costs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$120,000\u003c\/strong\u003e owner salary included\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e74%\u003c\/strong\u003e contribution margin\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\u003eYear 2 support\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$1.204 million\u003c\/strong\u003e implied revenue\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$93,000 EBITDA\u003c\/strong\u003e with same pay\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e75%\u003c\/strong\u003e contribution margin\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$99,600\u003c\/strong\u003e fixed overhead yearly\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 can a building maintenance company owner make?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eA Building Maintenance owner can make a \u003cstrong\u003e$120,000 annual CEO\/founder salary\u003c\/strong\u003e in this model, but true take-home depends on profit and cash timing; \u003ca href=\"\/blogs\/kpi-metrics\/building-maintenance-company\"\u003eWhat Is The Most Important Indicator Of Success For Building Maintenance?\u003c\/a\u003e explains the KPI side. Owner income has two parts: wages for replacing labor and profit distributions, which are not guaranteed.\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\u003eIncome Model\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$120,000\u003c\/strong\u003e salary from Month 1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e-$289,000\u003c\/strong\u003e EBITDA in Year 1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$93,000\u003c\/strong\u003e EBITDA in Year 2\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$564,000\u003c\/strong\u003e EBITDA in Year 3\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\u003eProfit Reality\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$1.403 million\u003c\/strong\u003e EBITDA in Year 4\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$2.894 million\u003c\/strong\u003e EBITDA in Year 5\u003c\/li\u003e\n\u003cli\u003eOwner-operator work can raise early pay\u003c\/li\u003e\n\u003cli\u003eCrew model needs payroll and reserves\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eIs a building maintenance company profitable as it scales?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003e\u003cstrong\u003eBuilding Maintenance\u003c\/strong\u003e can be profitable as it scales, but only after it survives early payroll, vehicles, tools, marketing, and working-capital strain. The model’s \u003cstrong\u003ebreakeven is around Month 18\u003c\/strong\u003e, needs about \u003cstrong\u003e$435,000\u003c\/strong\u003e in minimum cash, and shows a \u003cstrong\u003e38-month payback\u003c\/strong\u003e. As it grows, it adds technicians, lead technicians, operations managers, sales, and admin; that improves control with supervisors and systems, but overhead also rises, and slow-paying or poorly scoped accounts can drain cash fast.\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\u003eWhy it can work\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonth 18\u003c\/strong\u003e breakeven target\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$435,000\u003c\/strong\u003e minimum cash need\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e38-month\u003c\/strong\u003e payback period\u003c\/li\u003e\n\u003cli\u003eRecurring accounts steady revenue\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 can hurt cash\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eEarly payroll hits hard\u003c\/li\u003e\n\u003cli\u003eVehicles and tools cost cash\u003c\/li\u003e\n\u003cli\u003ePoor scopes shrink margin\u003c\/li\u003e\n\u003cli\u003eSlow payers drain working capital\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;\"\u003eWant the six building maintenance profit drivers?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-main-income-drivers\" aria-label=\"Main income driver cards for building maintenance\"\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\u003eRecurring Volume\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e100-714 accts\u003c\/strong\u003e\u003cp\u003eYear 1 marketing spend of $50K at a $500 CAC can buy about 100 accounts, and Year 5 can support about 714 at $350 CAC, so contract adds drive the whole model.\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\u003ePricing Mix\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$500-$2.8K\u003c\/strong\u003e\u003cp\u003eThe monthly price ladder runs from $500 Basic to $2,800 Elite by Year 5, so shifting more work into higher tiers lifts owner take-home fast.\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\u003eTechnician Utilization\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e2-10 FTE\u003c\/strong\u003e\u003cp\u003eMaintenance tech staffing grows from 2.0 FTE to 10.0 FTE, so tight scheduling is what turns payroll into billed work instead of idle cost.\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\u003eLabor Control\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e26%\u003c\/strong\u003e\u003cp\u003eDirect labor and materials start at 26% of revenue in Year 1, so every point saved on subcontractors, supplies, fuel, and commissions drops straight to income.\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\u003eRoute Density\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e5%-4%\u003c\/strong\u003e\u003cp\u003eVehicle operating cost falls from 5.0% to 4.0% of revenue by Year 5, and denser routes help you keep that gap from widening.\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\u003eRetention Renewals\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$500-$350\u003c\/strong\u003e\u003cp\u003eCAC falls from $500 to $350, so renewals matter because losing repeat accounts forces you to buy growth back at a higher cost.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eBuilding Maintenance Core Six Income Drivers\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eRecurring Contract Volume\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row1\"\u003e\n\u003ch3\u003eRecurring Contract Volume\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRecurring contracts\u003c\/strong\u003e give this business predictable monthly revenue, which is what pays payroll, owner draws, and reserves. With fixed overhead at \u003cstrong\u003e$8,300 per month\u003c\/strong\u003e, contract count and average monthly contract value matter more than one-off jobs because they set the cash base before repairs hit.\u003c\/p\u003e\n\u003cp\u003eHere’s the quick math: \u003cstrong\u003e17 Basic\u003c\/strong\u003e accounts at \u003cstrong\u003e$500\u003c\/strong\u003e cover about \u003cstrong\u003e$8,500\u003c\/strong\u003e a month, \u003cstrong\u003e7 Pro\u003c\/strong\u003e accounts at \u003cstrong\u003e$1,200\u003c\/strong\u003e cover \u003cstrong\u003e$8,400\u003c\/strong\u003e, and \u003cstrong\u003e4 Elite\u003c\/strong\u003e accounts at \u003cstrong\u003e$2,500\u003c\/strong\u003e cover \u003cstrong\u003e$10,000\u003c\/strong\u003e. One clean line: more stable contracts mean less sales pressure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row1\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Monthly Coverage\u003c\/h3\u003e\n\u003cp\u003eMeasure \u003cstrong\u003econtract count\u003c\/strong\u003e, \u003cstrong\u003eaverage monthly contract value\u003c\/strong\u003e, \u003cstrong\u003ebilling consistency\u003c\/strong\u003e, and \u003cstrong\u003erenewal rate\u003c\/strong\u003e. Use the mix to forecast owner income, because missed renewals or late billing can turn a healthy book into a cash squeeze fast.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eBasic:\u003c\/strong\u003e $500 monthly\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePro:\u003c\/strong\u003e $1,200 monthly\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eElite:\u003c\/strong\u003e $2,500 monthly\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRisk:\u003c\/strong\u003e underpriced scope\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eWhat this estimate hides: if scope creeps but price stays flat, the contract can become a recurring loss. Protect margin by documenting response times, exclusions, and emergency call rules before you sign.\u003c\/p\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;\"\u003ePricing And Service Mix\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"right-row2\"\u003e\n\u003ch3\u003ePricing and Service Mix\u003c\/h3\u003e\n\u003cp\u003eYour income rises when the mix shifts from low-tier accounts to higher-tier work. Year 1 uses \u003cstrong\u003e40%\u003c\/strong\u003e Basic at \u003cstrong\u003e$500\u003c\/strong\u003e, \u003cstrong\u003e30%\u003c\/strong\u003e Pro at \u003cstrong\u003e$1,200\u003c\/strong\u003e, \u003cstrong\u003e15%\u003c\/strong\u003e Elite at \u003cstrong\u003e$2,500\u003c\/strong\u003e, plus \u003cstrong\u003e10%\u003c\/strong\u003e project work and \u003cstrong\u003e5%\u003c\/strong\u003e emergency risk. More Pro and Elite work lifts revenue per account and owner pay, but emergency calls need a surcharge or they burn labor capacity and squeeze margin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row2\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003ePrice for scope, not just time\u003c\/h3\u003e\n\u003cp\u003eTrack revenue by tier, project dollars, and emergency surcharge collected. Price by \u003cstrong\u003escope\u003c\/strong\u003e, \u003cstrong\u003eresponse time\u003c\/strong\u003e, and \u003cstrong\u003ematerials\u003c\/strong\u003e, then compare each job’s gross margin to the plan. If after-hours calls or extra visits are common, raise the fee or split them into a project line item so the subscription base keeps its cash flow.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMeasure\u003c\/strong\u003e mix by tier monthly.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBill\u003c\/strong\u003e emergency work separately.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePush\u003c\/strong\u003e upgrades to Pro and Elite.\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 step2\"\u003e2\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eTechnician Utilization\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row3\"\u003e\n    \u003ch3\u003eTechnician Utilization\u003c\/h3\u003e\n    \u003cp\u003eTechnician utilization is the share of paid field time that turns into \u003cstrong\u003ebillable work\u003c\/strong\u003e. It includes \u003cstrong\u003ebillable hours\u003c\/strong\u003e, callbacks, idle time, schedule gaps, and drive time. With \u003cstrong\u003e$180,000\u003c\/strong\u003e in Year 1 direct field payroll for one lead technician and two maintenance technicians, low utilization turns payroll into overhead and cuts gross profit before owner draws.\u003c\/p\u003e\n    \u003cp\u003eBy Year 5, direct field payroll reaches \u003cstrong\u003e$760,000\u003c\/strong\u003e, so wasted time gets expensive fast. If paid hours do not become invoiceable work, the owner pays more labor but keeps less cash. Better scheduling, tighter dispatch, and fewer callbacks lift gross profit first, which is what creates room for owner take-home pay.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row3\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eMeasure Billable Time First\u003c\/h3\u003e\n      \u003cp\u003eTrack \u003cstrong\u003ebillable hours ÷ paid field hours\u003c\/strong\u003e each week, then split the gap into drive time, idle time, and callbacks. That tells you where payroll is leaking. If a tech looks busy but is not billable, the labor cost still hits margin, so the schedule is not pulling its weight.\u003c\/p\u003e\n      \u003cp\u003eUse route grouping, clear job blocks, and fast callback review to fill schedule gaps. Watch these inputs: \u003cstrong\u003ebillable hours\u003c\/strong\u003e, \u003cstrong\u003ecallbacks\u003c\/strong\u003e, \u003cstrong\u003eidle time\u003c\/strong\u003e, \u003cstrong\u003eschedule gaps\u003c\/strong\u003e, and \u003cstrong\u003edrive time\u003c\/strong\u003e. When that mix improves, more of the wage dollar supports gross profit before owner distributions.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eMeasure billable hours weekly.\u003c\/li\u003e\n        \u003cli\u003eSeparate drive time from work time.\u003c\/li\u003e\n        \u003cli\u003eTrack callbacks by technician.\u003c\/li\u003e\n        \u003cli\u003eFill gaps before adding headcount.\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;\"\u003eLabor And Subcontractor Cost Control\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row4\"\u003e\n    \u003ch3\u003eLabor Cost Control\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003ePayroll, overtime, subcontractors, and supervisors\u003c\/strong\u003e can wipe out profit if jobs are priced off sales, not true labor cost. In this model, subcontractors fall from \u003cstrong\u003e10%\u003c\/strong\u003e of revenue in Year 1 to \u003cstrong\u003e8%\u003c\/strong\u003e in Year 5, while total payroll rises from \u003cstrong\u003e$490,000\u003c\/strong\u003e to \u003cstrong\u003e$1,260 million\u003c\/strong\u003e as stated. If direct labor is not split from overhead payroll, EBITDA gets squeezed fast and owner pay gets less reliable.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row4\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Direct Labor Weekly\u003c\/h3\u003e\n      \u003cp\u003eMeasure \u003cstrong\u003etechnician payroll\u003c\/strong\u003e, \u003cstrong\u003elead technician payroll\u003c\/strong\u003e, subcontractor percent, overtime hours, and supervisor load by job type. Here’s the quick math: if labor runs high on recurring work, the subscription fee is too low or the scope is too broad. Keep direct labor separate from overhead payroll so you can see which accounts pay their way.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack billable hours by tech\u003c\/li\u003e\n        \u003cli\u003eFlag overtime on each job\u003c\/li\u003e\n        \u003cli\u003eReview subcontractor share monthly\u003c\/li\u003e\n        \u003cli\u003ePrice emergency 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 step4\"\u003e4\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eRoute Density And Travel Time\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row5\"\u003e\n    \u003ch3\u003eRoute Density\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eDense routes\u003c\/strong\u003e cut windshield time, fuel, vehicle wear, and unbillable labor. For a maintenance crew, the key inputs are jobs per route, drive minutes, same-area accounts, and dispatch efficiency. When accounts are clustered, more paid work fits into each day, so the same technician payroll produces more billable service and better owner take-home.\u003c\/p\u003e\n    \u003cp\u003eThe money leak is distance. Chasing far-apart accounts raises payroll and fuel without adding matching billings, so margin gets thinner fast. Vehicle operating costs are \u003cstrong\u003e5% of revenue in Year 1\u003c\/strong\u003e and \u003cstrong\u003e4% by Year 5\u003c\/strong\u003e, so route planning matters most when you’re trying to protect cash and pay the owner from recurring profit.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row5\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eCluster by Zip Code\u003c\/h3\u003e\n      \u003cp\u003eTrack \u003cstrong\u003ejobs per route\u003c\/strong\u003e, \u003cstrong\u003edrive minutes\u003c\/strong\u003e, and \u003cstrong\u003efuel cost\u003c\/strong\u003e by technician each week. Put same-area accounts on the same day, then watch whether route time drops and billable hours rise. If a new account adds long drive time, price it higher or pass unless it fills a dense gap.\u003c\/p\u003e\n      \u003cp\u003eBuild the schedule around geography, not just urgency. Here’s the quick math: more stops per route means less dead time, which lowers vehicle cost as a share of revenue and leaves more gross profit for reserves and owner pay. If dispatch is loose, the business can look busy while take-home income stays flat.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack accounts by zip and route.\u003c\/li\u003e\n        \u003cli\u003eRecord drive minutes per job.\u003c\/li\u003e\n        \u003cli\u003eFlag low-density accounts fast.\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 step5\"\u003e5\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eRetention And Renewals\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row6\"\u003e\n    \u003ch3\u003eRetention and Renewals\u003c\/h3\u003e\n    \u003cp\u003eWhen accounts renew, the owner keeps recurring revenue without reopening the sales funnel. That lowers sales pressure and helps cover fixed overhead like the \u003cstrong\u003e$8,300\u003c\/strong\u003e monthly b\nase cost. The key metrics are \u003cstrong\u003erenewal rate\u003c\/strong\u003e, \u003cstrong\u003epayment reliability\u003c\/strong\u003e, and \u003cstrong\u003emargin by account\u003c\/strong\u003e, because one strong contract can fund payroll while a weak one quietly drains cash.\u003c\/p\u003e\n    \u003cp\u003eHere’s the quick math: replacing a lost account wastes the onboarding cost again, even when CAC drops from \u003cstrong\u003e$500\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e$350\u003c\/strong\u003e in Year 5. Slow payers and loose scopes also hurt cash flow and crew planning. If a contract keeps growing without a price increase, \u003cstrong\u003escope creep\u003c\/strong\u003e can turn a “good” customer into a low-margin one fast.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row6\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Renewals by Profit, Not Just Volume\u003c\/h3\u003e\n      \u003cp\u003eMeasure each account’s renewal probability, days late, added work, and price lift at renewal. Use \u003cstrong\u003emargin by account\u003c\/strong\u003e after labor, materials, and subcontractors, so you can see which contracts actually pay owner draw. One clean rule: renew the work that pays on time and prices up cleanly.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003e\n\u003cstrong\u003eTrack\u003c\/strong\u003e renewal rate by contract type\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eWatch\u003c\/strong\u003e overdue balances and late payers\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eReprice\u003c\/strong\u003e after scope changes\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eDrop\u003c\/strong\u003e weak-margin accounts early\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eBetter account quality protects staffing plans and reserve levels. If onboarding takes cash but the client won’t renew, the owner pays twice: once to win the job and again to replace it. Stable renewals reduce that leak and make take-home income steadier.\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 building maintenance owner-income scenarios\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-scenario-table\" aria-label=\"Building Maintenance Owner Income Scenarios\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\" data-source-title=\"Building Maintenance 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\"\u003eIncome shifts with contract ramp, labor coverage, and service mix. Early cash is tight, then owner pay improves as recurring work and margin hold up.\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 owner income cases for planning.\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\"\u003eCash 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\"\u003eOwner role\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\"\u003eMargin strength\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=\"Owner income starts light because contract ramp is slow and labor gaps pressure cash.\"\u003eOwner income starts light because contract ramp is slow and labor gaps pressure cash.\u003c\/td\u003e\n\u003ctd data-export-value=\"Owner income follows the modeled path with a $120,000 salary and breakeven around Month 18.\"\u003eOwner income follows the modeled path with a $120,000 salary and breakeven around Month 18.\u003c\/td\u003e\n\u003ctd data-export-value=\"Owner income rises faster when contract density improves and recurring work shifts toward Pro and Elite mix.\"\u003eOwner income rises faster when contract density improves and recurring work shifts toward Pro and Elite mix.\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=\"The business leans on smaller jobs, higher subcontractor use, and delayed owner pay while fixed costs stay in place.\"\u003eThe business leans on smaller jobs, higher subcontractor use, and delayed owner pay while fixed costs stay in place.\u003c\/td\u003e\n\u003ctd data-export-value=\"The model supports $435,000 minimum cash, a 38-month payback, Year 1 EBITDA of -$289,000, and Year 2 EBITDA of $93,000.\"\u003eThe model supports $435,000 minimum cash, a 38-month payback, Year 1 EBITDA of -$289,000, and Year 2 EBITDA of $93,000.\u003c\/td\u003e\n\u003ctd data-export-value=\"The business runs with stronger pricing power, lower variable cost percentages, and faster EBITDA growth toward Year 5 at $2.894 million.\"\u003eThe business runs with stronger pricing power, lower variable cost percentages, and faster EBITDA growth toward Year 5 at $2.894 million.\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=\"Slow contract ramp; more labor gaps; higher subcontractor use; fixed overhead load; owner pay delay\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eSlow contract ramp\u003c\/li\u003e\n\u003cli\u003emore labor gaps\u003c\/li\u003e\n\u003cli\u003ehigher subcontractor use\u003c\/li\u003e\n\u003cli\u003efixed overhead load\u003c\/li\u003e\n\u003cli\u003eowner pay delay\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Month 18 breakeven; $435k minimum cash; 38-month payback; $120k owner salary; steady recurring mix\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eMonth 18 breakeven\u003c\/li\u003e\n\u003cli\u003e$435k minimum cash\u003c\/li\u003e\n\u003cli\u003e38-month payback\u003c\/li\u003e\n\u003cli\u003e$120k owner salary\u003c\/li\u003e\n\u003cli\u003esteady recurring mix\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"More Pro and Elite mix; lower variable cost%; stronger contract density; faster EBITDA growth; tighter field scheduling\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eMore Pro and Elite mix\u003c\/li\u003e\n\u003cli\u003elower variable cost%\u003c\/li\u003e\n\u003cli\u003estronger contract density\u003c\/li\u003e\n\u003cli\u003efaster EBITDA growth\u003c\/li\u003e\n\u003cli\u003etighter field scheduling\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=\"Delayed owner draw\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003eDelayed owner draw\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eDraw delay risk\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$120,000\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$120,000\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eOwner salary path\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$120,000+\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$120,000+\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eHigher owner draw\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 tight cash and a slower start.\"\u003eUse this to stress test tight cash and a slower start.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this as the core operating case for planning pay and cash.\"\u003eUse this as the core operating case for planning pay and cash.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this to test upside if operations stay tight and repeat work grows.\"\u003eUse this to test upside if operations stay tight and repeat work grows.\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":49303794811123,"sku":"building-maintenance-company-owner-makes","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/building-maintenance-company-owner-makes.webp?v=1782677524","url":"https:\/\/financialmodelslab.com\/products\/building-maintenance-company-owner-makes","provider":"Financial Models Lab","version":"1.0","type":"link"}