{"product_id":"general-contractor-owner-makes","title":"How Much General Contractor Owners Make In A $150K Salary Model","description":"\u003cbr\u003e\u003cdiv class=\"container_new_design\"\u003e\n\u003cdiv class=\"text-section text-1_new_design\"\u003e\n\u003cdiv class=\"line_top\"\u003e\u003c\/div\u003e\n\u003cp\u003eYou’re planning owner pay before the jobs, payroll, and cash timing are fully proven In this five-year model, the Principal \/ Lead GC has a \u003cstrong\u003e$150,000 annual salary\u003c\/strong\u003e, while EBITDA moves from \u003cstrong\u003e-$151,000 in Year 1\u003c\/strong\u003e to \u003cstrong\u003e$4124 million in Year 5\u003c\/strong\u003e These are researched planning assumptions, not guaranteed earnings, tax advice, or required distributions\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\u003cdiv class=\"image-section image-1_new_design\" id=\"main_article_image\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003csection class=\"fml-owner-metric-cards\" aria-label=\"General Contractor\"\u003e\u003cdiv class=\"metric-grid\"\u003e\n\u003carticle class=\"metric-card is-green\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Modeled annual owner take-home from EBITDA plus the $150K salary, using Years 1-5; excludes taxes, debt service, reserves, and extra distributions.\"\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=\"Modeled annual owner take-home from EBITDA plus the $150K salary, using Years 1-5; excludes taxes, debt service, reserves, and extra distributions.\"\u003e-$1K to $4.27M\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"EBITDA margin across Years 1-5 on modeled revenue; excludes taxes, interest, depreciation, and unmodeled subcontractor pass-through costs.\"\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 across Years 1-5 on modeled revenue; excludes taxes, interest, depreciation, and unmodeled subcontractor pass-through costs.\"\u003eEBITDA: -39% to 71%\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 2 revenue is the closest modeled level that supports the $150K owner salary; cash needs, debt, reserves, and tax timing still matter.\"\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 2 revenue is the closest modeled level that supports the $150K owner salary; cash needs, debt, reserves, and tax timing still matter.\"\u003e≈$982K\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Rated Hard because Year 1 EBITDA is negative, breakeven lands in Month 15, and minimum cash bottoms at $641K in Month 16.\"\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=\"Rated Hard because Year 1 EBITDA is negative, breakeven lands in Month 15, and minimum cash bottoms at $641K in Month 16.\"\u003eHard\u003c\/strong\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWant to estimate contractor take-home pay?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-owner-calculator\" aria-label=\"General Contractor Owner Income Calculator\" data-locale=\"en-US\" data-currency=\"USD\" data-default-scenario=\"base\" data-export-filename=\"General Contractor Owner Income Calculator.xlsx\" data-source-site-name=\"Financial Models Lab\" data-source-site-url=\"https:\/\/financialmodelslab.com\" data-source-page-title=\"General Contractor Owner Income Calculator\" data-note-title=\"Planning note:\" data-note-text=\"Research-based planning estimate only. It uses the model anchors for 76% to 85% contribution margin, $996K fixed overhead, $700K to $3.425M payroll, Month 15 breakeven, and $641K minimum cash need. 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 target-pay gap from annual project 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\u003eAnnual project revenue\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Total project revenue for the full year before direct costs and overhead.\"\u003ei\u003cspan role=\"tooltip\"\u003eTotal project revenue for the full year before direct costs and 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=\"monthlyRevenue\" data-owner-kind=\"money\" data-owner-label=\"Annual project revenue\" data-owner-note=\"Total project revenue for the full year before direct costs and overhead.\" data-low=\"2500000\" data-base=\"5500000\" data-high=\"9000000\" name=\"monthlyRevenue\" type=\"text\" inputmode=\"numeric\" value=\"5,500,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 project costs and variable job costs.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of revenue left after direct project costs and variable job 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 project costs and variable job costs.\" name=\"grossMargin\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" data-low=\"76\" data-base=\"80\" data-high=\"85\" value=\"80\"\u003e\u003coutput\u003e80%\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\u003ePayroll and labor cost\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Annual payroll for project manager, admin, and other staff before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eAnnual payroll for project manager, admin, and other staff 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=\"Payroll and labor cost\" data-owner-note=\"Annual payroll for project manager, admin, and other staff before owner pay.\" data-low=\"700000\" data-base=\"1800000\" data-high=\"3425000\" name=\"laborCost\" type=\"text\" inputmode=\"numeric\" value=\"1,800,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\u003eFixed overhead\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Annual rent, software, insurance, office, and other recurring overhead.\"\u003ei\u003cspan role=\"tooltip\"\u003eAnnual rent, software, insurance, office, 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=\"Annual rent, software, insurance, office, and other recurring overhead.\" data-low=\"996000\" data-base=\"996000\" data-high=\"996000\" name=\"fixedOverhead\" type=\"text\" inputmode=\"numeric\" value=\"996,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\u003eMarketing\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Annual marketing and business development spend.\"\u003ei\u003cspan role=\"tooltip\"\u003eAnnual marketing and business development spend.\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=\"Annual marketing and business development spend.\" data-low=\"15000\" data-base=\"40000\" data-high=\"85000\" name=\"marketing\" type=\"text\" inputmode=\"numeric\" value=\"40,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=\"Annual loan, financing, or required debt-payment total.\"\u003ei\u003cspan role=\"tooltip\"\u003eAnnual loan, financing, or required debt-payment total.\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=\"Annual loan, financing, or required debt-payment total.\" data-low=\"100000\" data-base=\"150000\" data-high=\"250000\" name=\"debtService\" type=\"text\" inputmode=\"numeric\" value=\"150,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\u003eTax reserve\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of profit reserved for taxes before owner take-home.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit reserved 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 reserved for taxes before 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 kept for growth, working capital, and risk buffer.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit kept for 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 kept for growth, working capital, and risk buffer.\" name=\"reinvestmentReserve\" type=\"range\" min=\"0\" max=\"35\" step=\"1\" data-low=\"5\" data-base=\"10\" data-high=\"12\" 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=\"Annual owner income target used to calculate the pay gap.\"\u003ei\u003cspan role=\"tooltip\"\u003eAnnual owner income target used to calculate 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=\"Annual owner income target used to calculate the pay gap.\" data-low=\"120000\" data-base=\"150000\" data-high=\"180000\" name=\"targetOwnerPay\" type=\"text\" inputmode=\"numeric\" value=\"150,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$933K\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\"\u003e17%\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$4M\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-metric is-target-gap is-positive\"\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$783K\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$11,198,880\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$1,414,000\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$480,760\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$783,240\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$5.5M\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: 80%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$4.4M\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: 54%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$3M\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: 9%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$481K\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: 17%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$933K\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 uses the model anchors for 76% to 85% contribution margin, $996K fixed overhead, $700K to $3.425M payroll, Month 15 breakeven, and $641K minimum cash need. 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 test owner income in the General Contractor model?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eOpen the \u003ca href=\"\/products\/general-contractor-financial-model\"\u003eGeneral Contractor Financial Model Template\u003c\/a\u003e to test revenue, margin, costs, reserves, and owner take-home assumptions. \u003cstrong\u003eEBITDA\u003c\/strong\u003e moves from \u003cstrong\u003e-$151K\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e$4.124M\u003c\/strong\u003e in Year 5.\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\u003eMonth 15\u003c\/strong\u003e breakeven\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e29-month\u003c\/strong\u003e payback\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$641K\u003c\/strong\u003e minimum cash\u003c\/li\u003e\n\u003cli\u003eScenario testing first\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\/general-contractor-financial-model-dashboard-financialmodelslab_5132215a-6a70-4784-abcd-e12f18263293.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/general-contractor-financial-model-dashboard-financialmodelslab_5132215a-6a70-4784-abcd-e12f18263293.webp?width=500\" alt=\"General Contractor Financial Model dashboard summarizing key KPIs, runway\/cash and performance with a dynamic dashboard, investor-ready visuals to eliminate cash-flow blind spots and aid presentations.\"\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 do small general contractor owners make?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003e\u003cstrong\u003eSmall general contractor owners\u003c\/strong\u003e can take home about the value of their own labor first, which in this model starts at \u003cstrong\u003e$150K\u003c\/strong\u003e for the Principal \/ Lead GC in Year 1. But capacity is capped by estimating, site supervision, and admin time, so once you add a \u003cstrong\u003e$110K\u003c\/strong\u003e Senior Project Manager, \u003cstrong\u003e$50K\u003c\/strong\u003e Office Administrator, and half-time \u003cstrong\u003e$65K\u003c\/strong\u003e Project Coordinator, short-term take-home gets tighter even as output grows.\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 pay mix\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$150K\u003c\/strong\u003e Principal \/ Lead GC\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$110K\u003c\/strong\u003e Senior Project Manager\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$50K\u003c\/strong\u003e Office Administrator\u003c\/li\u003e\n\u003cli\u003eHalf-time \u003cstrong\u003e$65K\u003c\/strong\u003e Project Coordinator\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\u003eScale effect\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eOwner labor replacement lowers cash pay\u003c\/li\u003e\n\u003cli\u003eCapacity rises with more payroll\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$700K\u003c\/strong\u003e total wages by Year 5\u003c\/li\u003e\n\u003cli\u003eDistributions depend on margin staying strong\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhy do general contractors have cash flow problems?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eGeneral contractors run into cash flow problems because \u003cstrong\u003eprofit and cash arrive on different clocks\u003c\/strong\u003e: payroll, supplier bills, insurance, travel, quality control, and retainage can hit before client payments do. In this model, the source case shows \u003cstrong\u003emonth 15 breakeven\u003c\/strong\u003e but a \u003cstrong\u003e$641K\u003c\/strong\u003e minimum cash need in month 16, so a job can look profitable and still strain cash. The first year also needs \u003cstrong\u003e$153K\u003c\/strong\u003e in capex for office setup, hardware, vehicles, tools, website, collateral, and network infrastructure, and reserves usually cut current distributions but protect payroll and project delivery.\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 cash gets tight\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003ePayroll\u003c\/strong\u003e comes before payment.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSupplier bills\u003c\/strong\u003e arrive fast.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRetainage\u003c\/strong\u003e delays cash.\u003c\/li\u003e\n\u003cli\u003eClient timing can slip.\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 the numbers show\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonth 15\u003c\/strong\u003e is breakeven.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonth 16\u003c\/strong\u003e needs \u003cstrong\u003e$641K\u003c\/strong\u003e.\u003c\/li\u003e\n\u003cli\u003eFirst-year capex is \u003cstrong\u003e$153K\u003c\/strong\u003e.\u003c\/li\u003e\n\u003cli\u003eReserves protect delivery.\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 a general contractor need to make money?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eA \u003cstrong\u003eGeneral Contractor\u003c\/strong\u003e needs about \u003cstrong\u003e$582K in annual revenue\u003c\/strong\u003e to break even, based on \u003cstrong\u003e$442.1K\u003c\/strong\u003e of fixed overhead, non-owner payroll, owner salary, reserves, and debt service divided by a \u003cstrong\u003e76%\u003c\/strong\u003e contribution margin. To actually make money, the model needs to move closer to Year 2 revenue of \u003cstrong\u003e$982K\u003c\/strong\u003e, which produces about \u003cstrong\u003e$213K EBITDA\u003c\/strong\u003e; track this with \u003ca href=\"\/blogs\/kpi-metrics\/general-contractor\"\u003eWhat Is The Most Critical Measure To Gauge The Success Of Your General Contractor 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\u003eBreak-Even Math\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e76%\u003c\/strong\u003e contribution margin after variable costs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$442.1K\u003c\/strong\u003e annual fixed cash needs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$582K\u003c\/strong\u003e break-even revenue target\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$383K\u003c\/strong\u003e Year 1 revenue leaves a funding gap\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 Target\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eCover margin leakage first\u003c\/li\u003e\n\u003cli\u003eFund non-owner payroll before owner draws\u003c\/li\u003e\n\u003cli\u003eInclude reserves and debt service\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$982K\u003c\/strong\u003e Year 2 revenue supports \u003cstrong\u003e$213K EBITDA\u003c\/strong\u003e\n\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 to see the main income drivers?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-main-income-drivers\" aria-label=\"Main Income Drivers grid for a general contractor.\"\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\u003eAnnual Volume\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$383K-$5.8M\u003c\/strong\u003e\u003cp\u003eSigned work moves revenue from about $383K in Year 1 to $5.8M in Year 5, so pipeline depth is the main driver of 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\"\u003e2\u003c\/span\u003e\u003ch4\u003eBid Margin\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e76%-85%\u003c\/strong\u003e\u003cp\u003eHolding contribution margin in the 76% to 85% band turns sales into owner cash instead of just more payroll.\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\u003eJob Costs\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e4%-7%\u003c\/strong\u003e\u003cp\u003eProject software and outside quality control run 4% to 7% of revenue, so cost slips hit 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\"\u003e4\u003c\/span\u003e\u003ch4\u003eLabor Load\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$343K-$700K\u003c\/strong\u003e\u003cp\u003eFixed overhead is about $99.6K a year, but payroll rises from roughly $343K to $700K, so staffing choices move profit most.\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\u003eMix Capacity\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$135-$160\/hr\u003c\/strong\u003e\u003cp\u003eThe mix shifts toward higher-rate custom home work and oversight, lifting the blended billable rate and keeping crews scheduled.\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\u003eWorking Capital\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$641K\u003c\/strong\u003e\u003cp\u003eBreakeven lands in Month 15, but cash still dips to $641K in Month 16, so reserves decide how smoothly growth runs.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eGeneral Contractor Core Six Income Drivers\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eAnnual Project 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\u003eAnnual Project Volume\u003c\/h3\u003e\n    \u003cp\u003eAnnual project volume is the number of jobs finished and billed in a year. It lifts owner pay only when each project clears direct cost, supervision, and overhead; otherwise, more work just adds strain. The model implies revenue rises from about \u003cstrong\u003e$383K\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e$579M\u003c\/strong\u003e in Year 5, while \u003cstrong\u003eEBITDA\u003c\/strong\u003e (cash-style operating profit) moves from \u003cstrong\u003e-$151K\u003c\/strong\u003e to \u003cstrong\u003e$4.124M\u003c\/strong\u003e.\u003c\/p\u003e\n    \u003cp\u003eTrack \u003cstrong\u003esigned backlog\u003c\/strong\u003e, \u003cstrong\u003ecompleted revenue\u003c\/strong\u003e, \u003cstrong\u003eaverage contract value\u003c\/strong\u003e, and \u003cstrong\u003eactive project count\u003c\/strong\u003e. The risk is chasing low-margin volume that ties up project manager time and cash, which can leave less for owner distributions after \u003cstrong\u003eoverhead\u003c\/strong\u003e and \u003cstrong\u003ereserves\u003c\/strong\u003e.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row1\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Volume That Pays\u003c\/h3\u003e\n      \u003cp\u003eUse a simple test: if one more job raises revenue but cuts margin, cash, or schedule control, it is not good volume. Count jobs started, finished, and delayed, then compare those counts to margin by project type. That shows whether growth is creating profit or just activity.\u003c\/p\u003e\n      \u003cp\u003eSet a monthly cap on \u003cstrong\u003eactive projects\u003c\/strong\u003e per project manager and reject bids that do not cover supervision and cash timing. Here’s the quick math: higher completed revenue helps owner income only after \u003cstrong\u003eoverhead\u003c\/strong\u003e and \u003cstrong\u003ereserves\u003c\/strong\u003e are funded, so volume should be managed for profit, not just top-line growth.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eMeasure backlog against finish rate\u003c\/li\u003e\n        \u003cli\u003eWatch margin by project type\u003c\/li\u003e\n        \u003cli\u003eLimit active jobs per manager\u003c\/li\u003e\n        \u003cli\u003eProtect cash before adding volume\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;\"\u003eBid Pricing And Gross Margin Discipline\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row2\"\u003e\n    \u003ch3\u003eBid Pricing Discipline\u003c\/h3\u003e\n    \u003cp\u003eYour bid sets owner pay before the job starts. A solid bid covers \u003cstrong\u003edirect job costs\u003c\/strong\u003e, \u003cstrong\u003econtingency\u003c\/strong\u003e, \u003cstrong\u003esupervision\u003c\/strong\u003e, \u003cstrong\u003eoverhead contribution\u003c\/strong\u003e, and \u003cstrong\u003eprofit\u003c\/strong\u003e. In this model, direct COGS falls from \u003cstrong\u003e7%\u003c\/strong\u003e of revenue in Year 1 to \u003cstrong\u003e4%\u003c\/strong\u003e in Year 5, so gross margin rises from \u003cstrong\u003e93%\u003c\/strong\u003e to \u003cstrong\u003e96%\u003c\/strong\u003e. If pricing misses any layer, EBITDA and owner draws shrink fast.\u003c\/p\u003e\n    \u003cp\u003eAfter marketing and travel, contribution margin improves from \u003cstrong\u003e76%\u003c\/strong\u003e to \u003cstrong\u003e85%\u003c\/strong\u003e. That is the cash left to pay office costs and the owner. A \u003cstrong\u003emarkup\u003c\/strong\u003e is not net profit; it is just the add-on above direct cost. Missed scope, weak change orders, and underpriced supervision are the usual leak points.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row2\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003ePrice the Work, Not the Guess\u003c\/h3\u003e\n      \u003cp\u003eTrack bid price against these inputs: \u003cstrong\u003edirect labor\u003c\/strong\u003e, \u003cstrong\u003esubcontractors\u003c\/strong\u003e, \u003cstrong\u003ematerials\u003c\/strong\u003e, \u003cstrong\u003econtingency\u003c\/strong\u003e, \u003cstrong\u003esupervision\u003c\/strong\u003e, \u003cstrong\u003emarketing\u003c\/strong\u003e, \u003cstrong\u003etravel\u003c\/strong\u003e, and \u003cstrong\u003efixed overhead\u003c\/strong\u003e. One clean formula helps: \u003cstrong\u003ebid price = direct job costs + contingency + supervision + overhead contribution + profit\u003c\/strong\u003e. If actual job cost runs \u003cstrong\u003e1%\u003c\/strong\u003e high, the hit comes straight out of gross profit and owner pay.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eLog scope gaps before signing.\u003c\/li\u003e\n        \u003cli\u003ePrice supervision as a real cost.\u003c\/li\u003e\n        \u003cli\u003eApprove change orders in writing.\u003c\/li\u003e\n        \u003cli\u003eReview job cost weekly.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eUse change-order logs and job-cost reports weekly. Write scope in plain language, and refuse work that cannot clear your target gross margin. One line to remember: if the bid cannot fund the project manager, it is underpriced.\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;\"\u003eDirect Job Cost Control\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row3\"\u003e\n    \u003ch3\u003eDirect Job Cost Control\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eDirect job cost control\u003c\/strong\u003e is the grip on subcontractor pricing, materials, labor timing, project software, external quality control, rework, and \u003cstrong\u003echange orders\u003c\/strong\u003e (scope changes billed to the client). When these costs drift, gross profit drops fast: a \u003cstrong\u003e1% cost overrun\u003c\/strong\u003e cuts profit by about \u003cstrong\u003e$98K\u003c\/strong\u003e at Year 2 revenue and \u003cstrong\u003e$579K\u003c\/strong\u003e at Year 5 revenue, which directly reduces cash available for owner pay.\u003c\/p\u003e\n    \u003cp\u003eThe main inputs are contract value, subcontract bids, material takeoffs, labor hours, QC spend, software spend, and rework rate. The model puts project-specific software at \u003cstrong\u003e4% to 2%\u003c\/strong\u003e of revenue and external quality control at \u003cstrong\u003e3% to 2%\u003c\/strong\u003e. One-liner: small cost leaks become big owner-income leaks.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row3\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack the cost leak weekly\u003c\/h3\u003e\n      \u003cp\u003eUse a job-cost sheet that compares budget vs actual for labor, subs, materials, software, QC, and rework. Track \u003cstrong\u003ecost overrun %\u003c\/strong\u003e, \u003cstrong\u003echange-order recovery\u003c\/strong\u003e, and \u003cstrong\u003egross profit by job\u003c\/strong\u003e so you can see which projects protect owner distributions and which ones quietly burn cash.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eLock subcontractor quotes early.\u003c\/li\u003e\n        \u003cli\u003eMatch buys to the schedule.\u003c\/li\u003e\n        \u003cli\u003eApprove change orders before work starts.\u003c\/li\u003e\n        \u003cli\u003eCheck rework on every closeout.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eIf software and QC stay inside the \u003cstrong\u003e4% to 2%\u003c\/strong\u003e and \u003cstrong\u003e3% to 2%\u003c\/strong\u003e ranges, the business keeps more gross profit and the owner can take steadier draws without starving the next job.\u003c\/p\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;\"\u003eOverhead And Staffing Structure\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"right-row4\"\u003e\n\u003ch3\u003eOverhead And Staffing Load\u003c\/h3\u003e\n\u003cp\u003eOwner take-home is what is left after \u003cstrong\u003egross profit\u003c\/strong\u003e pays office rent, utilities, insurance, software, professional services, vehicles, and payroll. The model sets fixed overhead at \u003cstrong\u003e$83K per month\u003c\/strong\u003e or \u003cstrong\u003e$996K per year\u003c\/strong\u003e, so the business must clear that before owner pay starts. One clean rule: if gross profit slips, the owner gets paid last.\u003c\/p\u003e\n\u003cp\u003eThe staffing plan adds project management, estimating, coordination, admin, and marketing. The model lists payroll at \u003cstrong\u003e$3,425K\u003c\/strong\u003e in Year 1 and \u003cstrong\u003e$700K\u003c\/strong\u003e in Year 5, so check the ramp carefully because headcount changes cash needs fast. More staff helps capacity, but it also locks in monthly cash outflow.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row4\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Overhead Before You Add Headcount\u003c\/h3\u003e\n\u003cp\u003eMeasure overhead as a share of monthly gross profit, not revenue. Here’s the quick math: \u003cstrong\u003egross profit - fixed overhead = cash available for the owner\u003c\/strong\u003e. If that spread stays thin, hiring another estimator or coordinator can push owner pay out even when sales look strong.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eTrack rent, software, vehicles.\u003c\/li\u003e\n\u003cli\u003eApprove hires from backlog coverage.\u003c\/li\u003e\n\u003cli\u003eBudget payroll by role.\u003c\/li\u003e\n\u003cli\u003eReview monthly cash, not annual profit.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eTest each new role against booked work, not hoped-for work. If project volume slows, trim discretionary spend first and protect the roles tied to estimating, project control, and collections so overhead supports delivery without starving the owner’s 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 step4\"\u003e4\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eProject Mix And Scheduling Capacity\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row5\"\u003e\n\u003ch3\u003eProject Mix and Schedule Load\u003c\/h3\u003e\n\u003cp\u003eProject mix drives owner income because it changes how much revenue each job can support, how much supervision it needs, and how many jobs can run at once. In this model, the mix shifts from \u003cstrong\u003e60% residential renovation\u003c\/strong\u003e, \u003cstrong\u003e25% custom home build\u003c\/strong\u003e, and \u003cstrong\u003e15% project oversight\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e40%\u003c\/strong\u003e, \u003cstrong\u003e45%\u003c\/strong\u003e, and \u003cst rong\u003e15% by Year 5.\u003c\/st\u003e\u003c\/p\u003e\n\u003cp\u003eHere’s the quick math: weighted priced hours rise from about \u003cstrong\u003e$7,455\u003c\/strong\u003e to \u003cstrong\u003e$12,790 per customer unit\u003c\/strong\u003e using model hours and hourly prices. That helps revenue, but only if subcontractor availability, owner approvals, and schedule gaps stay tight. If jobs stall, cash comes in later and the owner’s draw gets squeezed even when booked revenue looks strong.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row5\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Capacity, Not Just Backlog\u003c\/h3\u003e\n\u003cp\u003eMeasure \u003cstrong\u003econcurrent active jobs\u003c\/strong\u003e, approval cycle time, and subcontractor fill rate on every project. If a renovation needs fewer priced hours but more hand-holding, it can still hurt margin by tying up the owner and project manager. The goal is to keep the mix that lifts revenue per job without creating dead time between trades.\u003c\/p\u003e\n\u003cp\u003eUse a simple schedule test: when a job slips, log the cause, the days lost, and the cash delay. Then compare planned versus actual hours by project type. A one-line rule helps: \u003cstrong\u003emore custom-home work means more supervision, more timing risk, and bigger cash swings\u003c\/strong\u003e, so price that load before it hits owner pay.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eTrack approved hours by project type.\u003c\/li\u003e\n\u003cli\u003eWatch subcontractor gaps weekly.\u003c\/li\u003e\n\u003cli\u003ePrice owner approvals into the schedule.\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;\"\u003eReserves And Working Capital\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row6\"\u003e\n    \u003ch3\u003eWorking Capital Reserve\u003c\/h3\u003e\n    \u003cp\u003eOwner pay here depends on how much profit must stay in the business to cover \u003cstrong\u003epayroll timing\u003c\/strong\u003e, \u003cstrong\u003esupplier bills\u003c\/strong\u003e, \u003cstrong\u003eretainage\u003c\/strong\u003e (cash held back until closeout), warranties, future bids, and slow collections. The model shows \u003cstrong\u003eMonth 15 breakeven\u003c\/strong\u003e, a \u003cstrong\u003e29-month payback\u003c\/strong\u003e, and a \u003cstrong\u003e$641K\u003c\/strong\u003e minimum cash need in \u003cstrong\u003eMonth 16\u003c\/strong\u003e. That means profit on paper is not fully available for draw.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003eCash first, owner draw second.\u003c\/strong\u003e First-year capex of \u003cstrong\u003e$153K\u003c\/strong\u003e, including two company vehicles and office setup, also pulls cash out before it can reach the owner. If billing lags or collections stretch, take-home income drops even when projects are profitable, because the reserve has to stay in the business to keep jobs moving.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row6\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack the Cash Gap\u003c\/h3\u003e\n      \u003cp\u003eBuild the reserve from the timing inputs that actually move cash: \u003cstrong\u003ebillings by month\u003c\/strong\u003e, \u003cstrong\u003ecollect days\u003c\/strong\u003e, retainage %, payroll dates, supplier due dates, warranty holdback, and capex. Days sales outstanding (DSO) is the average days from invoice to cash, and it matters here because slower cash-in means less owner income available now.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eWatch weekly cash balance\u003c\/li\u003e\n        \u003cli\u003eSeparate reserve from draw\u003c\/li\u003e\n        \u003cli\u003ePause draws if cash dips\u003c\/li\u003e\n        \u003cli\u003eTrack retainage aging closely\u003c\/li\u003e\n        \u003cli\u003eForecast payroll before billing\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eUse the \u003cstrong\u003e$641K\u003c\/strong\u003e Month 16 cash need as the floor, not the target for extra spending. If collections speed up, reserve pressure eases and owner pay can rise; if they slow, profit must stay inside the business so you don’t miss payroll or delay jobs.\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 owner-income scenarios\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-scenario-table\" aria-label=\"General Contractor Owner Income Scenarios\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\" data-source-title=\"General Contractor Owner Income Scenarios\" data-note-label=\"Planning note\" data-note-text=\"These 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 a lot here because the model starts with a Year 1 loss, then scales to strong EBITDA as revenue climbs from about $383K to $5.79M.\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\u003eCompare low, base, and high owner pay assumptions for a general contractor.\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\"\u003eLow Case\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\"\u003eBase Case\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\"\u003eHigh Case\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=\"The owner stays near a funded salary path while the business runs at a Year 1 loss.\"\u003eThe owner stays near a funded salary path while the business runs at a Year 1 loss.\u003c\/td\u003e\n\u003ctd data-export-value=\"The owner gets a modeled salary plus growing profit as the business moves into positive EBITDA.\"\u003eThe owner gets a modeled salary plus growing profit as the business moves into positive EBITDA.\u003c\/td\u003e\n\u003ctd data-export-value=\"The owner takes a stronger income path as the business reaches mature-year scale and larger EBITDA.\"\u003eThe owner takes a stronger income path as the business reaches mature-year scale and larger EBITDA.\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=\"Revenue is about $383K, contribution margin is about 76%, and fixed wage load is about $442.1K, so cash support is still needed.\"\u003eRevenue is about $383K, contribution margin is about 76%, and fixed wage load is about $442.1K, so cash support is still needed.\u003c\/td\u003e\n\u003ctd data-export-value=\"Revenue rises to about $1.96M, contribution margin is about 80.5%, and fixed wage load is about $624.6K, which supports a steadier draw.\"\u003eRevenue rises to about $1.96M, contribution margin is about 80.5%, and fixed wage load is about $624.6K, which supports a steadier draw.\u003c\/td\u003e\n\u003ctd data-export-value=\"Revenue reaches about $5.79M, contribution margin is about 85%, and fixed wage load is about $799.6K, leaving more room for owner pay and reserves.\"\u003eRevenue reaches about $5.79M, contribution margin is about 85%, and fixed wage load is about $799.6K, leaving more room for owner pay and reserves.\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=\"Year 1 loss; $150K principal salary; $442.1K fixed plus wage load; 76% contribution margin; 60% renovation mix\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 1 loss\u003c\/li\u003e\n\u003cli\u003e$150K principal salary\u003c\/li\u003e\n\u003cli\u003e$442.1K fixed plus wage load\u003c\/li\u003e\n\u003cli\u003e76% contribution margin\u003c\/li\u003e\n\u003cli\u003e60% renovation mix\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 3 scale-up; $1.96M revenue; 80.5% contribution margin; $624.6K fixed plus wage load; shifting mix to custom builds\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 3 scale-up\u003c\/li\u003e\n\u003cli\u003e$1.96M revenue\u003c\/li\u003e\n\u003cli\u003e80.5% contribution margin\u003c\/li\u003e\n\u003cli\u003e$624.6K fixed plus wage load\u003c\/li\u003e\n\u003cli\u003eshifting mix to custom builds\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 5 scale; $5.79M revenue; 85% contribution margin; $799.6K fixed plus wage load; higher custom build share\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 5 scale\u003c\/li\u003e\n\u003cli\u003e$5.79M revenue\u003c\/li\u003e\n\u003cli\u003e85% contribution margin\u003c\/li\u003e\n\u003cli\u003e$799.6K fixed plus wage load\u003c\/li\u003e\n\u003cli\u003ehigher custom build share\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=\"$0 - $150,000\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$0 - $150,000\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eLow income\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$150,000 - $300,000\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$150,000 - $300,000\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eBase income\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$300,000 - $600,000\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$300,000 - $600,000\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eHigh income\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 if you want a conservative start-up case with funding still required.\"\u003eUse this if you want a conservative start-up case with funding still required.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this as the main planning case for a staffed, growing contractor.\"\u003eUse this as the main planning case for a staffed, growing contractor.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this to test upside if volume stays strong and overhead stays controlled.\"\u003eUse this to test upside if volume stays strong and overhead stays controlled.\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 These 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":49303868637427,"sku":"general-contractor-owner-makes","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/general-contractor-owner-makes.webp?v=1782683301","url":"https:\/\/financialmodelslab.com\/products\/general-contractor-owner-makes","provider":"Financial Models Lab","version":"1.0","type":"link"}